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