// GET: Baskets
        public async Task <IActionResult> Index(BasketCompatabiltyModel basketVM)
        {
            var baskets = from b in _context.Basket
                          select b;

            var products = from p in _context.Products
                           select p;

            //If no user exists catch error
            var user = await _userManager.FindByNameAsync(ControllerContext.HttpContext.User.Identity.Name);

            string userId = await _userManager.GetUserIdAsync(user);

            baskets  = baskets.OrderBy(d => d.ProductId).Where(s => s.CustomerId.Equals(userId));
            products = products.OrderBy(q => q.ProductId).Where(p => baskets.Any(p2 => p2.ProductId == p.ProductId));

            basketVM.Bvm.baskets  = baskets.ToList();
            basketVM.Pvm.products = products.ToList();

            //If user basket is empty return null model instance
            if (basketVM.Bvm.baskets.Count() == 0)
            {
                basketVM = new BasketCompatabiltyModel();
            }

            await _context.SaveChangesAsync();

            return(View(basketVM));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Create([Bind("ProductId,ProductName,ProductPrice,ProductQuantity,ProductDescription,ProductCategory")] Products products)
        {
            if (ModelState.IsValid)
            {
                _context.Add(products);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(products));
        }