Exemple #1
0
 private async Task SetBasketModelAsync()
 {
     if (_signInManager.IsSignedIn(HttpContext.User))
     {
         BasketModel = await _basketViewModelService.GetOrCreateBasketForUser(User.Identity.Name);
     }
     else
     {
         GetOrSetBasketCookieAndUserName();
         BasketModel = await _basketViewModelService.GetOrCreateBasketForUser(_username);
     }
 }
Exemple #2
0
        public async Task OnPostUpdate(IEnumerable <BasketItemViewModel> items)
        {
            if (!ModelState.IsValid)
            {
                return;
            }

            var basketView = await _basketViewModelService.GetOrCreateBasketForUser(GetOrSetBasketCookieAndUserName());

            var updateModel = items.ToDictionary(b => b.Id.ToString(), b => b.Quantity);
            var basket      = await _basketService.SetQuantities(basketView.Id, updateModel);

            BasketModel = await _basketViewModelService.Map(basket);
        }
Exemple #3
0
        public async Task <IActionResult> OnPost(CatalogItemViewModel productDetails)
        {
            if (productDetails?.Id == null)
            {
                return(RedirectToPage("/Index"));
            }

            var username = GetOrSetBasketCookieAndUserName();
            var basket   = await _basketService.AddItemToBasket(username,
                                                                productDetails.Id, productDetails.Price);

            BasketModel = await _basketViewModelService.Map(basket);

            return(RedirectToPage());
        }
Exemple #4
0
 public async Task OnGet()
 {
     BasketModel = await _basketViewModelService.GetOrCreateBasketForUser(GetOrSetBasketCookieAndUserName());
 }