Exemplo n.º 1
0
        public async Task <IActionResult> OnPost(int productId)
        {
            Product = productData.GetById(productId);
            Photos  = productData.GetPhotosById(productId);
            var loggedUser = await userManager.GetUserAsync(User);

            if (Product == null)
            {
                return(RedirectToPage("./NotFound"));
            }
            else if (loggedUser == null)
            {
                return(RedirectToPage("../Account/Login"));
            }
            else if (!Product.Available)
            {
                TempData["Message"] = "Product unavailable!";
                return(RedirectToPage("./Detail"));
            }
            else
            {
                var memberId = memberData.GetMemberById(loggedUser.Id).Id;
                var result   = memberData.AddToBasket(memberId, productId);
                if (result == null)
                {
                    TempData["Message"] = "Product already in basket!";
                    return(RedirectToPage("./Detail"));
                }
                TempData["Message"] = "Product added to basket!";
                memberData.Commit();
                return(RedirectToPage("./Detail"));
            }
        }