public int CreateOrder(Order order) { var c = new OrderDetail(); order.OrderDate = DateTime.Now; order.OrderStatusId = 1; // новый заказ => статус не обработано order.Total = GetTotal(); // общую сумму пересчитаем!!! DataManager.Orders.Insert(order); // запишем заказ в базу данных //----------------------------------------------------------------// // в таблицу OrderDetail запишем подробности нашего заказа var cartItems = GetCartItems(); foreach (var orderDetail in cartItems.Select(item => new OrderDetail { OrderId = order.Id, UnitPrice = item.Price, Quantity = item.Count, ProductId = item.ProductId, })) { DataManager.OrderDetails.Insert(orderDetail); } //-----------------------------------------------------------------// EmptyCart(); // после оформления заказа необходимо очистить корзину ! return order.Id; }
public ActionResult EditItemFromOrderDetails(OrderDetail model) { if (ModelState.IsValid) { var original = db.OrderDetails.Single(t => t.Id == model.Id); if (original != null) { if (original.Quantity != model.Quantity || Math.Abs(original.UnitPrice - model.UnitPrice) > 0) original.Quantity = model.Quantity; original.UnitPrice = model.UnitPrice; db.SaveChanges(); var order = db.Orders.Single(t => t.Id == original.OrderId); var list = db.OrderDetails.Where(t => t.OrderId == order.Id).ToList(); var total = (from d in list select d.UnitPrice*d.Quantity).Sum(); order.Total = total; db.SaveChanges(); return RedirectToAction("EditListOrder", "ManagerOrder", new {id = order.Id}); } } return View(model); }