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/