Exemplo n.º 1
0
        public Result <GetModuleListResponse> GetSortedFilteredList(GetModuleListRequest input)
        {
            try
            {
                var modules = _moduleRepo.GetAsync().FilterSortAndGetPage(
                    config: input.AsFilterSortPageConfig(),
                    args: input,
                    itemCount: out int itemCount);

                var results = new GetModuleListResponse
                {
                    ModuleList = modules.Select(ModuleListResponse.GetFromModule).ToArray()
                };

                return(Result <GetModuleListResponse> .Ok(results, itemCount));
            }
            catch (SqlException)
            {
                return(Errors.Module.GetListModuleDatabaseError);
            }
        }
 public IActionResult GetList([FromQuery] GetModuleListRequest request)
 {
     return(Ok(_moduleService.GetSortedFilteredList(request)));
 }
Exemplo n.º 3
0
 public static IFilterSortPageConfig <Module, GetModuleListRequest, int> AsFilterSortPageConfig(this GetModuleListRequest input) =>
 new FilterSortPageConfigBuilder <Module, GetModuleListRequest, int>(
     primaryKeySelector: n => n.Id,
     pageSize: input.pageSize,
     pageNumber: input.pageNumber)
 .WithFiltering(FILTERS)
 .WithSorting(
     sortCriteria: input.sortCriteria ?? DEFAULT_SORT_CRITERIA,
     orderByStringKeySelectors: ORDER_BY_STRING
     )
 .Build();