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