//GET Orders/OrderCompleted/6 public async Task <IActionResult> OrderCompleted(int?orderid) { var user = await GetCurrentUserAsync(); var viewModel = new OrderCompletedViewModel(_context, user, orderid); return(View(viewModel)); }
public ActionResult Index() { // check that cart has been processed if (!cart.orderid.HasValue) { return(RedirectToAction("Index", "Cart", new { Area = "checkout" })); } var viewmodel = new OrderCompletedViewModel(baseviewmodel) { store_url = cart.MASTERsubdomain.ToHostName().ToDomainUrl(), order_number = cart.order.orderNumber.ToString("D8"), order_url = cart.order.ToOrderLink() }; viewmodel.paymentType = cart.paymentMethod.ToEnum <PaymentMethodType>(); switch (viewmodel.paymentType) { case PaymentMethodType.Custom: if (cart.paymentCustomId.HasValue) { viewmodel.paymentmethod.instructions = cart.paymentMethod1.instructions; viewmodel.paymentmethod.name = cart.paymentMethod1.name; } break; case PaymentMethodType.Paypal: viewmodel.paymentmethod.name = "Paypal"; break; default: break; } foreach (var entry in cart.cartitems) { var cartitem = new CartItem() { name = entry.product_variant.ToProductFullTitle(), quantity = entry.quantity, thumbnail_url = entry.product_variant.product.thumb.HasValue ? entry.product_variant.product.product_image.ToModel( Imgsize.THUMB).url : GeneralConstants.PHOTO_NO_THUMBNAIL }; viewmodel.cart_items.Add(cartitem); } return(View(viewmodel)); }
public IActionResult CheckOut(OrderViewModel viewModel) { if (ModelState.IsValid) { var order = new Order { FirstName = viewModel.customer.FirstName, LastName = viewModel.customer.LastName, Address = viewModel.customer.Address, Email = viewModel.Email, ZipCode = viewModel.customer.Zipcode, OrderPlaced = DateTime.Now, OrderLines = new List <OrderDetail>() }; if (viewModel.customer.CustomerId != 0) { order.CustomerId = viewModel.customer.CustomerId; // add ID only when logged in as customer. } foreach (var item in viewModel.Cart) { var orderDetail = new OrderDetail { ProductId = item.Product.Id, Quantity = item.Quantity }; order.OrderLines.Add(orderDetail); } _unitOfWork.Orders.Add(order); _unitOfWork.Complete(); var orderCompleteViewModel = new OrderCompletedViewModel { Date = order.OrderPlaced, OrderId = order.Id }; // Clear cart -> in the future as service Response.Cookies.Append("MyCart", ""); return(View("CheckOutCompleted", orderCompleteViewModel)); } return(View(viewModel)); }
// GET: Order/Completed?orderId=5&paymentId=5 public ActionResult Completed(int orderId, int paymentId) { Order order = db.Orders.Find(orderId); Payment payment = db.Payments.Find(paymentId); var model = new OrderCompletedViewModel { OrderId = order.Id, }; if (payment.Status == PaymentStatus.Pending && payment.PaymentMethod.Type == PaymentMethodType.Manual) { model.Message = payment.PaymentMethod.Settings; } return(View(model)); }