Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 public async Task <PagedList <CartItems> > GetAllCartItemsPaginationAsync(CartItemsParameters cartItemParams)
 {
     return(await _cartItemsRepository.GetAllItemsPagination(cartItemParams));
 }