예제 #1
0
        public List <Negocio.Producto> Stock()
        {
            Negocio.Producto productoStock = new Negocio.Producto();

            List <Negocio.Producto> listaStock = new List <Negocio.Producto>();

            try
            {
                using (Entidades contexto = new Entidades())
                {
                    var devolverStock = (from stock in contexto.PRODUCTOes
                                         where stock.ID_PRODUCTO == productoStock.IdProducto
                                         select stock).FirstOrDefault();

                    productoStock.Nombre     = devolverStock.NOMBRE;
                    productoStock.IdProducto = (int)devolverStock.ID_PRODUCTO;
                    productoStock.Stock      = (int)devolverStock.STOCK;

                    listaStock.Add(productoStock);
                }
                return(listaStock);
            }
            catch
            {
                return(listaStock);
            }
        }
예제 #2
0
        public List <Negocio.Producto> ListarProductos()
        {
            List <Negocio.Producto> listaResultado = new List <Producto>();

            try
            {
                using (Entidades contexto = new Entidades())
                {
                    List <DAL.PRODUCTO> lista = contexto.PRODUCTOes.ToList <DAL.PRODUCTO>();

                    foreach (DAL.PRODUCTO item in lista)
                    {
                        Negocio.Producto producto = new Negocio.Producto();
                        producto.IdProducto   = (int)item.ID_PRODUCTO;
                        producto.Nombre       = item.NOMBRE;
                        producto.PrecioNormal = (int)item.PRECIO_NORMAL;
                        producto.PrecioOferta = (int)item.PRECIO_OFERTA;
                        producto.EnOferta     = item.EN_OFERTA;
                        producto.Descripcion  = item.DESCRIPCION;
                        producto.Categoria    = item.CATEGORIA_PRODUCTO.CATEGORIA;
                        listaResultado.Add(producto);
                    }
                    contexto.Dispose();
                }
                return(listaResultado);
            }
            catch (Exception)
            {
                return(listaResultado);
            }
        }
예제 #3
0
 public Negocio.Producto BuscarProductoID(int id)
 {
     Negocio.Producto producto = new Negocio.Producto();
     try
     {
         using (Entidades contexto = new Entidades())
         {
             var salida = (from b in contexto.PRODUCTOes
                           where b.ID_PRODUCTO == id
                           select b).FirstOrDefault();
             producto.IdProducto   = (int)salida.ID_PRODUCTO;
             producto.Stock        = (int)salida.STOCK;
             producto.Nombre       = salida.NOMBRE;
             producto.PrecioNormal = (int)salida.PRECIO_NORMAL;
             producto.PrecioOferta = (int)salida.PRECIO_OFERTA;
             producto.EnOferta     = salida.EN_OFERTA;
             producto.Descripcion  = salida.DESCRIPCION;
             producto.Categoria    = salida.CATEGORIA.ToString();
             producto.LinkInternet = salida.LINK_INTERNET;
         }
         return(producto);
     }
     catch (Exception)
     {
         return(producto);
     }
 }
 public decimal CalcularPrecioPonderado(Producto unProductoComprado, DetalleCompra unDetalleCompra)
 {
     return(Math.Round(((unProductoComprado.PrecioCosto * unProductoComprado.Stock) + (unDetalleCompra.PrecioBruto * unDetalleCompra.Cantidad)) / (unDetalleCompra.Cantidad + unProductoComprado.Stock), 2));
 }
예제 #5
0
        public List <Producto> Listar(int Id)
        {
            Producto        aux;
            LoteNegocio     negL         = new LoteNegocio();
            List <Producto> lstProductos = new List <Producto>();
            AccesoDB        conexion     = null;

            try
            {
                conexion = new AccesoDB();
                if (Id == 0)
                {
                    conexion.SetearConsulta("SELECT P.IDPRODUCTO, P.DESCRIPCION, M.DESCRIPCION, TP.DESCRIPCION, P.STOCKMIN, P.GANANCIA, P.IDMARCA, P.IDTIPOPRODUCTO, P.STOCK FROM PRODUCTOS AS P " +
                                            "INNER JOIN MARCAS AS M ON P.IDMARCA = M.IDMARCA " +
                                            "INNER JOIN TIPOSPRODUCTO AS TP ON P.IDTIPOPRODUCTO = TP.IDTIPOPRODUCTO " +
                                            "WHERE P.ACTIVO = 1 " +
                                            "ORDER BY P.DESCRIPCION ASC");
                }
                else
                {
                    conexion.SetearConsulta("SELECT P.IDPRODUCTO, P.DESCRIPCION, M.DESCRIPCION, TP.DESCRIPCION, P.STOCKMIN, P.GANANCIA, P.IDMARCA, P.IDTIPOPRODUCTO, P.STOCK FROM PRODUCTOS AS P " +
                                            "INNER JOIN PRODUCTOS_X_PROVEEDOR AS PXP ON PXP.IDPRODUCTO = P.IDPRODUCTO " +
                                            "INNER JOIN MARCAS AS M ON P.IDMARCA = M.IDMARCA " +
                                            "INNER JOIN TIPOSPRODUCTO AS TP ON P.IDTIPOPRODUCTO = TP.IDTIPOPRODUCTO " +
                                            "WHERE P.ACTIVO = 1 AND PXP.IDPROVEEDOR = @id " +
                                            "ORDER BY P.DESCRIPCION ASC");
                    conexion.Comando.Parameters.Clear();
                    conexion.Comando.Parameters.AddWithValue("@id", Id);
                }

                conexion.AbrirConexion();
                conexion.EjecutarConsulta();

                while (conexion.Lector.Read())
                {
                    aux = new Producto
                    {
                        IdProducto   = (int)conexion.Lector["IDPRODUCTO"],
                        Marca        = new Marca(),
                        TipoProducto = new TipoProducto(),
                        Descripcion  = (string)conexion.Lector["DESCRIPCION"],
                        StockMin     = (int)conexion.Lector["STOCKMIN"],
                        Ganancia     = (float)Convert.ToDouble(conexion.Lector["GANANCIA"]),
                        Stock        = (int)conexion.Lector["STOCK"]
                    };
                    aux.Marca.IdMarca               = (int)conexion.Lector["IDMARCA"];
                    aux.Marca.Descripcion           = (string)conexion.Lector[2];
                    aux.TipoProducto.IdTipoProducto = (int)conexion.Lector["IDTIPOPRODUCTO"];
                    aux.TipoProducto.Descripcion    = (string)conexion.Lector[3];

                    lstProductos.Add(aux);
                }

                return(lstProductos);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conexion.CheckearConexion() == true)
                {
                    conexion.CerrarConexion();
                }
            }
        }
        public void modificarProducto(Producto productoModificado)
        {
            AccesoDatos accesoDatos = new AccesoDatos();

            try
            {
                accesoDatos.InitComando();
                accesoDatos.Comando.Parameters.Clear();

                string consulta = @"
                                update PRODUCTO set 
                                Descripcion=@Descripcion,
                                StockActual=@StockActual,
                                Precio=@Precio,
                                Impuesto=@Impuesto,
                                Costo=@Costo,
                                Estado=@Estado,
                                Imagen=@Imagen 
                                where IdProducto=" + productoModificado.IdProducto;

                consulta += @" Delete from CATEGORIAS_X_PRODUCTO
                           where Idproducto=" + productoModificado.IdProducto;

                accesoDatos.InitComando();
                accesoDatos.Comando.Parameters.Clear();

                if (productoModificado.categorias != null && productoModificado.categorias.Count > 0)
                {
                    for (int i = 0; i < productoModificado.categorias.Count; i++)
                    {
                        consulta += @" insert into CATEGORIAS_X_PRODUCTO
                                (IDPRODUCTO, IDCATEGORIA)
                                values(" + productoModificado.IdProducto + ", @IdCategoria" + i + ")";
                        accesoDatos.Comando.Parameters.AddWithValue("@IdCategoria" + i, productoModificado.categorias[i].IdCategoria);
                    }
                }
                accesoDatos.ComandoQuery(consulta);
                //accesoDatos.Comando.Parameters.Clear();
                accesoDatos.Comando.Parameters.AddWithValue("@Descripcion", productoModificado.Descripcion);
                //accesoDatos.Comando.Parameters.AddWithValue("@Categoria", productoModificado.categorias);
                accesoDatos.Comando.Parameters.AddWithValue("@StockActual", productoModificado.StockActual);
                accesoDatos.Comando.Parameters.AddWithValue("@Precio", productoModificado.Precio);
                accesoDatos.Comando.Parameters.AddWithValue("@Impuesto", productoModificado.Impuesto);
                accesoDatos.Comando.Parameters.AddWithValue("@Costo", productoModificado.Costo);
                //accesoDatos.Comando.Parameters.AddWithValue("@IdProveedor", productoModificado.Proveedor.IdEmpresa); //combobox
                accesoDatos.Comando.Parameters.AddWithValue("@Estado", productoModificado.Estado);
                accesoDatos.Comando.Parameters.AddWithValue("@Imagen", productoModificado.Imagen);
                accesoDatos.AbrirConexion();
                accesoDatos.ejecutarAccion();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (accesoDatos != null)
                {
                    accesoDatos.cerrarConexion();
                }
            }
        }
        public void agregarProducto(Producto productoNuevo)
        {
            AccesoDatos accesoDatos = null;

            try
            {
                accesoDatos = new AccesoDatos();
                string consulta = @" declare @Id table (ID int)
                                        INSERT INTO producto 
                                        (descripcion,
                                         stockactual,
                                         precio,
                                         impuesto,
                                         costo,
                                         estado,
                                         imagen)
                                         output Inserted.IdProducto into @Id
                                         VALUES(@Descripcion,
                                         @StockActual,
                                         @Precio,
                                         @Impuesto,
                                         @Costo,
                                         @Estado,
                                         @Imagen)
                                        ";
                accesoDatos.InitComando();
                accesoDatos.Comando.Parameters.Clear();
                if (productoNuevo.categorias != null && productoNuevo.categorias.Count > 0)
                {
                    for (int i = 0; i < productoNuevo.categorias.Count; i++)
                    {
                        consulta += @" insert into CATEGORIAS_X_PRODUCTO
                                     (IDPRODUCTO, IDCATEGORIA)
                                     values((select ID from @Id), @IdCategoria" + i + ")";
                        accesoDatos.Comando.Parameters.AddWithValue("@IdCategoria" + i, productoNuevo.categorias[i].IdCategoria);
                    }
                }
                accesoDatos.ComandoQuery(consulta);
                accesoDatos.Comando.Parameters.AddWithValue("@Descripcion", productoNuevo.Descripcion);
                accesoDatos.Comando.Parameters.AddWithValue("@StockActual", productoNuevo.StockActual);
                accesoDatos.Comando.Parameters.AddWithValue("@Precio", productoNuevo.Precio);
                accesoDatos.Comando.Parameters.AddWithValue("@Impuesto", productoNuevo.Impuesto);
                accesoDatos.Comando.Parameters.AddWithValue("@Costo", productoNuevo.Costo);
                accesoDatos.Comando.Parameters.AddWithValue("@Estado", productoNuevo.Estado);
                accesoDatos.Comando.Parameters.AddWithValue("@Imagen", productoNuevo.Imagen);

                accesoDatos.AbrirConexion();
                accesoDatos.ejecutarAccion();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (accesoDatos != null)
                {
                    accesoDatos.cerrarConexion();
                }
            }
        }
예제 #8
0
 /// <summary>
 /// Metodo que agrega un nuevo producto, recibe un Objeto de Tipo Producto
 /// </summary>
 /// <param name="producto"></param>
 /// <returns>Boolean respuesta</returns>
 public Boolean AgregarProducto(Producto producto)
 {
     return(productoDatos.AgregarProducto(producto));
 }
예제 #9
0
 /// <summary>
 /// Método para aumentar la cantidad de productos en inventario, recibe el id del producto y el proveedor
 /// y la cantidad que se desea aumentar a dicho producto.
 /// </summary>
 /// <param name="producto"></param>
 /// <returns>Boolean resultado</returns>
 public Boolean AgregarCantidad(Producto producto)
 {
     return(productoDatos.AgregarCantidad(producto.IdProducto, producto.Proveedor.IdProveedor, producto.Cantidad));
 }
예제 #10
0
 private void cbProductos_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (cbProductos.SelectedIndex != -1)
     {
         productoSeleccionado = ((Producto)cbProductos.SelectedItem);
         nudStock.Maximum = productoSeleccionado.stockProducto;
         nudStock.Enabled = true;
         nudStock.Value = Decimal.Zero;
         txtMillasCanje.Text = string.Empty;
         txtMillasCanje.BackColor = Color.White;
         btnCanje.Enabled = false;
     }
 }