public ActionResult Delete(int?productId) { // Get the connected user User usrConnected = (User)HttpContext.Session["user"]; // Get the user by the id and remove it from the database Product product = db.Products.Find(productId); Order order = null; ProductsPerOrder prdPerOrd = null; if (usrConnected != null) { order = db.Orders.SingleOrDefault(x => x.UserId == usrConnected.UserId && x.isOpen == true); } if (product != null && order != null) { prdPerOrd = db.ProductsPerOrder.FirstOrDefault(x => x.OrderId == order.OrderId && x.ProductId == product.ProductId); } if (prdPerOrd == null) { ViewBag.errorMsg = "המוצר אינו קיים בהזמנה, אנא רענן את העמוד"; } else { db.ProductsPerOrder.Remove(prdPerOrd); db.SaveChanges(); } // Redirect to Cart page return(RedirectToAction("Index", "Order")); }
public ActionResult AddProduct(int?productId) { if (productId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // Get the product by the id Product product = db.Products.Find(productId); if (product == null) { ViewBag.errorMsg = "המוצר אינו קיים במערכת, אנא רענן את העמוד"; return(View("~/Views/Product/Index.cshtml")); } else { Order ord = null; bool isNewOrder = false; // Get the connected user User usrConnected = (User)HttpContext.Session["user"]; if (usrConnected != null) { // Check if this user has already an open order ord = db.Orders.SingleOrDefault(x => x.UserId == usrConnected.UserId && x.isOpen == true); User usrToAttach = db.Users.SingleOrDefault(x => x.UserId == usrConnected.UserId); // If the user doesn't have any open order than create new one if (ord == null) { isNewOrder = true; ord = new Order() { isOpen = true, UserId = usrToAttach.UserId, User = usrToAttach, }; } // Add the product to the order ProductsPerOrder prdPerOrd = new ProductsPerOrder() { OrderId = ord.OrderId, Order = ord, ProductId = product.ProductId, Product = product }; db.ProductsPerOrder.Add(prdPerOrd); if (isNewOrder) { db.Orders.Add(ord); } db.SaveChanges(); return(View()); } else { return(View("~/Views/User/Login.cshtml")); } } }