public PagedResponse <ProjectAbbreviatedDTO> FindPage(FindPageRequest <ProjectFilterOptions, ProjectOrderOptions> req) { var res = new PagedResponse <ProjectAbbreviatedDTO>(); var query = _projectRepository.GetBasicQuery(); //foreach (var option in req.Filters) //{ // query.ApplyFilterOption(option.Option, option.Value); //} query.ApplySortingOptions(req.SortingOption) .Page(req.PageNum, req.PageSize); var projects = query.ToList(); if (projects != null || projects.Count == 0) { return((PagedResponse <ProjectAbbreviatedDTO>) res.ReturnErrorResponseWith("Projects not found for query")); } res.Success = true; res.EntitiesDTO = _mapper.Map <ICollection <Project>, ICollection <ProjectAbbreviatedDTO> >(projects); res.PageNum = req.PageNum; res.PageSize = req.PageSize; res.MaxPage = query.Count() / req.PageSize; return(res); }