コード例 #1
0
        public IActionResult Index()
        {
            SeriesIndexViewModel model = new SeriesIndexViewModel();


            IEnumerable <Series>           series = _database.Series.ToList();
            IEnumerable <MovieGenreSeries> movieGenreSeriesFromDatabase = _database.MovieGenreSeries.ToList();
            List <MovieGenreSeries>        movieGenreSeries             = new List <MovieGenreSeries>();


            List <MovieGenre> genresFromDatabase = _database.MovieGenres.ToList();



            foreach (var serie in series)
            {
                List <string> genres = new List <string>();
                movieGenreSeries = movieGenreSeriesFromDatabase.Where(a => a.SerieId == serie.Id).ToList();

                genres.Clear();
                if (movieGenreSeries != null)
                {
                    foreach (var genreId in movieGenreSeries)
                    {
                        MovieGenre genre = genresFromDatabase.FirstOrDefault(a => a.Id == genreId.MovieGenreId);
                        genres.Add(genre.Name);
                    }
                }

                model.SeriesListItems.Add(new SeriesListItemViewModel
                {
                    Id          = serie.Id,
                    Title       = serie.Title,
                    ReleaseDate = serie.ReleaseDate,
                    Genre       = genres,
                    Description = serie.Description,
                    Photo       = serie.Photo
                });
            }

            return(View(model));
        }
コード例 #2
0
        // GET: Series
        public ActionResult Index()
        {
            var model     = new SeriesIndexViewModel();
            var getSeries = serieRepository.GetAll();

            foreach (var serie in getSeries)
            {
                int episodioQuantidade = 0;
                var getTemporada       = temporadaRepository.GetByIdSerie(serie.Id);
                foreach (var temporada in getTemporada)
                {
                    episodioQuantidade += temporada.ListaEpisodio.Count;
                }
                model.ListaSerie.Add(new SerieIndex()
                {
                    Id   = serie.Id,
                    Nome = serie.Nome,
                    TemporadaQuantidade = getTemporada.Count,
                    EpisodioQuantidade  = episodioQuantidade
                });
            }
            return(View(model));
        }
コード例 #3
0
ファイル: HomeController.cs プロジェクト: Mokry667/MyTvSeries
        public IActionResult Index()
        {
            var viewModel = new HomeViewModel();

            var topSeries = _context.Series.OrderBy(x => x.UserRating).Take(4).ToList();

            var viewModels = new List <SeriesIndexViewModel>();

            foreach (var series in topSeries)
            {
                var seriesViewModel = new SeriesIndexViewModel
                {
                    Id            = series.Id,
                    Name          = series.Name,
                    UserRating    = series.UserRating,
                    PosterContent = series.PosterContent
                };
                viewModels.Add(seriesViewModel);
            }

            viewModel.Series = viewModels;

            return(View(viewModel));
        }
コード例 #4
0
        // GET: Series
        public async Task <IActionResult> Index(int?page, string keyword, string sortBy, string ChosenGenre, string ChosenStatus)
        {
            IQueryable <Series> allSeries = null;

            if (!string.IsNullOrEmpty(keyword))
            {
                allSeries = _context.Series
                            .Include(x => x.SeriesGenres)
                            .Where(x => x.Name.Contains(keyword)).AsQueryable();
            }
            else
            {
                allSeries = _context.Series
                            .Include(x => x.SeriesGenres)
                            .AsQueryable();
            }

            if (!string.IsNullOrEmpty(ChosenGenre))
            {
                allSeries = allSeries.Where(x => x.SeriesGenres.Any(y => y.Genre.Name == ChosenGenre));
            }

            if (!string.IsNullOrEmpty(ChosenStatus))
            {
                Enum.TryParse(ChosenStatus, out SeriesStatus myStatus);
                allSeries = allSeries.Where(x => x.Status == myStatus);
            }

            switch (sortBy)
            {
            case "Rating":
                allSeries = allSeries.OrderByDescending(x => x.UserRating);
                break;

            case "Name":
                allSeries = allSeries.OrderBy(x => x.Name);
                break;

            default:
                break;
            }

            var pageNumber = page ?? 1;

            var pageSize = 25;

            var pagedSeries = await allSeries.ToPagedListAsync(pageNumber, pageSize);

            var viewModels = new List <SeriesIndexViewModel>();

            foreach (var series in pagedSeries)
            {
                var viewModel = new SeriesIndexViewModel
                {
                    Id            = series.Id,
                    Name          = series.Name,
                    UserRating    = series.UserRating,
                    PosterContent = series.PosterContent
                };
                viewModels.Add(viewModel);
            }

            var pagedViewModels = new StaticPagedList <SeriesIndexViewModel>(viewModels, pageNumber, pageSize, pagedSeries.TotalItemCount);

            var viewModelWithKeyword = new SeriesIndexSearchViewModel
            {
                ViewModels = pagedViewModels,
                Keyword    = keyword,
            };

            if (!string.IsNullOrEmpty(ChosenGenre))
            {
                viewModelWithKeyword.ChosenGenre = ChosenGenre;
            }

            if (!string.IsNullOrEmpty(ChosenStatus))
            {
                viewModelWithKeyword.ChosenStatus = ChosenStatus;
            }

            viewModelWithKeyword.Genres = await _context.Genres.Select(x => x.Name).ToListAsync();

            viewModelWithKeyword.Statuses = Enum.GetNames(typeof(SeriesStatus)).ToList();

            return(View(viewModelWithKeyword));
        }