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)); }
// 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)); }
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)); }
// 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)); }