public PagingResult <JobLimited> GetByPagination(PaginationFilter paginationFilter, JobsQueryParameter queryParameters) { var queryExpression = new JobsQuery().Build(queryParameters); var query = _jobsRepository.GetWithPagination(queryExpression.Compile(), paginationFilter.Page, paginationFilter.ItemsPerPage); if (!string.IsNullOrWhiteSpace(paginationFilter.ColumnToOrder)) { query = paginationFilter.Ascending ? query.OrderBy(paginationFilter.ColumnToOrder) : query.OrderByDescending(paginationFilter.ColumnToOrder); } return(new PagingResult <JobLimited> { TotalItems = query.Count(), Data = query, ItemsPerPage = paginationFilter.ItemsPerPage, Page = paginationFilter.Page }); }
public ActionResult <PagingResult <JobLimited> > Get(PaginationParameters parameters, JobsQueryParameter queryParameters) { try { var result = _jobsService.GetByPagination(new PaginationFilter { Search = "",//parameters.search["value"], ItemsPerPage = parameters.Length, Page = parameters.Start / parameters.Length, ColumnToOrder = "Id", Ascending = false }, queryParameters); return(result); } catch (Exception ex) { //Do the loggin _logger.LogError($"Threw exception while getting jobs {ex}"); } return(new BadRequestResult()); }