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 AddressAndPayment() { var cart = ShoppingCart.GetCart(HttpContext,DataManager); if (cart.GetCountItems() == 0) return RedirectToAction("Index", "ShoppingCart"); var mPayId = DataManager.MethodOfPayments.GetAll().OrderBy(x => x.Id).First().Id; var mDelId = DataManager.MethodOfDeliveries.GetAll().OrderBy(x => x.Id).First().Id; var model = new Order() { Total = cart.GetTotal(), MethodOfDeliveryId = mDelId, MethodOfPaymentId = mPayId, }; if (User.Identity.IsAuthenticated) { var user = UserManager.FindById(CurrentUserId); model.FirstName = user.FirstName; model.LastName = user.LastName; model.MiddleName = user.MiddleName; model.Phone = user.PhoneNumber; model.City = user.City; model.Email = user.Email; model.Country = DataManager.Coutries.SearchFor(t => t.Id == user.CountryId).Single().Name; } ViewBag.MethodOfDeliveryId = new SelectList(DataManager.MethodOfDeliveries.GetAll() .OrderBy(x => x.Id), "Id", "Name", model.MethodOfDeliveryId); ViewBag.MethodOfPaymentId = new SelectList(DataManager.MethodOfPayments.GetAll() .OrderBy(x => x.Id), "Id", "Name", model.MethodOfPaymentId); return View(model); }
public ActionResult AddressAndPayment(Order model) { if (ModelState.IsValid) { var cart = ShoppingCart.GetCart(HttpContext, DataManager); if (cart.GetCountItems() == 0) return RedirectToAction("Index", "ShoppingCart"); var orderId = cart.CreateOrder(model); return RedirectToAction("Complete","Checkout", new { id = orderId }); } ViewBag.MethodOfDeliveryId = new SelectList(DataManager.MethodOfDeliveries.GetAll() .OrderBy(x => x.Name), "Id", "Name", model.MethodOfDeliveryId); ViewBag.MethodOfPaymentId = new SelectList(DataManager.MethodOfPayments.GetAll() .OrderBy(x => x.Name), "Id", "Name", model.MethodOfPaymentId); return View(model); }