예제 #1
0
        public FacturaContado(string _cajero,
                              string _total,
                              string _pagaCon,
                              string _vuelto,
                              List <DO_ProductoEnFactura> _productos,
                              string _notas,
                              string _cliente)
        {
            InitializeComponent();
            cliente   = _cliente;
            notas     = _notas;
            cajero    = _cajero;
            productos = _productos;
            foreach (DO_ProductoEnFactura item in productos)
            {
                cantidadTotalProductos += item.cantidadComprada;
                DO_Producto doProd = item.producto;
                if (doProd.descripcion.Length > 20)
                {
                    item.producto.descripcion = item.producto.descripcion.Substring(0, 20) + "...";
                }
            }

            total       = _total;
            pagaCon     = _pagaCon;
            vuelto      = _vuelto;
            largo       = largo + (productos.Count * fuenteGeneral.Height);
            papelTamano = new PaperSize("Custom", ancho, largo);
            printDocument1.DefaultPageSettings.PaperSize = papelTamano;
            printPreviewControl1.Document = printDocument1;
            inicializarStrings();
            imprimir();
        }
예제 #2
0
        public FacturaDeCliente(DO_Factura fact)
        {
            InitializeComponent();

            cajero    = fact.usuario;
            total     = fact.totalFactura.ToString();
            saldo     = fact.saldo.ToString();
            productos = fact.listaProducto;
            fecha     = fact.fecha.ToString();
            foreach (DO_ProductoEnFactura item in productos)
            {
                cantidadTotalProductos += item.cantidadComprada;
                DO_Producto doProd = item.producto;
                if (doProd.descripcion.Length > 20)
                {
                    item.producto.descripcion = item.producto.descripcion.Substring(0, 20) + "...";
                }
            }
            notas       = fact.notas;
            cliente     = fact.clienteExterno;
            largo       = largo + (productos.Count * fuenteGeneral.Height);
            papelTamano = new PaperSize("Custom", ancho, largo);
            printDocument1.DefaultPageSettings.PaperSize = papelTamano;
            printPreviewControl1.Document = printDocument1;



            inicializarStrings();

            imprimir();
        }
예제 #3
0
        /// <summary>
        /// Este metodo permite registrar un producto en la base de datos
        /// </summary>
        /// <param name="doProducto"> Es el producto que se va a guardar </param>
        /// <returns>true si se ingresa el producto, false si no se logra ingresar</returns>
        public bool ingresarProducto(DO_Producto doProducto)
        {
            SqlCommand comandoInsertar = new SqlCommand("INSERT INTO PRODUCTO (EST_HAB_ESTADO, PRO_NOMBRE, PRO_DESCRIPCION, ID) " +
                                                        "VALUES ('HABILITADO', @nombre, @descripcion, @id)", conexion);

            comandoInsertar.Parameters.AddWithValue("@nombre", doProducto.nombre);
            comandoInsertar.Parameters.AddWithValue("@descripcion", doProducto.descripcion);
            comandoInsertar.Parameters.AddWithValue("@id", doProducto.id);

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

                comandoInsertar.ExecuteNonQuery();
                return(true);
            }
            catch (SqlException)
            {
                return(false);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
예제 #4
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);
        }
예제 #5
0
        private void btnAgregarTicket_Click(object sender, EventArgs e)
        {
            BL_Producto blProducto = new BL_Producto();
            DO_Producto producto   = blProducto.BuscarProducto(getCodigoProducto());;

            if (txtPrecioNuevo.Text != "")
            {
                producto.precioVenta = Convert.ToDouble(txtPrecioNuevo.Text);
            }
            ventas.agregarProductoATabla(producto);
            this.Dispose();
        }
예제 #6
0
        /// <summary>
        /// Saca la lista de los productos de la base de datos
        /// </summary>
        /// <param name="todos">Booleano para identificar si se necesita todos o solo los habilitados</param>
        /// <returns>La lista de productos, si no se sacan objetos, retorna un null</returns>
        public List <DO_Producto> obtenerListaProductos(bool todos)
        {
            String comando;

            if (todos)
            {
                comando = "SELECT * FROM PRODUCTO";
            }
            else
            {
                comando = "SELECT * FROM PRODUCTO WHERE EST_HAB_ESTADO = 'HABILITADO'";
            }
            SqlDataAdapter adapter = new SqlDataAdapter();

            adapter.SelectCommand = new SqlCommand(comando, conexion);
            DataTable          datatable      = new DataTable();
            List <DO_Producto> listaProductos = new List <DO_Producto>();

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

                adapter.Fill(datatable);

                foreach (DataRow row in datatable.Rows)
                {
                    DO_Producto nuevoProducto = new DO_Producto();

                    nuevoProducto.codigo      = Convert.ToInt32(row["PRO_CODIGO"]);
                    nuevoProducto.estado      = (String)row["EST_HAB_ESTADO"];
                    nuevoProducto.nombre      = (String)row["PRO_NOMBRE"];
                    nuevoProducto.descripcion = (String)row["PRO_DESCRIPCION"];
                    nuevoProducto.id          = (String)row["ID"];

                    listaProductos.Add(nuevoProducto);
                }
                return(listaProductos);
            }
            catch (SqlException) {
                return(null);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
예제 #7
0
        /// <summary>
        /// Método para consultar los productos asociados a un determinado producto
        /// </summary>
        /// <param name="codigoPedido">(Int32) Código del pedido a consultar sus productos</param>
        /// <returns>(List<DO_ProductoEnPedido>) lista de los productos asociados al pedido</returns>
        public List <DO_ProductoEnPedido> listaProductos(Int32 codigoPedido)
        {
            List <DO_ProductoEnPedido> listaProductos = new List <DO_ProductoEnPedido>();

            SqlCommand comandoConsultar = new SqlCommand("SELECT PED_POSEE_PRO.PPP_CANTIDAD, PRODUCTO.* " +
                                                         "FROM PRODUCTO, PED_POSEE_PRO WHERE(PRODUCTO.PRO_CODIGO = PED_POSEE_PRO.PRO_CODIGO AND PED_POSEE_PRO.PED_CODIGO = @codigo)", conexion);

            comandoConsultar.Parameters.AddWithValue("@codigo", codigoPedido);

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

                SqlDataReader lector = comandoConsultar.ExecuteReader();

                if (lector.HasRows)
                {
                    while (lector.Read())
                    {
                        DO_ProductoEnPedido producto         = new DO_ProductoEnPedido();
                        DO_Producto         detallesProducto = new DO_Producto();
                        producto.cantidad            = Convert.ToInt32(lector["PPP_CANTIDAD"]);
                        detallesProducto.codigo      = Convert.ToInt32(lector["PRO_CODIGO"]);
                        detallesProducto.estado      = (String)(lector["EST_HAB_ESTADO"]);
                        detallesProducto.nombre      = (String)(lector["PRO_NOMBRE"]);
                        detallesProducto.descripcion = (String)(lector["PRO_DESCRIPCION"]);
                        producto.producto            = detallesProducto;


                        listaProductos.Add(producto);
                    }
                }
                conexion.Close();

                return(listaProductos);
            }
            catch (SqlException)
            {
                return(null);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
예제 #8
0
        private void agregarProductoATabla()
        {
            BL_Producto prod    = new BL_Producto();
            DO_Producto _DoProd = prod.BuscarProducto(txtCodigo.Text);

            if (_DoProd.codigo != null)
            {
                listaTiquetes.ElementAt <Tickets>(tabTicket.SelectedIndex).agregarProducto(_DoProd, Convert.ToInt32(nmCantidad.Text));
            }
            else
            {
                MessageBox.Show("No existe el producto!");
                return;
            }
        }
예제 #9
0
        /// <summary>
        /// Método para obtener agregar los productos en la lista de pedidos de reporte
        /// </summary>
        /// <param name="listaPedidos"></param>
        public void obtenerProductos(List <DO_Pedido> listaPedidos)
        {
            foreach (DO_Pedido pedido in listaPedidos)
            {
                SqlCommand comandoBuscarProductos = new SqlCommand("SELECT PRODUCTO.PRO_NOMBRE, PRODUCTO.PRO_CODIGO,PRODUCTO.PRO_DESCRIPCION,PRODUCTO.EST_HAB_ESTADO, PED_POSEE_PRO.PPP_CANTIDAD " +
                                                                   "FROM PED_POSEE_PRO,PRODUCTO WHERE PED_POSEE_PRO.PRO_CODIGO = PRODUCTO.PRO_CODIGO AND (PED_POSEE_PRO.PED_CODIGO = @codigoPedido)", conexion);
                comandoBuscarProductos.Parameters.AddWithValue("@codigoPedido", pedido.codigo);
                List <DO_ProductoEnPedido> listaProductos = new List <DO_ProductoEnPedido>();

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

                    SqlDataReader lector = comandoBuscarProductos.ExecuteReader();
                    if (lector.HasRows)
                    {
                        while (lector.Read())
                        {
                            DO_ProductoEnPedido productoEnPedido = new DO_ProductoEnPedido();
                            DO_Producto         producto         = new DO_Producto();


                            producto.codigo      = Convert.ToInt32(lector["PRO_CODIGO"]);
                            producto.nombre      = (String)lector["PRO_NOMBRE"];
                            producto.descripcion = (String)lector["PRO_DESCRIPCION"];
                            producto.estado      = (String)lector["EST_HAB_ESTADO"];

                            productoEnPedido.producto = producto;
                            productoEnPedido.cantidad = Convert.ToInt32(lector["PPP_CANTIDAD"]);

                            listaProductos.Add(productoEnPedido);
                        }
                        pedido.listaProductos = listaProductos;
                    }
                }
                catch (SqlException) {}
                finally
                {
                    if (conexion.State != ConnectionState.Closed)
                    {
                        conexion.Close();
                    }
                }
            }
        }
예제 #10
0
        /// <summary>
        /// Saca los datos de un producto buscado por codigo
        /// </summary>
        /// <param name="doProducto">Codigo del producto para buscar</param>
        /// <returns>Retorna el producto si lo encuentra y si no retorna null</returns>
        public DO_Producto obtenerProducto(Int32 codigoProducto)
        {
            SqlCommand consultaCredito = new SqlCommand("SELECT * FROM PRODUCTO WHERE PRO_CODIGO = @codigoProducto", conexion);

            consultaCredito.Parameters.AddWithValue("@codigoProducto", codigoProducto);

            DO_Producto doProducto = new DO_Producto();

            doProducto.codigo = codigoProducto;

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }
                SqlDataReader lector = consultaCredito.ExecuteReader();
                if (lector.HasRows)
                {
                    doProducto.codigo = codigoProducto;
                    while (lector.Read())
                    {
                        doProducto.nombre      = (String)(lector["PRO_NOMBRE"]);
                        doProducto.estado      = (String)(lector["EST_HAB_ESTADO"]);
                        doProducto.descripcion = (String)(lector["PRO_DESCRIPCION"]);
                        doProducto.id          = (String)(lector["ID"]);
                    }
                    return(doProducto);
                }
                else
                {
                    return(null);
                }
            }
            catch (SqlException)
            {
                return(null);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
예제 #11
0
        /// <summary>
        /// Busca un determinado producto de la base de datos y lo retorna
        /// </summary>
        /// <param name="codigo">El código del producto a buscar</param>
        /// <returns>El producto encontrado(DO_Producto), o (null) si no se encuentra registrado</returns>
        public DO_Producto BuscarProducto(String codigo)
        {
            SqlCommand consulta = new SqlCommand("select * from Producto where PRO_CODIGO = @codigo", conexion);

            consulta.Parameters.AddWithValue("@codigo", codigo);

            DO_Producto producto = new DO_Producto();

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }
                SqlDataReader lector = consulta.ExecuteReader();
                if (lector.HasRows)
                {
                    while (lector.Read())
                    {
                        producto.codigo             = (String)lector["PRO_CODIGO"];
                        producto.descripcion        = (String)lector["PRO_DESCRIPCION"];
                        producto.cantMinBodega      = Convert.ToInt32(lector["PRO_CANTIDAD_MINIMA_STOCK"]);
                        producto.cantidadDisponible = Convert.ToInt32(lector["PRO_CANTIDAD_DISPONIBLE"]);
                        producto.precioCosto        = Convert.ToDouble(lector["PRO_PRECIO_COSTO"]);
                        producto.precioVenta        = Convert.ToDouble(lector["PRO_PRECIO_VENTA"]);
                    }
                }
                return(producto);
            }
            catch (SqlException)
            {
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            return(null);
        }
예제 #12
0
        /// <summary>
        /// Agrega un nuevo producto al inventario
        /// </summary>
        /// <param name="nuevoProducto">El nuevo producto con sus respectivos datos a agregar</param>
        /// <returns>(True) si el producto se agregó correctamente. (False) si no se agregó</returns>
        public bool AgregarProductoInventario(DO_Producto nuevoProducto)
        {
            SqlCommand consulta = new SqlCommand("insert into Producto (PRO_CODIGO,PRO_DESCRIPCION,PRO_CANTIDAD_MINIMA_STOCK," +
                                                 "PRO_CANTIDAD_DISPONIBLE,PRO_PRECIO_COSTO,PRO_PRECIO_VENTA) values (@codigo,@descripcion,@cantidadMinima," +
                                                 "@cantidadDisponible,@precioCosto,@precioVenta)", conexion);

            consulta.Parameters.AddWithValue("@codigo", nuevoProducto.codigo);
            consulta.Parameters.AddWithValue("@descripcion", nuevoProducto.descripcion);
            consulta.Parameters.AddWithValue("@cantidadMinima", nuevoProducto.cantMinBodega);
            consulta.Parameters.AddWithValue("@cantidadDisponible", nuevoProducto.cantidadDisponible);
            consulta.Parameters.AddWithValue("@precioCosto", nuevoProducto.precioCosto);
            consulta.Parameters.AddWithValue("@precioVenta", nuevoProducto.precioVenta);

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

                if (consulta.ExecuteNonQuery() > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (SqlException)
            {
                return(false);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
예제 #13
0
        /// <summary>
        /// Modifica los datos de un producto dado
        /// </summary>
        /// <param name="doProducto">El producto con los datos a modificar</param>
        /// <returns>True si lo logra modificar, false si no lo logra</returns>
        public bool modificarProducto(DO_Producto doProducto)
        {
            SqlCommand comandoModificar = new SqlCommand("UPDATE PRODUCTO SET PRO_NOMBRE = @nombreProducto, " +
                                                         "PRO_DESCRIPCION = @descripcionProducto, " +
                                                         "EST_HAB_ESTADO = @estado, ID = @id " +
                                                         "where PRO_CODIGO = @codigoProducto", conexion);

            comandoModificar.Parameters.AddWithValue("@nombreProducto", doProducto.nombre);
            comandoModificar.Parameters.AddWithValue("@descripcionProducto", doProducto.descripcion);
            comandoModificar.Parameters.AddWithValue("@estado", doProducto.estado);
            comandoModificar.Parameters.AddWithValue("@codigoProducto", doProducto.codigo);
            comandoModificar.Parameters.AddWithValue("@id", doProducto.id);

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }
                if (comandoModificar.ExecuteNonQuery() > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (SqlException)
            {
                return(false);
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
예제 #14
0
        /// <summary>
        /// Modifica los datos de un producto previamente registrado
        /// </summary>
        /// <param name="productoAModificar">El producto al cual se le modificaron datos</param>
        /// <returns>(True) si se modificó correctamente.(False)si no se modificó</returns>

        public bool ModificarProducto(DO_Producto productoAModificar)
        {
            SqlCommand consulta = new SqlCommand("update Producto set PRO_DESCRIPCION = @descripcion, PRO_CANTIDAD_MINIMA_STOCK = @cantidadMinima," +
                                                 "PRO_CANTIDAD_DISPONIBLE = @cantidadDisponible, PRO_PRECIO_COSTO = @precioCosto, PRO_PRECIO_VENTA = @precioVenta where PRO_CODIGO = @codigo", conexion);

            consulta.Parameters.AddWithValue("@descripcion", productoAModificar.descripcion);
            consulta.Parameters.AddWithValue("@cantidadMinima", productoAModificar.cantMinBodega);
            consulta.Parameters.AddWithValue("@cantidadDisponible", productoAModificar.cantidadDisponible);
            consulta.Parameters.AddWithValue("@precioCosto", productoAModificar.precioCosto);
            consulta.Parameters.AddWithValue("@precioVenta", productoAModificar.precioVenta);
            consulta.Parameters.AddWithValue("@codigo", productoAModificar.codigo);

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

                if (consulta.ExecuteNonQuery() > 0)
                {
                    return(true);
                }
            }
            catch (SqlException)
            {
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            return(false);
        }
예제 #15
0
        public bool ingresarProducto(DO_Producto doProducto)
        {
            BL_Producto blProducto = new BL_Producto();

            return(blProducto.ingresarProducto(doProducto));
        }
예제 #16
0
        /// <summary>
        /// Modifica los datos de un producto registrado
        /// </summary>
        /// <param name="productoModificado">Producto con los datos actualizados que se van a registrar</param>
        /// <returns>True si se logra modificar el producto, false si no se logra</returns>
        public bool modificarProducto(DO_Producto productoModificado)
        {
            DAO_Producto daoProducto = new DAO_Producto();

            return(daoProducto.modificarProducto(productoModificado));
        }
예제 #17
0
        /// <summary>
        /// Este m[etodo registra un producto
        /// </summary>
        /// <param name="doProducto">Producto a ingresar</param>
        /// <returns>True si se ingresa exitosamente, si no, false</returns>
        public bool ingresarProducto(DO_Producto doProducto)
        {
            DAO_Producto daoProducto = new DAO_Producto();

            return(daoProducto.ingresarProducto(doProducto));
        }
예제 #18
0
 public void buscarProd()
 {
     BL_Producto blProducto = new BL_Producto();
     DO_Producto doProducto = blProducto.BuscarProducto(this.txtCodigo.Text);
 }
예제 #19
0
        /// <summary>
        /// Agrega el producto al inventario.
        /// </summary>
        /// <param name="nuevoProducto">El producto a agregar al inventario</param>
        /// <returns>(True) si se agregó correctamente.(False) si no se agregó el producto</returns>
        public bool AgregarProductoAInventario(DO_Producto nuevoProducto)
        {
            DAO_Producto daoProducto = new DAO_Producto();

            return(daoProducto.AgregarProductoInventario(nuevoProducto));
        }
예제 #20
0
        /// <summary>
        /// Actualiza los datos de un determinado producto.
        /// </summary>
        /// <param name="productoAModificar">El producto a modificar</param>
        /// <param name="codigoAntiguo">Si se modificó el código se necesita el antiguo para poder realizar el cambio.</param>
        /// <returns>(True) si se modificó correctamente.(False)si no se modificó</returns>
        public bool ModificarProducto(DO_Producto productoAModificar)
        {
            DAO_Producto daoProducto = new DAO_Producto();

            return(daoProducto.ModificarProducto(productoAModificar));
        }
예제 #21
0
        public bool modificarProducto(DO_Producto doProducto)
        {
            BL_Producto blProducto = new BL_Producto();

            return(blProducto.modificarProducto(doProducto));
        }
예제 #22
0
 public void agregarProductoATabla(DO_Producto producto)
 {
     listaTiquetes.ElementAt <Tickets>(tabTicket.SelectedIndex).agregarProducto(producto, Convert.ToInt32(nmCantidad.Text));
 }