Пример #1
0
        public IActionResult GetSeason(
            int year,
            ESeason season,
            [FromQuery] int page          = 1,
            [FromQuery][Max(25)] int size = 8,
            [FromQuery] bool includeMeta  = false
            )
        {
            var animesInPage = _animeService
                               .GetSeason(year, season)
                               .OrderBy(a => string.IsNullOrWhiteSpace(a.CoverImageUrl))
                               .ThenBy(a => a.Name)
                               .Page(page, size)
                               .ToList();

            var animePage = new ModelWithMetaVM <List <AnimeVM> >
            {
                Models = _mapper.Map <List <AnimeVM> >(animesInPage)
            };

            if (includeMeta)
            {
                animePage.Meta = new PaginationMetaVM
                {
                    BaseUrl     = Request.GetPath(),
                    Count       = _animeService.GetAnimesInSeason(year, season),
                    CurrentPage = page,
                    PageSize    = size,
                };
            }

            return(Ok(animePage));
        }