public async Task <PagedList <CartItems> > GetAllItemsPagination(CartItemsParameters cartItemParams) { // Filtering example //var owners = FindByCondition(o => o.DateOfBirth.Year >= ownerParameters.MinYearOfBirth && // o.DateOfBirth.Year <= ownerParameters.MaxYearOfBirth) // .OrderBy(on => on.Name); var res = await GetAllAsync(); return(PagedList <CartItems> .ToPagedList(res, cartItemParams.PageNumber, cartItemParams.PageSize)); }
public async Task <IActionResult> GetAllCartItemsAsync([FromQuery] CartItemsParameters cartItemParams, string?recordKey = null) { if (string.IsNullOrEmpty(recordKey)) { var cartItems = await _cartItemsService.GetAllCartItemsPaginationAsync(cartItemParams); var cartItemsDTO = _mapper.Map <IEnumerable <CartItemsDTO> >(cartItems); return(Ok(cartItemsDTO)); } var casheItem = await _cacheService.GetRecordAsync <IEnumerable <CartItemsDTO> >(recordKey); if (casheItem == null) { var cartItems = await _cartItemsService.GetAllCartItemsPaginationAsync(cartItemParams); var cartItemsDTO = _mapper.Map <IEnumerable <CartItemsDTO> >(cartItems); await _cacheService.SetRecordAsync <IEnumerable <CartItemsDTO> >(recordKey, cartItemsDTO, TimeSpan.FromSeconds(3600)); } return(Ok(casheItem)); }
public async Task GetAllItemsPagination_ShouldReturnPagedList() { //Arrange int count = 2; int pageNumber = 2; int pageSize = 2; var ciparams = new CartItemsParameters() { PageNumber = 1, PageSize = 2 }; var cartItemsList = new List <CartItems> { new CartItems() { Amount = 2, CartId = 1, Id = 1, ItemId = 23 }, new CartItems() { Amount = 75, CartId = 4, Id = 2, ItemId = 87 }, new CartItems() { Amount = 75, CartId = 4, Id = 3, ItemId = 223 }, new CartItems() { Amount = 34, CartId = 2, Id = 4, ItemId = 234 }, }; var cartItems = new PagedList <CartItems>(cartItemsList, count, pageNumber, pageSize); _cartRepostitoryMock.Setup(x => x.GetAllItemsPagination(ciparams)).ReturnsAsync(() => cartItems); //Act var cartItemRes = await _cartItemsServiceMock.GetAllCartItemsPaginationAsync(ciparams); //Assert Assert.Equal(cartItems, cartItemRes); Assert.NotNull(cartItemRes); }
public async Task <PagedList <CartItems> > GetAllCartItemsPaginationAsync(CartItemsParameters cartItemParams) { return(await _cartItemsRepository.GetAllItemsPagination(cartItemParams)); }