예제 #1
0
        public override int crear(object o)
        {
            Venta venta       = (Venta)o;
            int   lastIdVenta = 0;

            try
            {
                if (conexionPostgreSql.abrirConexion())
                {
                    string        consulta = "INSERT INTO venta(total, fecha, anulada) VALUES(@Total, @Fecha, @Anulada) RETURNING idventa";
                    NpgsqlCommand command  = new NpgsqlCommand(consulta, conexionPostgreSql.retornarConexion());
                    command.Parameters.Add("@Total", NpgsqlTypes.NpgsqlDbType.Integer);
                    command.Parameters.Add("@Fecha", NpgsqlTypes.NpgsqlDbType.Timestamp);
                    command.Parameters.Add("@Anulada", NpgsqlTypes.NpgsqlDbType.Boolean);
                    command.Parameters[0].Value = venta.Total;
                    command.Parameters[1].Value = venta.Fecha;
                    command.Parameters[2].Value = venta.Anulada;
                    lastIdVenta = Convert.ToInt32(command.ExecuteScalar());
                    conexionPostgreSql.cerrarConexion();
                }
            }
            catch (NpgsqlException ex)
            {
                MessageBox.Show(ex.ToString());
            }
            return(lastIdVenta);
        }
        public override int crear(object o)
        {
            DetalleVenta detalleVenta = (DetalleVenta)o;

            this.filasAfectadas = 0;
            try
            {
                if (conexionPostgreSql.abrirConexion())
                {
                    string consulta = "INSERT INTO detalleventa(idventa, idproducto, precioventa, cantidad, subtotal, anulado) "
                                      + "VALUES(@IdVenta, @IdProducto, @PrecioVenta, @Cantidad, @SubTotal, @Anulado)";
                    NpgsqlCommand command = new NpgsqlCommand(consulta, conexionPostgreSql.retornarConexion());
                    command.Parameters.Add("@IdVenta", NpgsqlTypes.NpgsqlDbType.Integer);
                    command.Parameters.Add("@IdProducto", NpgsqlTypes.NpgsqlDbType.Varchar, 20);
                    command.Parameters.Add("@PrecioVenta", NpgsqlTypes.NpgsqlDbType.Integer);
                    command.Parameters.Add("@Cantidad", NpgsqlTypes.NpgsqlDbType.Integer);
                    command.Parameters.Add("@SubTotal", NpgsqlTypes.NpgsqlDbType.Integer);
                    command.Parameters.Add("@Anulado", NpgsqlTypes.NpgsqlDbType.Boolean);
                    command.Parameters[0].Value = detalleVenta.IdVenta;
                    command.Parameters[1].Value = detalleVenta.IdProducto;
                    command.Parameters[2].Value = detalleVenta.PrecioVenta;
                    command.Parameters[3].Value = detalleVenta.Cantidad;
                    command.Parameters[4].Value = detalleVenta.SubTotal;
                    command.Parameters[5].Value = detalleVenta.Anulado;
                    this.filasAfectadas         = command.ExecuteNonQuery();

                    string        consultaStock = "UPDATE producto SET stock = stock - " + detalleVenta.Cantidad + " WHERE idproducto = '" + detalleVenta.IdProducto + "'";
                    NpgsqlCommand commandStock  = new NpgsqlCommand(consultaStock, conexionPostgreSql.retornarConexion());
                    this.filasAfectadas += commandStock.ExecuteNonQuery();
                    conexionPostgreSql.cerrarConexion();
                }
            }
            catch (NpgsqlException ex)
            {
                MessageBox.Show(ex.ToString());
            }
            return(this.filasAfectadas);
        }
        public override int crear(object o)
        {
            Producto producto = (Producto)o;

            this.filasAfectadas = 0;
            try
            {
                if (conexionPostgreSql.abrirConexion())
                {
                    string consulta = "INSERT INTO producto(idproducto, idcategoria, nombre, descripcion, stock, preciocompra, precioventa) "
                                      + "VALUES(" + producto.IdProducto + "," + producto.IdCategoria + ", '" + producto.Nombre + "','" + producto.Descripcion
                                      + "', " + producto.Stock + ", " + producto.PrecioCompra + ", " + producto.PrecioVenta + ")";
                    NpgsqlCommand command = new NpgsqlCommand(consulta, conexionPostgreSql.retornarConexion());
                    this.filasAfectadas = command.ExecuteNonQuery();
                    conexionPostgreSql.cerrarConexion();
                }
            }
            catch (NpgsqlException ex)
            {
                MessageBox.Show(ex.ToString());
            }
            return(this.filasAfectadas);
        }
        public override int crear(object o)
        {
            Categoria categoria = (Categoria)o;

            this.filasAfectadas = 0;
            try
            {
                if (conexionPostgreSql.abrirConexion())
                {
                    string        consulta = "INSERT INTO categoria(nombre) VALUES(@nombre)";
                    NpgsqlCommand command  = new NpgsqlCommand(consulta, conexionPostgreSql.retornarConexion());
                    command.Parameters.Add("@nombre", NpgsqlTypes.NpgsqlDbType.Varchar, 50);
                    command.Parameters[0].Value = categoria.Nombre;
                    this.filasAfectadas         = command.ExecuteNonQuery();
                    conexionPostgreSql.cerrarConexion();
                }
            }
            catch (NpgsqlException ex)
            {
                MessageBox.Show(ex.ToString());
            }
            return(this.filasAfectadas);
        }