public IActionResult IndexPost() { List <int> lstCartItems = HttpContext.Session.Get <List <int> >("ssShoppingCart"); DateTime d1 = DateTime.Now; ShoppingCartVM.Orders.ShopDate = d1.Date; Orders orders = ShoppingCartVM.Orders; _db.Orders.Add(orders); _db.SaveChanges(); int orderId = orders.Id; foreach (int bookId in lstCartItems) { ProductsSelectedForOrder orderItems = new ProductsSelectedForOrder() { OrderId = orderId, BookId = bookId }; _db.ProductsSelectedForOrders.Add(orderItems); } _db.SaveChanges(); lstCartItems = new List <int>(); HttpContext.Session.Set("ssShoppingCart", lstCartItems); return(RedirectToAction("OrderConfirmation", "ShoppingCart", new { Id = orderId })); }
public OrdersController(ApplicationDbContext db) { _db = db; CustomerAllOrdersVM = new CustomerAllOrdersViewModel() { OrderViewModelWithId = new List <OrderViewModelWithId>(), Filter = true }; ProductsSelectedFOrder = new ProductsSelectedForOrder(); }
public async Task <IActionResult> EditOrderProduct(int?id, int ProductsOrder) { ProductsSelectedFOrder = await _db.ProductsSelectedForOrder.Where(x => x.Id == ProductsOrder).FirstOrDefaultAsync(); if (ProductsSelectedFOrder == null) { return(NotFound()); } return(View(ProductsSelectedFOrder)); }
public async Task <IActionResult> ChooseAddressPost() { ShoppingCartVM = new ShoppingCartViewModel() { Products = new List <Products>(), ShoppingCart = new List <ShoppingCart>(), Vat = _db.Statics.Where(a => a.Name == "Vat").FirstOrDefault() }; List <ShoppingCart> lstShoppingCart = HttpContext.Session.Get <List <ShoppingCart> >("ssShoppingCart"); if (lstShoppingCart != null && lstShoppingCart.Count > 0) { foreach (ShoppingCart cartItem in lstShoppingCart) { Products prod = await _db.Products.Include(p => p.ProductTypes).Include(p => p.SpecialTags).Where(p => p.Id == cartItem.ProductId).FirstOrDefaultAsync(); ShoppingCartVM.ShoppingCart.Add(cartItem); ShoppingCartVM.Products.Add(prod); } } string UserId = User.FindFirst(ClaimTypes.NameIdentifier).Value; int ChooenAddress = CustomerAddressRole.SelectedRole; var adrressDb = await _db.CustomerAddresses.Where(x => x.Id == ChooenAddress).FirstOrDefaultAsync(); Orders Order = new Orders() { PersonID = UserId, Country = adrressDb.Country, City = adrressDb.City, Address = adrressDb.Address, Phone = adrressDb.Phone, OrderDate = DateTime.Now, IsSent = false, IsPaid = false, OrderStatus = "Confirmed", Vat = ShoppingCartVM.Vat.DoubleValue }; _db.Orders.Add(Order); await _db.SaveChangesAsync(); int OrderId = Order.Id; foreach (var Cart in ShoppingCartVM.ShoppingCart) { var prod = await _db.Products.Where(p => p.Id == Cart.ProductId).FirstOrDefaultAsync(); ProductsSelectedForOrder productsSelectedForOrder = new ProductsSelectedForOrder() { OrderId = OrderId, ProductId = Cart.ProductId, Quantity = Cart.Quantity, Prise = prod.Price }; _db.ProductsSelectedForOrder.Add(productsSelectedForOrder); } List <ShoppingCart> lstShopping = new List <ShoppingCart>(); HttpContext.Session.Set("ssShoppingCart", lstShopping); _db.CustomerShoppingCart.RemoveRange(_db.CustomerShoppingCart.Where(x => x.PersonID == UserId)); await _db.SaveChangesAsync(); return(RedirectToAction(nameof(OrderConfirmation), Order)); }