public IActionResult EditGenre(int id, MovieViewViewModel model) { Movie movie = _database.Movies.FirstOrDefault(a => a.Id == id); List <MovieGenreMovie> movieGenreMovies = _database.MovieGenreMovies.Where(a => a.MovieId == id).ToList(); _database.MovieGenreMovies.RemoveRange(movieGenreMovies); _database.SaveChanges(); if (model.GenreString != null) { string[] genres = model.GenreString.Split(","); foreach (var genre in genres) { MovieGenre movieGenre = _database.MovieGenres.FirstOrDefault(a => a.Name == genre); _database.MovieGenreMovies.Add(new MovieGenreMovie { MovieGenreId = movieGenre.Id, MovieId = movie.Id }); } } _database.SaveChanges(); return(RedirectToAction("View", "Movie", new { Id = id })); }
public ViewResult MovieView(string searchString, string currentFilter, string sortOrder, int?page) { ViewBag.CurrentSort = sortOrder; ViewBag.TitlePLParm = string.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; ViewBag.PremiereDateParm = sortOrder == "Date" ? "date_desc" : "Date"; ViewBag.DurationParm = sortOrder == "Duration" ? "duration_desc" : "Duration"; ViewBag.MovieFilter = searchString; var sortMovieByEnum = SortMovieBy.Name; var sortOrderEnum = SortOrder.Asc; switch (sortOrder) { case "name_desc": sortOrderEnum = SortOrder.Desc; break; case "date_desc": sortMovieByEnum = SortMovieBy.PremiereDate; sortOrderEnum = SortOrder.Desc; break; case "Date": sortMovieByEnum = SortMovieBy.PremiereDate; break; case "duration_desc": sortMovieByEnum = SortMovieBy.Duration; sortOrderEnum = SortOrder.Desc; break; case "Duration": sortMovieByEnum = SortMovieBy.Duration; break; } if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.MovieFilter = searchString; var moviesDto = _movieDataProvider.SearchMovie(searchString, sortMovieByEnum, sortOrderEnum); var pageSize = 10; var pageNumber = (page ?? 1); var viewModel = new MovieViewViewModel() { MovieList = moviesDto.ToPagedList(pageNumber, pageSize) }; return(View(viewModel)); }
public IActionResult EditReleaseDate(int id, MovieViewViewModel model) { Movie movie = _database.Movies.FirstOrDefault(a => a.Id == id); movie.ReleaseDate = model.ReleaseDate; _database.SaveChanges(); return(RedirectToAction("View", "Movie", new { Id = id })); }
public IActionResult EditPlayTime(int id, MovieViewViewModel model) { Movie movie = _database.Movies.FirstOrDefault(a => a.Id == id); string playTime = model.PlayTime.ToString(); string[] playTimeDivided = playTime.Split(":"); movie.PlayTime = new TimeSpan(Convert.ToInt16(playTimeDivided[0]), Convert.ToInt16(playTimeDivided[1]), 0); _database.SaveChanges(); return(RedirectToAction("View", "Movie", new { Id = id })); }
public async Task <IActionResult> View(int id) { var moviecredits = _context.Movies.Where(mc => mc.Id == id); var credits = from c in _context.MovieCredits where c.MovieId == id select c.Credit; var platforms = from p in _context.MoviePlatforms where p.MovieId == id select p.Platform; var movieInformationViewModel = new MovieViewViewModel { Movie = moviecredits.FirstOrDefault(), Credits = await credits.ToListAsync(), Platforms = await platforms.ToListAsync() }; return(View(movieInformationViewModel)); }
public IActionResult EditDirectors(int id, MovieViewViewModel model) { Movie movie = _database.Movies.FirstOrDefault(a => a.Id == id); List <MovieCrewMember> DirectorsFromDatabase = _database.MovieCrewMember.Where(a => a.MovieId == id && a.MemberRole == MovieCrewMember.Role.Director).ToList(); _database.MovieCrewMember.RemoveRange(DirectorsFromDatabase); List <MovieCrewMember> BothFromDatabase = _database.MovieCrewMember.Where(a => a.MovieId == id && a.MemberRole == MovieCrewMember.Role.Both).ToList(); foreach (var both in BothFromDatabase) { both.MemberRole = MovieCrewMember.Role.Actor; } _database.SaveChanges(); if (model.ActorsString != null) { string[] directors = model.DirectorsString.Split(", "); foreach (var directorString in directors) { CrewMember crewMember = new CrewMember(); if (!_database.CrewMembers.Any(a => a.Name == directorString)) { crewMember.Name = directorString; _database.CrewMembers.Add(crewMember); _database.SaveChanges(); } else { crewMember = _database.CrewMembers.FirstOrDefault(a => a.Name == directorString); } _database.SaveChanges(); MovieCrewMember movieCrewMember = new MovieCrewMember(); if (!_database.MovieCrewMember.Any(a => a.MovieId == movie.Id && a.CrewMemberId == crewMember.Id)) { movieCrewMember.MovieId = movie.Id; movieCrewMember.CrewMemberId = crewMember.Id; movieCrewMember.MemberRole = MovieCrewMember.Role.Director; } else { movieCrewMember.MemberRole = MovieCrewMember.Role.Both; } _database.MovieCrewMember.Add(movieCrewMember); } } _database.SaveChanges(); return(RedirectToAction("View", "Movie", new { Id = id })); }
public IActionResult View(int id) { Movie movie = _database.Movies.FirstOrDefault(a => a.Id == id); List <MovieGenreMovie> movieGenreMovie = _database.MovieGenreMovies.Where(a => a.MovieId == id).ToList(); List <MovieGenre> movieGenre = _database.MovieGenres.Where(a => movieGenreMovie.Any(b => b.MovieGenreId == a.Id)).ToList(); List <MovieGenreViewModel> genreViewModels = new List <MovieGenreViewModel>(); foreach (var item in movieGenre) { genreViewModels.Add(new MovieGenreViewModel { Name = item.Name }); } List <MovieCrewMember> movieActors = _database.MovieCrewMember.Where(a => a.MovieId == id && (a.MemberRole == MovieCrewMember.Role.Actor || a.MemberRole == MovieCrewMember.Role.Both)).ToList(); List <CrewMember> Actors = _database.CrewMembers.Where(a => movieActors.Any(b => b.CrewMemberId == a.Id)).ToList(); List <MovieArtistListViewModel> artistViewModels = new List <MovieArtistListViewModel>(); foreach (var item in Actors) { artistViewModels.Add(new MovieArtistListViewModel { ArtistName = item.Name }); } List <MovieCrewMember> movieDirectors = _database.MovieCrewMember.Where(a => a.MovieId == id && (a.MemberRole == MovieCrewMember.Role.Director || a.MemberRole == MovieCrewMember.Role.Both)).ToList(); List <CrewMember> Directors = _database.CrewMembers.Where(a => movieDirectors.Any(b => b.CrewMemberId == a.Id)).ToList(); List <MovieArtistListViewModel> directorViewModels = new List <MovieArtistListViewModel>(); foreach (var item in Directors) { directorViewModels.Add(new MovieArtistListViewModel { ArtistName = item.Name }); } MovieViewViewModel model = new MovieViewViewModel() { Id = movie.Id, Title = movie.Title, Description = movie.Description, PlayTime = movie.PlayTime, ReleaseDate = movie.ReleaseDate, Genre = genreViewModels, Actors = artistViewModels, Directors = directorViewModels, Photo = movie.Photo }; List <MovieGenreViewModel> movieGenreList = new List <MovieGenreViewModel>(); foreach (var genre in _database.MovieGenres) { movieGenreList.Add(new MovieGenreViewModel { Name = genre.Name }); } model.GenreNames = movieGenreList; List <MovieArtistListViewModel> crewMembersList = new List <MovieArtistListViewModel>(); foreach (var artist in _database.CrewMembers) { crewMembersList.Add(new MovieArtistListViewModel { ArtistName = artist.Name }); } model.CrewMemberNames = crewMembersList; return(View(model)); }