public async Task <IActionResult> Purchase() { User user = await _context.Users.Include(u => u.Orders) .Include(up => up.UserProducts) .ThenInclude(p => p.Product) .FirstAsync(u => u.Email.Equals(User.FindFirstValue(ClaimTypes.Email))); if (user.UserProducts.Count() != 0) { var data = _context.Products.Include(b => b.Brand).Include(p => p.UserProducts).ThenInclude(u => u.User); var products = from p in data where p.UserProducts.Any(up => up.UserId == user.UserId) select p; Order newOrder = new Order() { UserId = user.UserId, User = user, OrderDate = DateTime.Now, OrderProducts = new List <OrderProduct>() }; var addedOrder = _context.Add(newOrder).Entity; await _context.SaveChangesAsync(); foreach (var item in products) { addedOrder.OrderProducts.Add(new OrderProduct() { OrderId = addedOrder.OrderId, Order = addedOrder, ProductId = item.ProductId, Product = item }); } _context.Update(addedOrder); await _context.SaveChangesAsync(); if (user.Orders == null) { user.Orders = new List <Order>(); } user.Orders.Add(addedOrder); user.UserProducts.Clear(); _context.Update(user); await _context.SaveChangesAsync(); } return(RedirectToAction("GetMyOrders", "Orders")); }
public async Task <IActionResult> Create([Bind("BrandId,BrandName")] Brand brand) { if (ModelState.IsValid) { _context.Add(brand); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(brand)); }
public async Task <IActionResult> Create([Bind("BranchId,BranchName,Address,Latitude,Longitude")] Branch branch) { if (ModelState.IsValid) { _context.Add(branch); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(branch)); }
public async Task <IActionResult> Create([Bind("OrderId,OrderDate,UserId")] Order order) { order.User = _context.Users.SingleOrDefault(u => u.UserId == order.UserId); if (ModelState.IsValid) { _context.Add(order); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(order)); }
public async Task <IActionResult> Create([Bind("ProductId,ProductName,ProductPrice,ProductType,BrandId,ImageFile")] Product product) { product.Brand = _context.Brand.SingleOrDefault(b => b.BrandId == product.BrandId); if (ModelState.IsValid) { using (MemoryStream ms = new MemoryStream()) { product.ImageFile.CopyTo(ms); product.Image = ms.ToArray(); } _context.Add(product); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["BrandId"] = new SelectList(_context.Brand, "BrandId", "BrandName", product.BrandId); return(View(product)); }