Пример #1
0
        public async Task <ActionResult <BookRevenue[]> > GetAllBookRevenues(int pageNumber = 1, int pageSize = Data.Constants.Paging.DefaultPageSize, string sortBy = "")
        {
            EntityCollection <BookRevenue> dbBookRevenues = null;

            try
            {
                dbBookRevenues = await _repository.GetAllBookRevenuesAsync(pageNumber, pageSize, sortBy);
            }
            catch (ParseException ex)
            {
                return(BadRequest("Request format is invalid: " + ex.Message));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }

            if (dbBookRevenues == null)
            {
                return(NotFound());
            }

            Data.ModelObjectCollection <Data.Models.BookRevenue> BookRevenues = new ModelObjectCollection <Data.Models.BookRevenue>
            {
                TotalCount     = dbBookRevenues.TotalCount,
                PageNumber     = dbBookRevenues.PageNumber,
                PageSize       = dbBookRevenues.PageSize,
                TotalPages     = dbBookRevenues.TotalPages,
                SortBy         = dbBookRevenues.SortBy,
                NextPageNumber = dbBookRevenues.NextPageNumber,
                PrevPageNumber = dbBookRevenues.PrevPageNumber,
                NextPageUrl    = "",
                PrevPageUrl    = "",
                Data           = _mapper.Map <Data.Models.BookRevenue []>(dbBookRevenues.Data)
            };

            BookRevenues.NextPageUrl = (BookRevenues.PageNumber == BookRevenues.TotalPages) ? "" : ("api/BookRevenues?pageNumber" + BookRevenues.NextPageNumber.ToString())
                                       + "&pageSize=" + BookRevenues.PageSize.ToString()
                                       + "&sortBy=" + BookRevenues.SortBy;
            BookRevenues.PrevPageUrl = (BookRevenues.PageNumber == 1) ? "" : ("api/BookRevenues?pageNumber" + BookRevenues.PrevPageNumber.ToString())
                                       + "&pageSize=" + BookRevenues.PageSize.ToString()
                                       + "&sortBy=" + BookRevenues.SortBy;

            return(Ok(BookRevenues));
        }