public ActionResult CreatEysal(Senef Seneflist) { int clientId = 0; decimal total = 0; List<Senef> Temp = new List<Senef>(); Senef tempee = new Senef(); Senef Senoof = db.Senef.Where(s => s.FirstName.Equals(Seneflist.FirstName)).FirstOrDefault(); if (Senoof == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } tempee.SenefId = Senoof.SenefId; tempee.FirstName = Seneflist.BillType; tempee.Quantity = Seneflist.Quantity; tempee.Price = Senoof.Price; total = Seneflist.Quantity; Temp.Add(tempee); clientId = Seneflist.ClientID; if (clientId == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } var client = db.Client.Find(clientId); if (client == null) { return HttpNotFound(); } var order = new BillClient(); TryUpdateModel(order); try { order.MoneyType =Seneflist.MoneyType; order.cashtype = "له / دائن"; order.BillType = "ايصال"; order.FirstName = client.FirstName; order.LastName = client.LastName; order.Phone = client.Phone; order.ClientId = client.ClientId; order.OrderDate = DateTime.Now.AddHours(10); order.Total = total; ////Save Order db.BillClient.Add(order); db.SaveChanges(); ////Process the order int idds = CreateOrder(Temp, order); return RedirectToAction("Index", "OrderDetails", new { Id = order.BillClientId, ClientId = client.ClientId }); } catch { //Invalid - redisplay with errors return View(order); } }
public ActionResult Create(ICollection<Senef> Seneflist) { int clientId = 0; bool checke = false; decimal total = 0; List<Senef> Temp = new List<Senef>(); foreach (Senef se in Seneflist) { Senef tempee = new Senef(); checke = se.needthis; if (checke == true) { Senef Senoof = db.Senef.Where(s => s.FirstName.Equals(se.FirstName)).FirstOrDefault(); if (Senoof == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } tempee.SenefId = Senoof.SenefId; tempee.FirstName = se.FirstName; tempee.Quantity = se.Quantity; if (se.ChangePrice == true) { tempee.Price = se.NewPrice; total = total + (se.NewPrice * se.Quantity); } else { tempee.Price = Senoof.Price; total = total + (Senoof.Price * se.Quantity); } Temp.Add(tempee); clientId = se.ClientID; } } if (clientId == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } var client = db.Client.Find(clientId); if (client == null) { return HttpNotFound(); } var order = new BillClient(); TryUpdateModel(order); try { order.MoneyType = Seneflist.FirstOrDefault().MoneyType; order.cashtype = Seneflist.FirstOrDefault().cashtype; order.BillType = Seneflist.FirstOrDefault().BillType; order.FirstName = client.FirstName; order.LastName = client.LastName; order.Phone = client.Phone; order.ClientId = client.ClientId; order.OrderDate = DateTime.Now.AddHours(10); order.Total = total; ////Save Order db.BillClient.Add(order); db.SaveChanges(); ////Process the order int idds = CreateOrder(Temp, order); return RedirectToAction("Index", "OrderDetails", new { Id = order.BillClientId, ClientId=client.ClientId }); } catch { //Invalid - redisplay with errors return View(order); } //if (ModelState.IsValid) //{ // db.BillClient.Add(billClient); // db.SaveChanges(); // return RedirectToAction("Index"); //} //ViewBag.ClientId = new SelectList(db.Client, "ClientId", "Title", billClient.ClientId); //return View(); }
private int CreateOrder(List<Senef> Temp, BillClient order) { ApplicationDbContext storeDB = new ApplicationDbContext(); decimal orderTotal = 0; // var cartItems = GetCartItems(); // Iterate over the items in the cart, // adding the order details for each foreach (var item in Temp) { var orderDetail = new OrderDetails { ProductId = item.SenefId, productName = item.FirstName, BillClientId = order.BillClientId, UnitPrice = item.Price, Quantity = item.Quantity, Total = item.Quantity * item.Price, OrderDate = DateTime.Now.AddHours(10) }; // Set the order total of the shopping cart orderTotal += (item.Quantity * item.Price); storeDB.OrderDetails.Add(orderDetail); } // Set the order's total to the orderTotal count order.Total = orderTotal; // Save the order storeDB.SaveChanges(); // Return the OrderId as the confirmation number return order.BillClientId; }