Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 2
0
        public ActionResult New()
        {
            var genres    = _context.Genres.ToList();
            var viewModel = new MovieFormView
            {
                Genres = genres
            };

            return(View("MovieFormView", viewModel));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 10
0
        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));
        }