public void SaveOrderWare(OrderWare orderware, Cart cart) { if (orderware.ID == 0) { context.OrderWares.Add(orderware); } else { OrderWare dbEntry = context.OrderWares.Find(orderware.ID); if (dbEntry != null) { //dbEntry.OrderId = orderware.OrderId; //dbEntry.UserId = orderware.UserId; //dbEntry.WareId = orderware.WareId; foreach (var item in cart.Lines) { dbEntry.OrderId = orderware.OrderId; dbEntry.UserId = orderware.UserId; dbEntry.WareId = item.Ware.ID; context.SaveChanges(); } } } context.SaveChanges(); }
public ViewResult Checkout(Cart cart, ShippingDetails shippingDetails) { string userLogin = User.Identity.Name; User user = userrepos.Users.FirstOrDefault(u => u.Login == userLogin); if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Извините, ваша корзина пуста!"); } if (ModelState.IsValid) { if (user != null) { DateTime dt = DateTime.Now; Order order = new Order { Date = dt, User1 = user.Login, Sum = cart.ComputeTotalValue() }; orderrepos.SaveOrder(order); OrderWare ow; foreach (var item in cart.Lines) { ow = new OrderWare(); ow.OrderId = order.Id; ow.UserId = user.ID; ow.WareId = item.Ware.ID; orwarrepos.SaveOrderWare(ow, cart); } } //foreach (var item in cart.Lines) //{ // dbEntry.OrderId = orderware.OrderId; // dbEntry.UserId = orderware.UserId; // dbEntry.WareId = item.Ware.ID; // context.SaveChanges(); //} //orwarrepos.SaveOrderWare(ow, cart); orderProcessor.ProcessOrder(cart, shippingDetails); cart.Clear(); return(View("Completed")); } else { return(View(shippingDetails)); } }