/// <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);
        }
        /// <summary>
        /// Actualiza los precios de los artículos según la tasa actual.
        /// </summary>
        public static void ActualizarPreciosBBDD()
        {
            //Armando consulta a BBDD.
            string           query = "SELECT * FROM c_articulos";
            BDCon            con   = new BDCon(query);
            SQLiteDataReader dr    = con.ComandoSqlite().ExecuteReader();

            #region Variables Auxiliares
            Articulo articulo;
            int      id;
            string   descripcion, codBarras;
            decimal  costoDolar, precioDolar;
            #endregion

            //Mientras hayan artículos leídos
            while (dr.Read())
            {
                //Obtengo valores para Artículo
                id          = Convert.ToInt32(dr["id"]);
                descripcion = (string)dr["descripcion"];
                codBarras   = (string)dr["codBarras"];
                precioDolar = Convert.ToDecimal(dr["precioDolar"]);
                costoDolar  = Convert.ToDecimal(dr["costoDolar"]);

                //Instanciar artículo y guardo sus datos en base de datos
                articulo = new Articulo(descripcion, costoDolar, precioDolar, codBarras);

                //Actualizar del artículo para refrescar su precio
                Articulo.ActualizarDatosById(id, articulo);
            }

            //Cierro para prevenir errores
            dr.Close();
        }
        /// <summary>
        /// Verifica la existencia de la instancia en la base de datos. Retorna el id del artículo
        /// </summary>
        /// <returns></returns>
        private int?ValidaIdArticulo()
        {
            string query =
                "SELECT id FROM c_articulos WHERE " +
                "descripcion = @Descripcion AND " +
                "precioDolar = @PrecioDolar AND " +
                "costoDolar  = @CostoDolar  AND " +
                "codBarras   = @CodBarras";

            BDCon con = new BDCon(query);

            con.PasarParametros("Descripcion", this.descripcion);
            con.PasarParametros("PrecioDolar", this.precioDolar);
            con.PasarParametros("CostoDolar", this.costoDolar);
            con.PasarParametros("CodBarras", this.codBarras);

            SQLiteDataReader dr = con.ComandoSqlite().ExecuteReader();

            //Si existe un artículo con exactamente los mismos valores,
            //Se retorna el id.
            if (dr.Read())
            {
                int id = Convert.ToInt32(dr["id"]);
                dr.Close();
                return(id);
            }

            dr.Close();

            //Si no existe, retorno null para indicar inexistencia
            return(null);
        }
        /// <summary>
        /// Verifica la existencia de la instancia en la base de datos.
        /// </summary>
        /// <returns></returns>
        private bool ValidaTipoPago()
        {
            string query =
                "SELECT * FROM c_tipopagos WHERE " +
                "descripcion = @Descripcion AND " +
                "idMoneda = @IdMoneda";

            BDCon con = new BDCon(query);

            con.PasarParametros("Descripcion", this.descripcion);
            con.PasarParametros("IdMoneda", this.moneda.Id);

            SQLiteDataReader dr = con.ComandoSqlite().ExecuteReader();

            dr.Read();

            //Si existe un tipo de pago con exactamente los mismos valores,
            //Se retorna verdadero.
            if (dr.HasRows)
            {
                dr.Close();
                return(true);
            }

            dr.Close();
            return(false);
        }
Exemple #5
0
        /// <summary>
        /// Verifica la existencia de la tasa en la base de datos.
        /// </summary>
        /// <returns></returns>
        private bool ValidarTasa()
        {
            string query =
                "SELECT * FROM c_tasa WHERE " +
                "tasaDolar = @TasaDolar AND " +
                "porcentajeEfectivo = @PorcentajeEfectivo AND " +
                "fecha = @Fecha AND " +
                "hora = @Hora";

            BDCon con = new BDCon(query);

            con.PasarParametros("TasaDolar", tasaDolar);
            con.PasarParametros("PorcentajeEfectivo", porcentajeEfect);
            con.PasarParametros("Fecha", fecha);
            con.PasarParametros("Hora", hora);

            SQLiteDataReader dr = con.ComandoSqlite().ExecuteReader();

            dr.Read();

            //Si existe una tasa con exactamente los mismos valores,
            //Se retorna verdadero.
            if (dr.HasRows)
            {
                dr.Close();
                return(true);
            }

            dr.Close();
            return(false);
        }
Exemple #6
0
        /// <summary>
        /// Verifica la existencia de la instancia en la base de datos.
        /// </summary>
        /// <returns></returns>
        private bool ValidaMoneda()
        {
            string query =
                "SELECT * FROM c_monedas WHERE " +
                "descripcion = @Descripcion AND " +
                "simbolo = @Simbolo";

            BDCon con = new BDCon(query);

            con.PasarParametros("Descripcion", this.descripcion);
            con.PasarParametros("Simbolo", this.simbolo);

            SQLiteDataReader dr = con.ComandoSqlite().ExecuteReader();

            dr.Read();

            //Si existe una moneda con exactamente los mismos valores,
            //Se retorna verdadero.
            if (dr.HasRows)
            {
                dr.Close();
                return(true);
            }

            dr.Close();
            return(false);
        }
Exemple #7
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);
        }
Exemple #8
0
        /// <summary>
        /// Devuelve instancia de moneda dado un id de la BBDD. Si no existe, retorna null.
        /// </summary>
        /// <param name="id">Id de la moneda</param>
        /// <returns></returns>
        public static Moneda MonedaById(int id)
        {
            Moneda moneda = null;

            //Construyo la consulta
            string query = "SELECT * FROM c_monedas WHERE id = @Id";
            BDCon  con   = new BDCon(query);

            con.PasarParametros("Id", id);
            SQLiteDataReader dr = con.ComandoSqlite().ExecuteReader();

            //Si existe el objeto consultado, lo instancio
            if (dr.Read())
            {
                moneda = new Moneda((string)dr["descripcion"], (string)dr["simbolo"]);
            }

            //Cierro para prevenir errores
            dr.Close();

            return(moneda);
        }
        /// <summary>
        /// Consulta si un artículo está activo o inactivo.
        /// </summary>
        /// <param name="id">Id del artículo a consultar</param>
        /// <returns></returns>
        public static bool ActivoById(int id)
        {
            //Construyendo consulta
            string query =
                "SELECT * FROM c_articulos WHERE id = @Id AND activo = 1";
            BDCon con = new BDCon(query);

            con.PasarParametros("Id", id);
            SQLiteDataReader dr = con.ComandoSqlite().ExecuteReader();

            dr.Read();

            //Si existe un artículo activo con dicha Id,
            //Se retorna verdadero.
            if (dr.HasRows)
            {
                dr.Close();
                return(true);
            }

            dr.Close();
            return(false);
        }