public PageResultDTO <ClaimDTOWithAction> GetClaimsWithActions(long periodId, string employeeNo, int pageSize, int pageIndex, QueryStringConditions queryStringConditions) { var fs = new ListFetchStrategy <Claim>(Enums.FetchInUnitOfWorkOption.NoTracking); var sortBy = QueryConditionHelper.GetSortByDictionary(queryStringConditions.SortBy); foreach (var item in sortBy) { fs.SortCriterias.Add(new StringSortCriteria <Claim>(item.Key, (item.Value.ToUpper() == "ASC") ? Enums.SortOrder.Ascending : Enums.SortOrder.Descending)); } fs.OrderBy(x => x.Id); fs.WithPaging(pageSize, pageIndex); claimRep.FindBy(fs, employeeNo, new PeriodId(periodId)); var res = new PageResultDTO <ClaimDTOWithAction>(); res.InjectFrom(fs.PageCriteria.PageResult); res.Result = fs.PageCriteria.PageResult.Result.Select(r => claimDTOWithActionsMapper.MapToModel(r)).ToList(); return(res); }