public async Task <IActionResult> OnPost() { Memberships = membershipData.GetMemberships(); ApplicationUser = await userManager.GetUserAsync(User); if (ModelState.IsValid) { foreach (var cartItem in HttpContext.Session.GetObjectFromJson <List <ShoppingCart> >("CartItems").ToList()) { OrderDetails.Add(new OrderDetail { Product = productData.GetProductById(cartItem.Id), Quantity = cartItem.Quantity }); // Product = productData.GetProductById(cartItem.Id); Product.Quantity -= cartItem.Quantity; // } if (Selected != null) { var membership = membershipData.GetMembershipById(Convert.ToInt32(Selected)); ApplicationUser.Membership = membership; Order.OrderTotal = cartBL.MemberOnCheckout(Convert.ToDouble(HttpContext.Session.GetString("TotalPrice")), ApplicationUser); } else { Order.OrderTotal = Convert.ToDouble(HttpContext.Session.GetString("TotalPrice")); } Order.OrderDetails = OrderDetails; Order.UserId = ApplicationUser.Id; // Order.DateOrdered = DateTime.Now; // orderData.CreateOrder(Order); orderData.Commit(); HttpContext.Session.Remove("CartItems"); return(RedirectToPage("/Order/CheckoutComplete")); } return(Page()); }