示例#1
0
        public List <Producto> listar(bool soloEscasos = false)
        {
            SqlConnection   conexion = new SqlConnection();
            SqlCommand      comando  = new SqlCommand();
            SqlDataReader   lector;
            List <Producto> listado = new List <Producto>();
            Producto        producto;

            //PoderSecundarioNegocio poderSecundarioNegocio = new PoderSecundarioNegocio();
            try
            {
                DetalleCompraNegocio negocioDetCompra = new DetalleCompraNegocio();
                conexion.ConnectionString = AccesoDatosManager.cadenaConexion;
                comando.CommandType       = System.Data.CommandType.Text;
                //MSF-20190420: agregué todos los datos del heroe. Incluso su universo, que lo traigo con join.
                comando.CommandText = "SELECT * FROM[TPC_ESPINOLA].[dbo].[Productos]";
                comando.Connection  = conexion;
                conexion.Open();
                lector = comando.ExecuteReader();

                while (lector.Read())
                {
                    producto             = new Producto();
                    producto.ID          = Convert.ToInt32(lector["Id"]);
                    producto.Titulo      = lector["Titulo"].ToString();
                    producto.Descripcion = lector["Descripcion"].ToString();
                    producto.URLImagen   = lector["URLImagen"].ToString();
                    producto.Precio      = (negocioDetCompra.TraerUltimoPrecioCompra(lector["Id"].ToString()) * (float.Parse(lector["Ganancia"].ToString()) + 100)) / 100;
                    producto.Ganancia    = float.Parse(lector["Ganancia"].ToString());
                    if (!Convert.IsDBNull(lector["StockMinimo"]))
                    {
                        producto.StockMinimo = int.Parse(lector["StockMinimo"].ToString());
                    }
                    else
                    {
                        producto.StockMinimo = 0;
                    }
                    producto.Stock = long.Parse(lector["Stock"].ToString());
                    if (soloEscasos == false)
                    {
                        listado.Add(producto);
                    }
                    else if (producto.Stock <= producto.StockMinimo)
                    {
                        listado.Add(producto);
                    }
                }

                return(listado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Close();
            }
        }
        public List <Stock> listar(bool SoloEscasos)
        {
            SqlConnection   conexion = new SqlConnection();
            SqlCommand      comando  = new SqlCommand();
            SqlDataReader   lector;
            List <Stock>    listado         = new List <Stock>();
            ProductoNegocio negocioProducto = new ProductoNegocio();
            Stock           stock;

            try
            {
                DetalleCompraNegocio negocioDetCompra = new DetalleCompraNegocio();
                conexion.ConnectionString = AccesoDatosManager.cadenaConexion;
                comando.CommandType       = System.Data.CommandType.Text;
                comando.CommandText       = "SELECT * FROM[TPC_ESPINOLA].[dbo].[Productos]";
                comando.Connection        = conexion;
                conexion.Open();
                lector = comando.ExecuteReader();

                while (lector.Read())
                {
                    stock             = new Stock();
                    stock.Producto    = negocioProducto.traerProducto(lector["Id"].ToString());
                    stock.StockActual = long.Parse(lector["Stock"].ToString());
                    if (!Convert.IsDBNull(lector["StockMinimo"]))
                    {
                        stock.StockMinimo = int.Parse(lector["StockMinimo"].ToString());
                    }
                    else
                    {
                        stock.StockMinimo = 0;
                    }
                    if (SoloEscasos == false)
                    {
                        listado.Add(stock);
                    }
                    else if (stock.StockActual <= stock.StockMinimo)
                    {
                        listado.Add(stock);
                    }
                }

                return(listado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Close();
            }
        }
        public List <Compra> listar()
        {
            SqlConnection conexion = new SqlConnection();
            SqlCommand    comando  = new SqlCommand();
            SqlDataReader lector;
            List <Compra> listado = new List <Compra>();
            Compra        compra;

            try
            {
                conexion.ConnectionString = AccesoDatosManager.cadenaConexion;
                comando.CommandType       = System.Data.CommandType.Text;
                comando.CommandText       = "SELECT * FROM[TPC_ESPINOLA].[dbo].[Compras]";
                comando.Connection        = conexion;
                conexion.Open();
                lector = comando.ExecuteReader();
                ProveedorNegocio     negocioProveedor     = new ProveedorNegocio();
                DetalleCompraNegocio negocioDetalleCompra = new DetalleCompraNegocio();
                while (lector.Read())
                {
                    compra           = new Compra();
                    compra.ID        = Convert.ToInt32(lector["Id"]);
                    compra.Proveedor = negocioProveedor.traerProveedor(lector["ProveedorID"].ToString());
                    compra.Detalle   = negocioDetalleCompra.listar(lector["Id"].ToString());
                    compra.Fecha     = Convert.ToDateTime(lector["Fecha"].ToString());
                    compra.Total     = negocioDetalleCompra.calcularTotal(lector["ID"].ToString());

                    listado.Add(compra);
                }

                return(listado);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Close();
            }
        }
        //public void modificar(Producto nuevoProducto, int productoID)
        //{
        //    SqlConnection conexion = new SqlConnection();
        //    SqlCommand comando = new SqlCommand();
        //    List<Producto> listado = new List<Producto>();
        //    try
        //    {
        //        conexion.ConnectionString = AccesoDatosManager.cadenaConexion;
        //        comando.CommandType = System.Data.CommandType.Text;
        //        //MSF-20190420: agregué todos los datos del heroe. Incluso su universo, que lo traigo con join.
        //        comando.CommandText = "UPDATE [TPC_ESPINOLA].[dbo].[Productos] SET Titulo = @Titulo, Descripcion = @Descripcion, URLImagen = @URLImagen WHERE[TPC_ESPINOLA].[dbo].[Productos].ID = @ID";
        //        comando.Parameters.Clear();
        //        comando.Parameters.AddWithValue("@Titulo", nuevoProducto.Titulo);
        //        comando.Parameters.AddWithValue("@Descripcion", nuevoProducto.Descripcion);
        //        comando.Parameters.AddWithValue("@URLImagen", nuevoProducto.URLImagen);
        //        comando.Parameters.AddWithValue("@ID", productoID);
        //        comando.Connection = conexion;
        //        conexion.Open();
        //        comando.ExecuteNonQuery();
        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }

        //    finally
        //    {
        //        conexion.Close();
        //    }
        //}
        public string agregarCompraYDetalle(Compra nuevaCompra)
        {
            DetalleCompraNegocio negocioDetalleCompra = new DetalleCompraNegocio();
            ProductoNegocio      negocioProducto      = new ProductoNegocio();
            Producto             producto;
            string response = "";
            string IDCompra = this.agregar(nuevaCompra);

            if (IDCompra != "")
            {
                foreach (Detalle det in nuevaCompra.Detalle)
                {
                    negocioDetalleCompra.agregar(det, nuevaCompra.Proveedor.ID.ToString(), IDCompra);
                    producto = negocioProducto.traerProducto(det.Producto.ID.ToString());
                    negocioProducto.modificarStock(producto, det.Cantidad, true); // alta = true / baja = false
                }
            }
            else
            {
                response = "Error al generar compra! intente nuevamente mas tarde";
                //Falla al generar la compra
            }
            return(response);
        }