예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <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);
        }