/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }