public static double GetPuntos(int empresa, DateTime comprobante, double monto) { var puntos = 0d; var config = 0d; if (empresa == int.Parse(Section["Ola"])) { config = Double.Parse(ConfigurationManager.AppSettings["puntosOla"]); } else { config = Double.Parse(ConfigurationManager.AppSettings["puntosCambio"]); } var reglas = ActiveRecordBase <ReglasDto> .FindAll() .Where(x => x.Key.CodEmpresa == empresa) .Where(x => x.Key.Sucursal == HelperSucursal.GetSucursal()) .Where(x => x.Key.FechaInicio <= comprobante) .Where(x => x.FechaFin == null || x.FechaFin > comprobante) .ToList(); foreach (var regla in reglas) { var modificador = monto * Convert.ToDouble(regla.Multiplicador); puntos = puntos + modificador; } return(puntos > 0? puntos : (monto * (config / 100))); }
public static double GetPuntos(int empresa, DateTime comprobante, double monto) { var puntos = 0d; var reglas = ActiveRecordBase <ReglasDto> .FindAll() .Where(x => x.Key.CodEmpresa == empresa) .Where(x => x.Key.Sucursal == HelperSucursal.GetSucursal()) .Where(x => x.Key.FechaInicio <= comprobante) .Where(x => x.FechaFin == null || x.FechaFin > comprobante) .ToList(); foreach (var regla in reglas) { var modificador = monto * Convert.ToDouble(regla.Multiplicador); puntos = puntos + modificador; } return(puntos); }