/// <summary> /// Actualiza los precios calculados y redondeados. /// </summary> private void ActualizarPrecios() { //Consulto tasa Tasa tasa = Tasa.ConsultarTasa(); //Enlisto los tipo de pago disponibles tiposDePago = TipoPago.TiposDisponibles(); //Inicializo las listas de precios preciosCalculados = new List <decimal>(); preciosRedondos = new List <decimal>(); decimal precioCalculado, precioRedondo; //Por cada tipo de pago, calculo su precio convertido foreach (TipoPago pago in tiposDePago) { precioCalculado = precioDolar * tasa.ValorDolar; if (pago.AplicaDescuento) { precioCalculado = (precioCalculado * 100) / (tasa.PorcentajeEfect + 100); } //Redondea basada en la configuración del usuario precioRedondo = RedondeaArriba(precioCalculado, Properties.Settings.Default.FactorRedondeo); //Añado precios a la lista preciosCalculados.Add(precioCalculado); preciosRedondos.Add(precioRedondo); } }
/// <summary> /// Devuelve una lista con los tipos de pago disponibles en la BBDD. /// </summary> /// <returns></returns> public static List <TipoPago> TiposDisponibles() { List <TipoPago> disponibles = new List <TipoPago>(); TipoPago pago; Moneda moneda; string query = "SELECT * FROM c_tipopagos"; BDCon con = new BDCon(query); SQLiteDataReader dr = con.ComandoSqlite().ExecuteReader(); //Mientras haya registros disp. en la consulta. while (dr.Read()) { //Obtengo instancia de la moneda asociada moneda = Moneda.MonedaById(Convert.ToInt32(dr["idMoneda"])); //Determino si aplica para descuento o no bool aplicaDescuento = false; if (Convert.ToInt32(dr["aplicaDescuento"]) == 1) { aplicaDescuento = true; } //Obtengo instancia con la descripción y moneda asociada pago = new TipoPago((string)dr["descripcion"], moneda, aplicaDescuento); //Añado el pago a los disponibles disponibles.Add(pago); } //Cierro para prevenir errores. dr.Close(); return(disponibles); }