public ActionResult Update(Movie movie) { if (!ModelState.IsValid) { var viewModel = new MovieFormView(movie) { Genres = _contex.Genres.ToList(), }; return(View("FormMovie", viewModel)); } if (movie.Id == 0) { _contex.Movies.Add(movie); } else { var movieDb = _contex.Movies.Single(m => m.Id == movie.Id); movieDb.Name = movie.Name; movieDb.ReleaseDate = movie.ReleaseDate; movieDb.DateAdded = movie.DateAdded; movieDb.GenreId = movie.GenreId; } _contex.SaveChanges(); return(RedirectToAction("Index", "Movies")); }
public ActionResult New() { var genres = _context.Genres.ToList(); var viewModel = new MovieFormView { Genres = genres }; return(View("MovieFormView", viewModel)); }
public ActionResult Add() { var genres = _context.Genres.ToList(); var newMovie = new MovieFormView { Movie = new Movie(), Genres = genres }; return(View("MovieFormView", newMovie)); }
public ActionResult Create() { ViewBag.DirectorID = new SelectList(db.Peoples.Where(p => p.Proffesion.Director == true), "PeopleID", "FullName"); ViewBag.CountryProduction = new SelectList(CountryList()); ViewBag.DurationTimeValue = "00:00"; MovieFormView movieFormView = new MovieFormView(); movieFormView.PhotoURL = ""; return(View(movieFormView)); }
public ActionResult Edit(int id) { var movie = _contex.Movies.Single(m => m.Id == id); if (movie == null) { return(HttpNotFound()); } var viewModel = new MovieFormView(movie) { Genres = _contex.Genres.ToList(), }; return(View("FormMovie", viewModel)); }
public ActionResult Edit(int id) { var searchedMovie = _context.Movies.Include(m => m.Genre).SingleOrDefault(m => m.Id == id); if (searchedMovie == null) { return(HttpNotFound()); } var movieToEdit = new MovieFormView { Movie = searchedMovie, Genres = _context.Genres.ToList() }; return(View("MovieFormView", movieToEdit)); }
public ActionResult Edit(int id) { var movie = _context.Movies.SingleOrDefault(c => c.Id == id); if (movie == null) { return(HttpNotFound()); } var viewModel = new MovieFormView { Movie = movie, Genres = _context.Genres.ToList() }; return(View("MovieFormView", viewModel)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Movie movie = db.Movies.Include(m => m.MovieInfo).Include(m => m.Genre).Where(m => m.MovieID == id).FirstOrDefault(); if (movie == null) { return(HttpNotFound()); } MovieFormView movieFormView = new MovieFormView { Title = movie.Title, TitlePL = movie.TitlePL, ReleaseDate = movie.ReleaseDate, PhotoURL = movie.PhotoURL, Genre = movie.Genre, CountryProduction = movie.MovieInfo.CountryProduction, Description = movie.MovieInfo.Description, DirectorID = movie.MovieInfo.DirectorID, DurationTime = movie.MovieInfo.DurationTime, TrailerURL = movie.MovieInfo.TrailerURL, RowVersion = movie.MovieInfo.RowVersion, }; ViewBag.DirectorID = new SelectList(db.Peoples.Where(p => p.Proffesion.Director == true), "PeopleID", "FullName", movieFormView.DirectorID); ViewBag.CountryProduction = new SelectList(CountryList(), movieFormView.CountryProduction); ViewBag.DurationTimeValue = movieFormView.DurationTime.ToShortTimeString(); ViewBag.Name = movie.TitleYear; ViewBag.MovieID = id; return(View(movieFormView)); }
public ActionResult Edit(int?id, string RadioPhotoBtn, string UrlPath, HttpPostedFileBase image, byte[] rowVersion) { //[Bind(Include = "MovieID,Title,TitlePL,ReleaseDate,Genre,Description,Poster,PosterMimeType,DirectorID")] Movie movie if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Movie movie = db.Movies.Include(m => m.MovieInfo).Include(m => m.Genre).Where(m => m.MovieID == id).FirstOrDefault(); if (movie == null) { return(HttpNotFound()); } if (TryUpdateModel(movie, "", new string[] { "Title", "TitlePL", "ReleaseDate", "Genre" })) { if (TryUpdateModel(movie.MovieInfo, "", new string[] { "Description", "DirectorID", "TrailerURL", "CountryProduction", "DurationTime", "RowVersion" })) { try { if (ModelState.IsValid) { /* DELETE * if (image != null){ * movie.PosterMimeType = image.ContentType; * movie.Poster = new byte[image.ContentLength]; * image.InputStream.Read(movie.Poster, 0, image.ContentLength); * }*/ db.Entry(movie.MovieInfo).OriginalValues["RowVersion"] = rowVersion; if (!String.IsNullOrEmpty(RadioPhotoBtn)) { switch (RadioPhotoBtn) { case "FromFile": if (image != null) { movie.PhotoURL = SaveNewFile("MoviePosters", movie.TitleYear, image); } else { movie.PhotoURL = IfEmptySetEmptyPhoto(movie.PhotoURL); } break; case "FromURL": if (!String.IsNullOrEmpty(UrlPath)) { DeleteOldFile(movie.PhotoURL); movie.PhotoURL = UrlPath; } break; case "None": DeleteOldFile(movie.PhotoURL); movie.PhotoURL = NoContentPhoto; break; default: movie.PhotoURL = IfEmptySetEmptyPhoto(movie.PhotoURL); break; } } else { movie.PhotoURL = IfEmptySetEmptyPhoto(movie.PhotoURL); } /* * if (movie.MovieInfo.Genre.Count() == 0) * { * movie.MovieInfo.Genre = null; * } */ movie.MovieInfo.TrailerURL = ModifyTrailerURL(movie.MovieInfo.TrailerURL); db.Entry(movie).State = EntityState.Modified; db.SaveChanges(); TempData["Success"] = "Poprawnie zmieniono informacje o filmie."; return(RedirectToAction("Details", "Movies", new { id = movie.MovieID })); } } catch (DbUpdateConcurrencyException ex) { // var DB_MovieID = ex.Entries.Single().Property("MovieID").OriginalValue; var MovieInfo_DBEntry = ex.Entries.Single().GetDatabaseValues(); if (MovieInfo_DBEntry == null) { ModelState.AddModelError(string.Empty, "Film, który próbujesz zmienić, został już usunięty."); } else { var MovieInfo_DBValues = (MovieInfo)MovieInfo_DBEntry.ToObject(); var Movie_DBValues = (Movie)db.Entry(movie).GetDatabaseValues().ToObject(); var Genre_DBValues = (MovieGenre)db.Entry(movie.Genre).GetDatabaseValues().ToObject(); if (Movie_DBValues.Title != movie.Title) { ModelState.AddModelError("Title", "Aktualna wartość: " + Movie_DBValues.Title); } if (Movie_DBValues.TitlePL != movie.TitlePL) { ModelState.AddModelError("TitlePL", "Aktualna wartość: " + Movie_DBValues.TitlePL); } if (Movie_DBValues.ReleaseDate != movie.ReleaseDate) { ModelState.AddModelError("ReleaseDate", "Aktualna wartość: " + Movie_DBValues.ReleaseDate.ToShortDateString()); } if (Movie_DBValues.PhotoURL != movie.PhotoURL) { ModelState.AddModelError(String.Empty, "Zmieniony został plakat filmu"); } if (!Genre_DBValues.EqualTo(movie.Genre)) { ModelState.AddModelError(String.Empty, "Zmieniony został gatunek filmu"); } if (MovieInfo_DBValues.CountryProduction != movie.MovieInfo.CountryProduction) { ModelState.AddModelError("CountryProduction", "Aktualna wartość: " + MovieInfo_DBValues.CountryProduction); } if (MovieInfo_DBValues.Description != movie.MovieInfo.Description) { ModelState.AddModelError("Description", "Aktualna wartość: " + MovieInfo_DBValues.Description); } if (MovieInfo_DBValues.DirectorID != movie.MovieInfo.DirectorID) { ModelState.AddModelError("DirectorID", "Aktualna wartość: " + db.Peoples.Where(p => p.PeopleID == MovieInfo_DBValues.DirectorID).Select(p => p.FirstName + " " + p.LastName).FirstOrDefault()); } if (MovieInfo_DBValues.DurationTime != movie.MovieInfo.DurationTime) { ModelState.AddModelError("DurationTime", "Aktualna wartość czasu trwania: " + MovieInfo_DBValues.DurationTime.ToShortTimeString()); ModelState.AddModelError(String.Empty, "Aktualna wartość czasu trwania: " + MovieInfo_DBValues.DurationTime.ToShortTimeString()); } if (MovieInfo_DBValues.TrailerURL != movie.MovieInfo.TrailerURL) { ModelState.AddModelError("TrailerURL", "Aktualna wartość: " + MovieInfo_DBValues.TrailerURL); } ViewData["Error"] = "Film, który próbujesz zmienić, został już zmieniony, jeśli nadal chcesz kontynuować, zapisz ponownie, lecz utracisz poprzednie dane."; movie.MovieInfo.RowVersion = MovieInfo_DBValues.RowVersion; } } catch (RetryLimitExceededException) { ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator."); } } } ViewBag.DirectorID = new SelectList(db.Peoples.Where(p => p.Proffesion.Director == true), "PeopleID", "FullName", movie.MovieInfo.DirectorID); ViewBag.CountryProduction = new SelectList(CountryList(), movie.MovieInfo.CountryProduction); ViewBag.DurationTimeValue = movie.MovieInfo.DurationTime.ToShortTimeString(); ViewBag.Name = movie.TitleYear; ViewBag.MovieID = id; MovieFormView movieFormView = new MovieFormView { Title = movie.Title, TitlePL = movie.TitlePL, ReleaseDate = movie.ReleaseDate, PhotoURL = movie.PhotoURL, Genre = movie.Genre, CountryProduction = movie.MovieInfo.CountryProduction, Description = movie.MovieInfo.Description, DirectorID = movie.MovieInfo.DirectorID, DurationTime = movie.MovieInfo.DurationTime, TrailerURL = movie.MovieInfo.TrailerURL, RowVersion = movie.MovieInfo.RowVersion, }; return(View(movieFormView)); }
public ActionResult Create([Bind(Include = "Title,TitlePL,ReleaseDate,Genre,Description,DirectorID,Genre,TrailerURL,CountryProduction,DurationTime,PhotoURL")] MovieFormView movieFormView, string RadioPhotoBtn, string UrlPath, HttpPostedFileBase image) { ViewBag.DirectorID = new SelectList(db.Peoples.Where(p => p.Proffesion.Director == true), "PeopleID", "FullName", movieFormView.DirectorID); ViewBag.CountryProduction = new SelectList(CountryList(), movieFormView.CountryProduction); ViewBag.DurationTimeValue = movieFormView.DurationTime.ToShortTimeString(); if (ModelState.IsValid) { Movie movie = new Movie { Title = movieFormView.Title, TitlePL = movieFormView.TitlePL, ReleaseDate = movieFormView.ReleaseDate, Genre = movieFormView.Genre, }; movie.MovieInfo = new MovieInfo { CountryProduction = movieFormView.CountryProduction, Description = movieFormView.Description, DirectorID = movieFormView.DirectorID, DurationTime = movieFormView.DurationTime, TrailerURL = movieFormView.TrailerURL }; if (!String.IsNullOrEmpty(RadioPhotoBtn)) { switch (RadioPhotoBtn) { case "FromFile": if (image != null) { movie.PhotoURL = SaveNewFile("MoviePosters", movie.TitleYear, image); } else { movie.PhotoURL = IfEmptySetEmptyPhoto(movie.PhotoURL); } break; case "FromURL": if (!String.IsNullOrEmpty(UrlPath)) { DeleteOldFile(movie.PhotoURL); movie.PhotoURL = UrlPath; } break; case "None": DeleteOldFile(movie.PhotoURL); movie.PhotoURL = NoContentPhoto; break; default: movie.PhotoURL = IfEmptySetEmptyPhoto(movie.PhotoURL); break; } } else { movie.PhotoURL = IfEmptySetEmptyPhoto(movie.PhotoURL); } /* * if (movie.Genre.Count() == 0) * movie.Genre = null; */ movie.MovieInfo.TrailerURL = ModifyTrailerURL(movie.MovieInfo.TrailerURL); db.Movies.Add(movie); db.SaveChanges(); TempData["Success"] = "Poprawnie dodano film."; return(RedirectToAction("Index")); } ViewData["Error"] = "Nie można zapisać, popraw błędy!"; return(View(movieFormView)); }