Ejemplo n.º 1
0
        public List <DO_ProductoEnFactura> obtenerProductosFactura(int codigoFactura)
        {
            SqlDataAdapter adapterCodigos = new SqlDataAdapter();

            adapterCodigos.SelectCommand = new SqlCommand("select PRO_CODIGO, CANTIDAD_COMPRADA from FAC_TIENE_PRO where FAC_CODIGO = @codigoFactura", conexion);
            adapterCodigos.SelectCommand.Parameters.AddWithValue("@codigoFactura", codigoFactura);
            DataTable datatableCodigos = new DataTable();
            List <DO_ProductoEnFactura> listaProductos = new List <DO_ProductoEnFactura>();

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }

                adapterCodigos.Fill(datatableCodigos);

                foreach (DataRow row in datatableCodigos.Rows)
                {
                    DO_ProductoEnFactura nuevoProducto = new DO_ProductoEnFactura();
                    nuevoProducto.cantidadComprada = Convert.ToInt32(row["CANTIDAD_COMPRADA"]);
                    String codProducto = (String)row["PRO_CODIGO"];

                    SqlDataAdapter adapterProductos = new SqlDataAdapter();
                    adapterProductos.SelectCommand = new SqlCommand("select * from PRODUCTO where PRO_CODIGO = @codProducto", conexion);
                    adapterProductos.SelectCommand.Parameters.AddWithValue("@codProducto", codProducto);
                    DataTable datatableProductos = new DataTable();

                    adapterProductos.Fill(datatableProductos);

                    foreach (DataRow prodRow in datatableProductos.Rows)
                    {
                        nuevoProducto.producto = new DO_Producto();

                        nuevoProducto.producto.codigo             = (String)prodRow["PRO_CODIGO"];
                        nuevoProducto.producto.descripcion        = (String)prodRow["PRO_DESCRIPCION"];
                        nuevoProducto.producto.cantMinBodega      = Convert.ToInt32(prodRow["PRO_CANTIDAD_MINIMA_STOCK"]);
                        nuevoProducto.producto.cantidadDisponible = Convert.ToInt32(prodRow["PRO_CANTIDAD_DISPONIBLE"]);
                        nuevoProducto.producto.precioCosto        = Convert.ToDouble(prodRow["PRO_PRECIO_COSTO"]);
                        nuevoProducto.producto.precioVenta        = Convert.ToDouble(prodRow["PRO_PRECIO_VENTA"]);

                        listaProductos.Add(nuevoProducto);
                    }
                }
                return(listaProductos);
            }
            catch (SqlException)
            {
                return(null);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Agrega productos a la factura de forma lógica
        /// </summary>
        /// <param name="factura">La factura a la que se le quiere agregar el producto</param>
        /// <param name="producto">El producto a agregar</param>
        /// <param name="cantidad">La cantidad del producto</param>
        /// <returns>La factura con sus producto agregados (DO_Factura)</returns>
        public DO_Factura AgregarProductoAFactura(DO_Factura factura, DO_Producto producto, int cantidad)
        {
            DO_ProductoEnFactura nuevoProducto = new DO_ProductoEnFactura(producto, cantidad);

            factura.listaProducto.Add(nuevoProducto);

            return(factura);
        }
Ejemplo n.º 3
0
        public DO_Factura confeccionarFactura()
        {
            factura.listaProducto = new List <DO_ProductoEnFactura>();
            DataTable tablaProductos = (DataTable)gridProductos.DataSource;

            foreach (DataRow row in tablaProductos.Rows)
            {
                DO_ProductoEnFactura prodFactura = new DO_ProductoEnFactura();
                prodFactura.producto                    = new DO_Producto();
                prodFactura.producto.codigo             = (String)row["Código"];
                prodFactura.producto.descripcion        = (String)row["Descripción"];
                prodFactura.producto.precioVenta        = Convert.ToInt32(row["Precio"]);
                prodFactura.producto.cantidadDisponible = Convert.ToInt32(row["Disponibles"]);

                prodFactura.cantidadComprada = Convert.ToInt32(row["Cantidad"]);

                factura.listaProducto.Add(prodFactura);
            }
            factura.fecha        = DateTime.Now;
            factura.totalFactura = Convert.ToInt32(lblTotal.Text.Substring(1));
            factura.saldo        = factura.totalFactura;
            return(factura);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Agrega los productos de determinada factura
        /// </summary>
        /// <param name="codigoFactura">Codigo de la factura a la cual pertenecen los productos</param>
        /// <param name="listaProductos">La lista de los producto comprados de la factura</param>
        /// <returns>(True) si se agregaron correctamente.(False) si no se agregaron</returns>
        public bool AgregarProductoAFactura(int codigoFactura, DateTime fecha, DO_ProductoEnFactura productoVendido)
        {
            SqlCommand consulta = new SqlCommand("insert into FAC_TIENE_PRO (PRO_CODIGO,FAC_CODIGO,FAC_FECHA, CANTIDAD_COMPRADA) values (@codigoProducto,@codigoFactura,@fecha, @cantComprada)", conexion);

            consulta.Parameters.AddWithValue("@codigoFactura", codigoFactura);
            consulta.Parameters.AddWithValue("@fecha", fecha);
            consulta.Parameters.AddWithValue("@codigoProducto", productoVendido.producto.codigo);
            consulta.Parameters.AddWithValue("@cantComprada", productoVendido.cantidadComprada);
            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }
                if (consulta.ExecuteNonQuery() > 0)
                {
                    ActualizarInventario(productoVendido.producto.codigo, productoVendido.producto.cantidadDisponible, productoVendido.cantidadComprada);
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (SqlException)
            {
                return(false);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }