hola,

la verdad tengo una consulta basada en un codigo que implemente que no me gusta 
para nada como quedo, pero no se me ocurre muy bien como optimizarlo.

El codigo que tengo es el siguiente:

    enum VariableEnum
    {
        Profolio = 1,
        Kits = 2,
        Facturación = 3,
        Lanzamientos = 4,
        AccionesEspeciales = 5,
        Compras = 7,
        Cartera12Meses = 8,
        CoberturaMeses = 9,
        CategorizacionOtros = 10,
        NivelEjecucionPortfolio = 12,
        Cartera = 13
    }
    
    
    
    internal class ExcelVariablePosition
    {
        public string Cartera { get { return "11"; } }
        public string Cartera12Meses { get { return "12"; } }
        public string CoberturaMeses { get { return "13"; } }
        public string CategorizacionOtros { get { return "14"; } }
        public string NivelEjecucionPortfolio { get { return "15"; } }
        public string Profolio { get { return "18"; } }
        public string Lanzamientos { get { return "20"; } }
        public string Kits { get { return "22"; } }
        public string AccionesEspeciales { get { return "24"; } }
        public string Compras { get { return "26"; } }
        public string Facturación { get { return "30"; } }


        #region GetValueByType

        public string GetValueByType(VariableEnum var)
        {
            string valor = "";

            switch (var)
            {
                case VariableEnum.Cartera:
                    valor = this.Cartera;
                    break;
                case VariableEnum.Cartera12Meses:
                    valor = this.Cartera12Meses;
                    break;
                case VariableEnum.CoberturaMeses:
                    valor = this.CoberturaMeses;
                    break;
                case VariableEnum.CategorizacionOtros:
                    valor = this.CategorizacionOtros;
                    break;
                case VariableEnum.NivelEjecucionPortfolio:
                    valor = this.NivelEjecucionPortfolio;
                    break;
                case VariableEnum.Profolio:
                    valor = this.Profolio;
                    break;
                case VariableEnum.Lanzamientos:
                    valor = this.Lanzamientos;
                    break;
                case VariableEnum.Kits:
                    valor = this.Kits;
                    break;
                case VariableEnum.AccionesEspeciales:
                    valor = this.AccionesEspeciales;
                    break;
                case VariableEnum.Compras:
                    valor = this.Compras;
                    break;
                case VariableEnum.Facturación:
                    valor = this.Facturación;
                    break;
            }

            return valor;
        }
        #endregion

    }

como veran se trata de un enum, y segun este obtengo posiciones que luego seran 
utilizadas como veran en Excel para ubicar cierto dato.

Se puede recuperar tanto por enum, como por acceso a la propeidad directamente.

Basicamente la clase me resuelve posicionamiento en el excel, el procesamiento 
se realiza en otro lado, utilizando la info de esta clase.

la pregunta es se puede eliminar el switch gigante ?

Si se que diran que las posiciones tan fijas en el codigo, porque no utilizo un 
archivo de configuracion y las leo de ahi, lo habia pensado, pero no se si vale 
la pena arma seccion en el config para algo que una vez terminado nunca mas se 
movera de lugar en el excel, y si algo cambia compilar y hacer un deploy de la 
dll cuenta nada.

gracias
saludos



      Yahoo! Cocina

Encontra las mejores recetas con Yahoo! Cocina.


http://ar.mujer.yahoo.com/cocina/

Responder a