Пример #1
0
        public async Task <IActionResult> GetItemSetsAsync([FromQuery] ItemSetFilterParams filterParams)
        {
            try
            {
                var itemSetList = await _repository.ItemSetRepo.GetItemSetsAsync(filterParams);

                var paginatedList = await PaginatedList <CItemSet> .CreateAsync(itemSetList, filterParams.Page, filterParams.PageSize > 100? 100 : filterParams.PageSize);

                var responseObject = new
                {
                    category   = "itemsets",
                    page       = paginatedList.PageIndex,
                    totalPages = paginatedList.TotalPages,
                    pageSize   = paginatedList.PageSize,
                    items      = paginatedList.CreateResultObject()
                };

                _logger.LogInfo($"Returned itemsets. {filterParams.ToString()}");

                return(Ok(responseObject));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Some error in the GetItemSetsAsync method: {ex}");
                return(StatusCode(500, "Internal server error"));
            }
        }