Exemple #1
0
        private async Task <bool> IsFromASignInRedirect()
        {
            if (!Request.Cookies.ContainsKey(Constants.BASKET_COOKIENAME))
            {
                return(false);
            }

            var userNameFromCookie = Request.Cookies[Constants.BASKET_COOKIENAME];

            if (_signInManager.IsSignedIn(HttpContext.User) && (User.Identity.Name != userNameFromCookie))
            {
                var basketFromCookieName = await _basketViewModelService.GetOrCreateBasketForUser(userNameFromCookie);

                if (basketFromCookieName.Items?.Count == 0)
                {
                    return(false);
                }

                var signedInBasket = await _basketViewModelService.GetOrCreateBasketForUser(User.Identity.Name);

                return(signedInBasket.Items?.Count == 0);
            }

            return(false);
        }
        private async Task <BasketViewModel> GetBasketViewModelAsync()
        {
            if (_signInManager.IsSignedIn(HttpContext.User))
            {
                return(await _basketViewModelService.GetOrCreateBasketForUser(User.Identity.Name));
            }
            string anonymousId = GetOrSetBasketCookie();

            return(await _basketViewModelService.GetOrCreateBasketForUser(anonymousId));
        }
Exemple #3
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 #4
0
 private async Task SetBasketModelAsync()
 {
     if (_signInManager.IsSignedIn(HttpContext.User))
     {
         basketModel = await _basketViewModelService.GetOrCreateBasketForUser(User.Identity.Name);
     }
     else
     {  // user is not signed in, get cookie to use as username then get/create basket for user
         GetOrSetBasketCookieAndUsername();
         basketModel = await _basketViewModelService.GetOrCreateBasketForUser(_username);
     }
 }
 private async Task SetBasketModelAsync()
 {
     if (_signInManager.IsSignedIn(HttpContext.User))
     {
         BasketModel = await _basketViewModelService.GetOrCreateBasketForUser(User.Identity.Name, _storeId);
     }
     else
     {
         GetOrSetBasketCookieAndUserName();
         BasketModel = await _basketViewModelService.GetOrCreateBasketForUser(_username, _storeId);
     }
     CityList = _storeService.GetStoreCities(BasketModel.Items[0].StoreId);
 }
        private async Task <BasketViewModel> GetBasketViewModelAsync()
        {
            if (_signInManager.IsSignedIn(HttpContext.User))
            {
                return(await _basketService.GetOrCreateBasketForUser(User.Identity.Name, 0));
            }
            string anonymousId = GetBasketIdFromCookie();

            if (anonymousId == null)
            {
                return(new BasketViewModel());
            }
            return(await _basketService.GetOrCreateBasketForUser(anonymousId, 0));
        }
Exemple #7
0
        private async Task <BasketViewModel> GetBasketViewModelAsync()
        {
            if (_signInManager.IsSignedIn(HttpContext.User))
            {
                throw new ApplicationException("Hahahahahah gotcha!");
                return(await _basketService.GetOrCreateBasketForUser(User.Identity.Name));
            }
            string anonymousId = GetBasketIdFromCookie();

            if (anonymousId == null)
            {
                return(new BasketViewModel());
            }
            return(await _basketService.GetOrCreateBasketForUser(anonymousId));
        }
        private async Task SetBasketModelAsync()
        {
            var countries = await _countryRepository.ListAllAsync();

            ViewData["Countries"] = new SelectList(countries.OrderBy(x => x.Name), "Id", "Name", "175");
            BasketModel           = await _basketViewModelService.GetOrCreateBasketForUser(User.Identity.Name);
        }
Exemple #9
0
        public async Task <IActionResult> OnPost(int wishListItemId)
        {
            var wishlist = await _wishlistViewModelService.GetOrCreateWishlistForUser(User.Identity.Name);

            if (wishlist == null)
            {
                //throw new Exception("Invalid Wishlist");
                return(BadRequest("Invalid Wishlist"));
            }
            var wishListItem = wishlist.Items.Where(x => x.Id == wishListItemId).FirstOrDefault();

            if (wishListItem == null)
            {
                //throw new Exception("Invalid Wishlist");
                return(BadRequest("Item already in Wishlist"));
            }

            var basket = await _basketViewModelService.GetOrCreateBasketForUser(User.Identity.Name);

            if (basket == null)
            {
                return(RedirectToPage("/Login"));
            }
            var catalogItem = await _catalogItemRepository.GetByIdAsync(wishListItem.CatalogItemId);

            await _basketService.AddItemToBasket(basket.Id, wishListItem.CatalogItemId, catalogItem.Price);

            return(RedirectToPage("/Basket/Index"));
        }
Exemple #10
0
        public async Task <IActionResult> AddtemToBasket(CatalogItemViewModel productDetails)
        {
            await _basketService.AddItemToBasket(BasketModel.Id, productDetails.Id, productDetails.Price, 1);

            var BasketModelS = await _basketViewModelService.GetOrCreateBasketForUser("alexis");

            return(Ok(BasketModelS));
        }
Exemple #11
0
        private async Task SetBasketModelAsync()
        {
            if (_signInManager.IsSignedIn(HttpContext.User))
            {
                BasketModel = await _basketViewModelService.GetOrCreateBasketForUser(User.Identity.Name);
            }
            else
            {
                GetOrSetBasketCookieAndUserName();
                BasketModel = await _basketViewModelService.GetOrCreateBasketForUser(_username);
            }

            //Set Min and Max Delivery time
            if (!BasketModel.HasCustomizeItems)
            {
                BasketModel.DeliveryTime = await _basketService.CalculateDeliveryTime(BasketModel.Id);
            }
        }
Exemple #12
0
        private async Task <BasketViewModel> GetBasketViewModelAsync()
        {
            string anonymousId = GetBasketIdFromCookie();

            if (anonymousId == null)
            {
                return(new BasketViewModel());
            }
            return(await _basketService.GetOrCreateBasketForUser(anonymousId));
        }
Exemple #13
0
 public async Task OnGet()
 {
     BasketModel = await _basketViewModelService.GetOrCreateBasketForUser(GetOrSetBasketCookieAndUserName());
 }
 private async Task SetBasketModelAsync()
 {
     GetOrSetBasketCookieAndUserName();
     BasketModel = await _basketViewModelService.GetOrCreateBasketForUser(_username);
 }