// GET: ProductModels public ActionResult AgregarNota(string prodNoExistente) { List <ProductOrderModels> lobeProdNoExistente = (List <ProductOrderModels>)Session["lobeProdNoExistente"]; ProductOrderModels oProd = new ProductOrderModels() { Id = 0, IdProducto = 0, Nombre = prodNoExistente, cantidadPedida = 0, UrlImagen = "", PrecioCosto = 0, PrecioVenta = 0 }; if (lobeProdNoExistente != null) { lobeProdNoExistente.Add(oProd); } else { lobeProdNoExistente = new List <ProductOrderModels>(); lobeProdNoExistente.Add(oProd); } Session["lobeProdNoExistente"] = lobeProdNoExistente; return(RedirectToAction("Index", "ProductModels", new { strBus = "" })); //return RedirectToAction("Index", prods.ToList()); }
private List <ProductOrderModels> FiltrarProdsSinStock(List <ProductOrderModels> lobeProd) { if (lobeProd != null) { List <ProductOrderModels> lobeProdFiltrada = new List <ProductOrderModels>(); ProductModels oProdOri; ProductOrderModels oProdNuevo; foreach (ProductOrderModels oProd in lobeProd) { oProdOri = db.ProductModels.Find(oProd.IdProducto); if (oProd.cantidadPedida > oProdOri.Stock) { oProdNuevo = new ProductOrderModels() { cantidadPedida = oProd.cantidadPedida - oProdOri.Stock, Id = 0, IdProducto = oProd.IdProducto, Nombre = oProd.Nombre, PrecioCosto = oProd.PrecioCosto, PrecioVenta = oProd.PrecioVenta }; lobeProdFiltrada.Add(oProdNuevo); } } return(lobeProdFiltrada); } return(null); }
// GET: ProductModels/Delete/5 public ActionResult Agregar(int?hdfId, string hdfIdSesion = "", string desAdicional = "", int cantidad = 1) { if (hdfId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ProductModels productModels = db.ProductModels.Find(hdfId); if (hdfIdSesion == null) { return(HttpNotFound()); } //List<ProductOrderModels> lobeProdsPedido = (List<ProductOrderModels>)Session[hdfIdSesion + "lobeProdsPedido"]; List <ProductOrderModels> lobeProdsPedido = (List <ProductOrderModels>)Session["lobeProdsPedido"]; ProductOrderModels oProd; if (lobeProdsPedido != null && lobeProdsPedido.Count > 0) { UtilModels.idProd = productModels.Id; oProd = lobeProdsPedido.Find(UtilModels.FiltrarProdOrder); if (oProd != null) { oProd.cantidadPedida += cantidad; oProd.DescripcionAdicional += "-" + desAdicional; } else { oProd = new ProductOrderModels() { Id = productModels.Id, IdProducto = productModels.Id, Nombre = productModels.Nombre, DescripcionAdicional = desAdicional, PrecioCosto = productModels.PrecioCosto, PrecioVenta = productModels.PrecioVenta, UrlImagen = productModels.UrlImagen, cantidadPedida = cantidad }; lobeProdsPedido.Add(oProd); } } else { lobeProdsPedido = new List <ProductOrderModels>(); oProd = new ProductOrderModels() { Id = productModels.Id, IdProducto = productModels.Id, Nombre = productModels.Nombre, DescripcionAdicional = desAdicional, PrecioCosto = productModels.PrecioCosto, PrecioVenta = productModels.PrecioVenta, UrlImagen = productModels.UrlImagen, cantidadPedida = cantidad }; lobeProdsPedido.Add(oProd); } //Session[hdfIdSesion + "lobeProdsPedido"] = lobeProdsPedido; Session["lobeProdsPedido"] = lobeProdsPedido; string strBus = (string)Session["busqueda"]; return(RedirectToAction("Index", "ProductModels", new { strBus = strBus, idSesion = hdfIdSesion })); }
public ActionResult PlaceOrder(int id) { string Name = User.Identity.GetUserName(); var result = db.CartModels.Find(id); AccountInfoModels accountInfoModels = db.AccountInfoModels.Where(s => s.Email == Name).FirstOrDefault(); if (accountInfoModels.Phone == null) { string redirectUrl = "/Manage/Index"; return(Redirect(redirectUrl)); } else { if (result != null) { var productToCart = db.ProductsChartModels.Where(b => b.CartId == id).ToList(); var userOrder = new OrderModels(); userOrder.AccountId = " "; userOrder.Email = Name; userOrder.TotalAmount = result.TotalAmount; userOrder.NumberOfProducts = result.NumberOfProducts; userOrder.Name = accountInfoModels.Name; userOrder.Address = accountInfoModels.Address; userOrder.City = accountInfoModels.City; userOrder.State = accountInfoModels.State; userOrder.Phone = accountInfoModels.Phone; db.OrderModels.Add(userOrder); db.SaveChanges(); var userOrderAftePlacement = db.OrderModels.Where(b => b.Email == Name).Where(b => b.Name == accountInfoModels.Name).OrderByDescending(s => s.Id).Take(1).FirstOrDefault(); foreach (var item in productToCart) { var product = db.ProductsModels.Find(item.ProductId); var productToOrder = new ProductOrderModels(); productToOrder.CartId = userOrderAftePlacement.Id; productToOrder.ProductId = product.Id; db.ProductOrderModels.Add(productToOrder); db.SaveChanges(); product.Stock = product.Stock - 1; db.ProductsChartModels.Remove(item); db.SaveChanges(); } result.TotalAmount = 0; result.NumberOfProducts = 0; db.SaveChanges(); } } string redirectUrl1 = "/Cart/Index"; return(Redirect(redirectUrl1)); }