/// <summary>
        /// Agregar unidades del artículo en el inventario. Si no existe en la BBDD, retorna false.
        /// </summary>
        /// <param name="cantidad">Cantidad a añadir.</param>
        /// <returns></returns>
        public bool AgregarInventario(int cantidad)
        {
            int?id = this.Id;

            //Si el artículo no tiene id, no se le pueden agregar unidades.
            if (id == null)
            {
                return(false);
            }

            string query =
                "INSERT INTO c_articulos (fechaHora, idArticulo, cantidad) " +
                "VALUES( @FechaHora, @IdArticulo, @Cantidad )";

            BDCon con = new BDCon(query);

            con.PasarParametros("FechaHora", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));
            con.PasarParametros("IdArticulo", id);
            con.PasarParametros("IdArticulo", cantidad);

            //Ejecuta el comando y verifica la cantidad de registros afectados
            if (con.EjecutarComando() > 0)
            {
                return(true);
            }

            //Si no hubo registros por alguna razón, arroja false
            return(false);
        }
        /// <summary>
        /// Actualiza los datos de un artículo en los campos asociados al id.
        /// </summary>
        /// <param name="id">ID del artículo.</param>
        /// <param name="articulo">Instancia con datos a refrescar.</param>
        /// <returns></returns>
        public static void ActualizarDatosById(int id, Articulo articulo)
        {
            //Borrar artículo y precios de la BD
            string query =
                "DELETE FROM c_articulos WHERE id = @Id;" +
                "DELETE FROM c_articulos_precios WHERE idArticulo = @Id;";
            BDCon con = new BDCon(query);

            con.PasarParametros("Id", id);
            con.EjecutarComando();

            //Registrar de nuevo artículo de la BD, con el mismo id
            query =
                "INSERT INTO c_articulos (id,descripcion,precioDolar,costoDolar,codBarras,activo) " +
                "VALUES( @Id, @Descripcion, @PrecioDolar, @CostoDolar, @CodBarras, @Activo )";
            con = new BDCon(query);

            con.PasarParametros("Id", id);
            con.PasarParametros("Descripcion", articulo.Descripcion);
            con.PasarParametros("PrecioDolar", articulo.PrecioDolar);
            con.PasarParametros("CostoDolar", articulo.CostoDolar);
            con.PasarParametros("CodBarras", articulo.CodBarras);
            con.PasarParametros("Activo", true);

            //Registrar el artículo
            con.EjecutarComando();

            //Volver a registrar sus precios
            articulo.RegistraPreciosArticulo();
        }
        /// <summary>
        /// Registra el artículo y sus precios en la base de datos, con el estado de actividad indicado.
        /// </summary>
        /// <param name="articulo">Artículo a registrar.</param>
        /// <param name="activo">Activo o Inactivo.</param>
        /// <returns></returns>
        public bool RegistraDatosArticulo(bool activo)
        {
            //Si el artículo tiene id, es porque ya está registrado.
            if (this.Id != null)
            {
                return(true);
            }

            string query =
                "INSERT INTO c_articulos (descripcion,precioDolar,costoDolar,codBarras,activo) " +
                "VALUES( @Descripcion, @PrecioDolar, @CostoDolar, @CodBarras, @Activo )";
            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);
            con.PasarParametros("Activo", activo);

            //Ejecuta el comando y verifica la cantidad de registros afectados
            if (con.EjecutarComando() > 0)
            {
                return(true);
            }

            //Si no hubo registros por alguna razón, arroja false
            return(false);
        }
        /// <summary>
        /// Registrar instancia de moneda en la base de datos.
        /// </summary>
        /// <returns></returns>
        public bool RegistraTipoPago()
        {
            //Si ya existe, no la creo y retorno true.
            if (ValidaTipoPago())
            {
                return(true);
            }

            string query =
                "INSERT INTO c_tipopagos (descripcion,idMoneda,aplicaDescuento) " +
                "VALUES( @Descripcion, @IdMoneda, @AplicaDescuento )";
            BDCon con = new BDCon(query);

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

            int aplicaDescuento = 0;

            if (this.aplicaDescuento == true)
            {
                aplicaDescuento = 1;
            }
            con.PasarParametros("AplicaDescuento", aplicaDescuento);

            //Ejecuta el comando y verifica la cantidad de registros afectados
            if (con.EjecutarComando() > 0)
            {
                return(true);
            }

            //Si no hubo registros por alguna razón, arroja false
            return(false);
        }
Exemple #5
0
        /// <summary>
        /// Registrar instancia de moneda en la base de datos.
        /// </summary>
        /// <returns></returns>
        public bool RegistraMoneda()
        {
            //Si ya existe, no la creo y retorno true.
            if (ValidaMoneda())
            {
                return(true);
            }

            string query =
                "INSERT INTO c_monedas (descripcion,simbolo) " +
                "VALUES( @Descripcion, @Simbolo )";
            BDCon con = new BDCon(query);

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

            //Ejecuta el comando y verifica la cantidad de registros afectados
            if (con.EjecutarComando() > 0)
            {
                return(true);
            }

            //Si no hubo registros por alguna razón, arroja false
            return(false);
        }
Exemple #6
0
        /// <summary>
        /// Registra la instancia en la base de datos.
        /// </summary>
        /// <returns>Verdadero si logra hacer el registro</returns>
        public bool RegistrarTasa()
        {
            string query =
                "INSERT INTO c_tasa (tasaDolar,porcentajeEfectivo,fecha,hora) " +
                "VALUES( @TasaDolar, @PorcentajeEfectivo, @Fecha, @Hora )";
            BDCon con = new BDCon(query);

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

            //Ejecuta el comando y verifica la cantidad de registros afectados
            if (con.EjecutarComando() > 0)
            {
                return(true);
            }

            //Si no hubo registros por alguna razón, arroja false
            return(false);
        }
        /// <summary>
        /// Registra los precios asociados al artículo en la base de datos.
        /// </summary>
        /// <param name="articulo">Artículo con precios inicializados.</param>
        /// <returns></returns>
        public void RegistraPreciosArticulo()
        {
            //Si el artículo no tiene id, entonces no ha sido registrado.
            int?id = this.Id;

            if (id == null)
            {
                //Retorno, indicando que no se pueden registrar sus precios.
                return;
            }

            decimal[]  preciosRedondos   = this.PreciosRedondos.ToArray();
            decimal[]  preciosCalculados = this.PreciosCalculados.ToArray();
            TipoPago[] tiposPago         = this.TiposDePago.ToArray();

            #region Variables auxiliares
            string query;
            BDCon  con;
            #endregion

            for (int i = 0; i < preciosRedondos.Length; i++)
            {
                //Construyo el query
                query =
                    "INSERT INTO c_articulos_precios (idArticulo,idTipoPago,precioCalculado,precioRedondo) " +
                    "VALUES( @IdArticulo, @IdTipoPago, @PrecioCalculado, @PrecioRedondo )";
                con = new BDCon(query);

                //Id del artículo
                con.PasarParametros("IdArticulo", id);
                //Id del tipo de pago de turno en el ciclo
                con.PasarParametros("IdTipoPago", tiposPago[i].Id);
                //Precios correspondientes que se asociaron al tipo de pago en cuestión
                con.PasarParametros("PrecioCalculado", preciosCalculados[i]);
                con.PasarParametros("PrecioRedondo", preciosRedondos[i]);

                //Ejecuto el comando
                con.EjecutarComando();
            }
        }