public async Task <ActionResult <Job[]> > GetAllJobs(int pageNumber = 1, int pageSize = Data.Constants.Paging.DefaultPageSize, string sortBy = "JobId Desc") { EntityCollection <Job> dbJobs = null; try { dbJobs = await _repository.GetAllJobsAsync(pageNumber, pageSize, sortBy); } catch (ParseException ex) { return(BadRequest("Request format is invalid: " + ex.Message)); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } if (dbJobs == null) { return(NotFound()); } Data.ModelObjectCollection <Data.Models.Job> Jobs = new ModelObjectCollection <Data.Models.Job> { TotalCount = dbJobs.TotalCount, PageNumber = dbJobs.PageNumber, PageSize = dbJobs.PageSize, TotalPages = dbJobs.TotalPages, SortBy = dbJobs.SortBy, NextPageNumber = dbJobs.NextPageNumber, PrevPageNumber = dbJobs.PrevPageNumber, NextPageUrl = "", PrevPageUrl = "", Data = _mapper.Map <Data.Models.Job []>(dbJobs.Data) }; Jobs.NextPageUrl = (Jobs.PageNumber == Jobs.TotalPages) ? "" : ("api/Jobs?pageNumber" + Jobs.NextPageNumber.ToString()) + "&pageSize=" + Jobs.PageSize.ToString() + "&sortBy=" + Jobs.SortBy; Jobs.PrevPageUrl = (Jobs.PageNumber == 1) ? "" : ("api/Jobs?pageNumber" + Jobs.PrevPageNumber.ToString()) + "&pageSize=" + Jobs.PageSize.ToString() + "&sortBy=" + Jobs.SortBy; return(Ok(Jobs)); }