Пример #1
0
        public IActionResult GetCompletedEpisodes(
            string acronym,
            [FromQuery] int page          = 1,
            [FromQuery][Max(25)] int size = 8,
            [FromQuery] bool includeMeta  = false
            )
        {
            var episodes = _fansubService
                           .GetCompletedEpisodes(acronym);

            var episodesInPage = episodes
                                 .OrderByDescending(e => e.FinishedDate)
                                 .Page(page, size)
                                 .ToList();

            var episodePage = new ModelWithMetaVM <List <FansubEpisodeVM> >
            {
                Models = episodesInPage
            };

            if (includeMeta)
            {
                episodePage.Meta = new PaginationMetaVM
                {
                    BaseUrl     = Request.GetPath(),
                    Count       = episodes.Count(),
                    CurrentPage = page,
                    PageSize    = size,
                };
            }

            return(Ok(episodePage));
        }
Пример #2
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));
        }