public ActionResult Edit(tableOrder model) { if (ModelState.IsValid) { db.Entry(model).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult Create(tableOrder model) { if (ModelState.IsValid) { db.tableOrders.Add(model); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(model)); }
public ActionResult OrderProduct(tableOrder p3) { if (Session["UserType"] == null) { return(RedirectToAction("ProductList")); } bool update = true; if (p3.CustomerID == null) { int userId = Convert.ToInt32(Session["UserID"]); p3.CustomerID = userId; p3.Time = DateTime.Now; update = false; } else { p3 = db.tableOrder.Find(p3.ID); } var userWallet = db.tableWallet.FirstOrDefault(x => x.UserID == p3.CustomerID); var muhWallet = db.tableWallet.FirstOrDefault(x => x.tableUser.UserName == "accounting"); var productList = db.tableProduct.Where(x => x.ProductName == p3.ProductName && x.Price == p3.Price); // fiyata göre sıralanması int? q = p3.Quantity; var money = userWallet.Money; decimal availableQuantity = 0; string message = ""; bool completed = false; foreach (var item in productList) { var supplierWallet = db.tableWallet.FirstOrDefault(x => x.UserID == item.UserID); if (item.Quantity > 0) { if (priceCentesimal(item.Price * q) <= money) { if (item.Quantity >= q) { item.Quantity -= q; money -= priceCentesimal(item.Price * q); supplierWallet.Money += item.Price * q; muhWallet.Money += (item.Price * q) / 100; message = "Your purchase has been made."; completed = true; break; } else { q -= item.Quantity; money -= priceCentesimal(item.Price * item.Quantity); supplierWallet.Money += (item.Price * item.Quantity); muhWallet.Money += (item.Price * item.Quantity) / 100; message = "You bought " + item.Quantity + " pieces of " + p3.ProductName + ""; completed = true; item.Quantity = 0; } } else if (money / item.Price >= 1) { double a = Convert.ToDouble(money / item.Price); availableQuantity = Convert.ToDecimal(Math.Round(a)); money -= priceCentesimal(availableQuantity * item.Price); supplierWallet.Money += availableQuantity * item.Price; muhWallet.Money += (availableQuantity * item.Price) / 100; item.Quantity -= Convert.ToInt32(availableQuantity); message = "You bought " + availableQuantity + " pieces of " + p3.ProductName + ""; completed = true; break; } else { completed = false; message = "You don't have enough money for this purchase"; break; } } } p3.State = completed; if (!update) { db.tableOrder.Add(p3); } userWallet.Money = money; db.SaveChanges(); ViewBag.Message = message; return(View()); }