public async Task <GetUserBasketItemsResponse> Get() { return(await _authorizationLayer.ExecuteAuthorizedAction(User.Identity, id => _basketItemsRepository.GetBasketItems(id), e => GetUserBasketItemsResponse.CreateFailedResult(e), "An error occurred while trying to fetch the users basket items.")); }
/// <summary> /// Retrieves all the items from the basket of the given user. /// </summary> /// <param name="userId">The user ID for whom to retrieve the basket items for.</param> /// <returns> /// A response containing the items of the users basket as well as a flag for success/failure (in which an error message will also exist). /// </returns> public async Task <GetUserBasketItemsResponse> GetBasketItems(int userId) { var basket = GetOrCreateAndGetBasket(userId); return(GetUserBasketItemsResponse.CreateSuccessfulResult(basket.Select(i => i.Value).ToList())); }
/// <summary> /// List all the items currently in the user's basket. /// </summary> /// <returns> /// A list of items in the user's basket and a flag to denote if the operation /// was successful or not - in which case an error message will be included. /// </returns> public async Task <GetUserBasketItemsResponse> ListBasketItems() { return(await GetCall( $"{EnvironmentService.ServiceEndpoints[KnownService.BasketService]}", e => { return GetUserBasketItemsResponse.CreateFailedResult(e.Message); })); }