public FilterDeclarationsDto GetAllDeclarationsWithQuery(List <QueryDto> queries, int pageNumber, int maxRowsPerPage, string sortBy, bool sortDesc) { try { using (var context = new CTDSContext()) { FilterDeclarationsDto filterDeclarationsDto = new FilterDeclarationsDto(); var expression = QueryBuilder(queries); var filteredDeclarations = context.Declaration .Where(expression) .ToList(); filterDeclarationsDto.TotalCount = filteredDeclarations.Count; var sortedList = new List <Declaration>(); if (sortDesc) { sortedList = filteredDeclarations.OrderByDescending(a => a.GetType().GetProperty(sortBy).GetValue(a, null)).ToList(); } else { sortedList = filteredDeclarations.OrderBy(a => a.GetType().GetProperty(sortBy).GetValue(a, null)).ToList(); } var perPageFilteredDeclarations = sortedList.Skip((pageNumber - 1) * maxRowsPerPage).Take(maxRowsPerPage).ToList(); var perPageFilteredDeclarationDtos = Mapper.DeclarationListToDtoList(perPageFilteredDeclarations).ToList(); filterDeclarationsDto.Declarations = perPageFilteredDeclarationDtos; return(filterDeclarationsDto); } } catch (Exception e) { throw e; } }
public FilterDeclarationsDto GetAllDeclarationsWithQuery(List <QueryDto> queries, int pageNumber, int maxRowsPerPage) { try { using (var context = new CTDSContext()) { FilterDeclarationsDto filterDeclarationsDto = new FilterDeclarationsDto(); var expression = QueryBuilder(queries); var filteredDeclarations = context.Declaration .Where(expression) .ToList(); filterDeclarationsDto.TotalCount = filteredDeclarations.Count; var perPageFilteredDeclarations = filteredDeclarations.Skip((pageNumber - 1) * maxRowsPerPage).Take(maxRowsPerPage).ToList(); var perPageFilteredDeclarationDtos = Mapper.DeclarationListToDtoList(perPageFilteredDeclarations).ToList(); filterDeclarationsDto.Declarations = perPageFilteredDeclarationDtos; return(filterDeclarationsDto); } } catch (Exception e) { throw e; } }