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