Esempio n. 1
0
        private List <ProductoPedido> BuscarProdsPedidos(int id)
        {
            List <ProductosPorPedido> productosPors = RNProductosPorPedidos.ProdPorPed(id);
            List <ProductoPedido>     response      = new List <ProductoPedido>();

            foreach (var item in productosPors)
            {
                Producto p = RNProduct.BuscarProducto(item.ProductoId);
                if (p == null)
                {
                    item.ProductoId++;
                    RNProduct.BuscarProducto(item.ProductoId);
                }
                else
                {
                    response.Add(new ProductoPedido
                    {
                        Producto = p,
                        Cantidad = item.Cantidad,
                        Total    = p.Precio * item.Cantidad
                    });
                }
            }
            return(response);
        }
Esempio n. 2
0
 public List <Product> SearchAllProducts()
 {
     //List<Product> products = new List<Product>();
     //foreach (Product p in this.Stock)
     //{
     //    products.Add(p);
     //}
     return(RNProduct.SearchAllProducts());
 }
Esempio n. 3
0
        public AdminModel Procesar()
        {
            var        user   = SessionHelper.UsuarioLogueado;
            AdminModel modelo = new AdminModel()
            {
                UsuarioLogueado      = user.Usuario,
                PedidosRealizados    = RNPedidos.ContarPedidosEnFechasEspecificas(fechaInicio, fechaFin),
                ProductosMasVendidos = RNProduct.ProductosMasVendidos(fechaInicio, fechaFin)
            };

            return(modelo);
        }
Esempio n. 4
0
        public ActionResult Detalle(int id)
        {
            ActionResult res;
            var          usuario = SessionHelper.UsuarioLogueado;

            res = Redirect("/Home/Index");
            if (SessionHelper.ComprobarPersmisos(usuario))
            {
                Producto prod = RNProduct.BuscarProducto(id);
                res = View("EditProd", prod);
            }
            return(res);
        }
Esempio n. 5
0
        public List <Product> SearchProductsBySeller(int idSeller)
        {
            //List<Product> products = new List<Product>();
            //foreach (Product p in this.Stock)
            //{
            //    if (p.Seller.IdSeller == idSeller && p.Active)
            //    {
            //        products.Add(p);
            //    }
            //}

            return(RNProduct.SearchProductsBySeller(idSeller));
        }
Esempio n. 6
0
 /**
  * Busca un producto en el stock por el codigo
  */
 public Product FindProductInStock(int idProduct)
 {
     //Product product = null;
     //int i = 0;
     //while (product == null && i < this.Stock.Count)
     //{
     //    Product aux = this.Stock.ElementAt(i);
     //    if (aux.IdProduct == idProduct)
     //    {
     //        product = aux;
     //    }
     //    i++;
     //}
     return(RNProduct.FindProduct(idProduct));
 }
Esempio n. 7
0
        public ActionResult Add(Producto prod)
        {
            var existe = RNProduct.BuscarProductoPorNombre(prod.Nombre);

            ActionResult response = View("CrearProducto");

            if (!existe)
            {
                HttpPostedFileBase archivo = Request.Files["Imagen"];
                GuardarImagen(archivo);
                prod.Imagen = archivo.FileName;
                RNProduct.Agregar(prod);
                response = Redirect("/Product/Index");
            }
            return(response);
        }
Esempio n. 8
0
        public ActionResult Edit(Producto prod)
        {
            ActionResult result;
            var          usuario = SessionHelper.UsuarioLogueado;

            result = Redirect("/Home/Index");
            if (SessionHelper.ComprobarPersmisos(usuario))
            {
                HttpPostedFileBase archivo = Request.Files["Imagen"];
                if (archivo != null)
                {
                    GuardarImagen(archivo);
                    prod.Imagen = archivo.FileName;
                }
                RNProduct.Editar(prod);
                result = Redirect("/Product/Index");
            }
            return(result);
        }
Esempio n. 9
0
        // GET: Product
        public ActionResult Index()
        {
            var          user    = SessionHelper.UsuarioLogueado;
            var          prod    = RNProduct.ListarProductos();
            ActionResult validar = Redirect("/Home/Index");

            if (user == null)
            {
                validar = Redirect("/Login/Index");
            }
            else if (SessionHelper.ComprobarPersmisos(user))
            {
                ProductosModel modelo = new ProductosModel
                {
                    Productos = prod,
                };
                validar = View("Productos", modelo);
            }
            return(validar);
        }
Esempio n. 10
0
        public ActionResult Agregar(int id)
        {
            ProductoPedido producto = this.BuscarProducto(id);

            if (producto != null)
            {
                producto.Cantidad++;
                producto.Total = producto.Cantidad * producto.Producto.Precio;
            }
            else
            {
                Producto       productoObject = RNProduct.BuscarProducto(id);
                ProductoPedido nuevoProducto  = new ProductoPedido
                {
                    Producto = productoObject,
                    Cantidad = 1,
                    Total    = productoObject.Precio
                };
                SessionHelper.ProductosCarrito.Add(nuevoProducto);
            }
            return(this.CarritoActualizado());
        }
Esempio n. 11
0
        /**
         * Realiza la venta del producto a nivel de datos. Decrementa el stock del producto o lo elimina si correcponde
         */
        public void DoSell(int idProduct, int idSeller)
        {
            //Buscar en el stock, decrementar, remover del stock si queda cero, agregar a la lista de vendidos
            Product p = this.FindProductInStock(idProduct);
            Seller  s = this.FindSellerById(idSeller);

            if (p != null && s != null)
            {
                p.Stock--;
                if (p.Stock < 0)
                {
                    //this.Stock.Remove(p);
                    //RNProduct.Remove(p);
                }
                else
                {
                    RNProduct.UpdateProduct(p);
                    ProductSeller ps = new ProductSeller(idProduct, idSeller, p.Price);
                    //this.Sold.Add(ps);
                    RNProductSeller.AddProductSeller(ps);
                }
            }
        }
Esempio n. 12
0
        /**
         * Agrega el producto en la base de productos. En caso que ya este incrementa el stock
         */
        public void AddToStock(Product newProduct)
        {
            //Si el producto ya existe solo debe incrementar el stock y actualizar los datos del producto.
            //Primero se debe hacer una busqueda para validar si el producto ya existe en la base
            Product existingProduct = this.FindProductInStock(newProduct.IdProduct);

            if (existingProduct != null)
            {
                existingProduct.Name     = newProduct.Name;
                existingProduct.Stock   += newProduct.Stock;
                existingProduct.Price    = newProduct.Price;
                existingProduct.Active   = newProduct.Active;
                existingProduct.IdSeller = newProduct.IdSeller;
                //existingProduct.Seller = DBService.GetInstance().FindSellerById(newProduct.Seller.IdSeller);
                //existingProduct.Seller = RNSeller.SearchSeller(newProduct.Seller.IdSeller);
                RNProduct.UpdateProduct(existingProduct);
            }
            else
            {
                // this.Stock.Add(newProduct);
                RNProduct.AddProduct(newProduct);
            }
        }
Esempio n. 13
0
 public ActionResult Delete(int id)
 {
     RNProduct.Eliminar(id);
     return(Redirect("/Product/Index"));
 }
Esempio n. 14
0
 /*
  * Cambia el estado del producto a Activado o Desactivado
  */
 internal void ChangeProductStatus(Product product)
 {
     product.Active = !product.Active;
     RNProduct.UpdateProduct(product);
 }