/// <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);
            }
        }
Exemple #2
0
        private void BtnCambiarTasas_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            //Muestro al usuario el control para cambiar tasa
            TasaModificar modificar = new TasaModificar();

            modificar.ShowDialog();

            //Si canceló la operación, retorno
            if (!modificar.Valido)
            {
                return;
            }

            //Registro la nueva tasa
            Tasa tasa = new Tasa(modificar.CampoTasa, modificar.CampoPorcentaje, DateTime.Now);

            if (!tasa.RegistrarTasa())
            {
                App.MensajeModal("Error al registrar la tasa.", this);
            }
            else
            {
                //Tasa Registrada con exito, así que la actualizo en la vista.
                ConsultarTasa();

                //Instanciar worker para actualizar Precios en BBDD.
                BackgroundWorker actualizadorBD = new BackgroundWorker();
                actualizadorBD.DoWork             += ActualizadorBD_DoWork;
                actualizadorBD.RunWorkerCompleted += ActualizadorBD_RunWorkerCompleted;
                actualizadorBD.RunWorkerAsync();
            }
        }
        private void ConsultarTasa()
        {
            Tasa tasa = Tasa.ConsultarTasa();

            txtTasaDolar.Text       = "Bs.S. " + tasa.ValorDolar.ToString("#,0.00");
            txtTasaEfectivo.Text    = Convert.ToInt16(tasa.PorcentajeEfect).ToString() + "% de ganancia";
            txtFechaCambioTasa.Text = tasa.Fecha;
            txtHoraCambioTasa.Text  = tasa.Hora;
        }
        public TasaModificar()
        {
            InitializeComponent();

            //Consultar la tasa actual
            Tasa tasa = Tasa.ConsultarTasa();

            //Colocar la tasa actual en los controles
            this.txtTasa.Value       = Convert.ToDouble(tasa.ValorDolar);
            this.txtPorcentaje.Value = Convert.ToDouble(tasa.PorcentajeEfect);

            //Enfocar campo de texto
            this.txtTasa.Focus();
        }
Exemple #5
0
        /// <summary>
        /// Consultar la última tasa registrada.
        /// </summary>
        /// <returns>Última tasa registrada.</returns>
        public static Tasa ConsultarTasa()
        {
            string query =
                "SELECT * FROM c_tasa ORDER BY id DESC LIMIT 1";

            BDCon            con = new BDCon(query);
            SQLiteDataReader dr  = con.ComandoSqlite().ExecuteReader();

            dr.Read();

            Tasa tasa =
                new Tasa(
                    Convert.ToDecimal(dr["tasaDolar"]),
                    Convert.ToDecimal(dr["porcentajeEfectivo"]),
                    Convert.ToString(dr["fecha"]),
                    Convert.ToString(dr["hora"]));

            dr.Close();

            return(tasa);
        }