コード例 #1
0
        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));
        }