コード例 #1
0
        public async Task <IActionResult> Edit(int id, [Bind("DirectorId,MovieId")] MovieDirection movieDirection)
        {
            if (id != movieDirection.MovieId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(movieDirection);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MovieDirectionExists(movieDirection.MovieId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["DirectorId"] = new SelectList(_context.Directors, "DirectorId", "DirectorId", movieDirection.DirectorId);
            ViewData["MovieId"]    = new SelectList(_context.Movies, "MovieId", "MovieId", movieDirection.MovieId);
            return(View(movieDirection));
        }
コード例 #2
0
        public async Task <IActionResult> Create([Bind("DirectorId,MovieId")] MovieDirection movieDirection)
        {
            if (ModelState.IsValid)
            {
                _context.Add(movieDirection);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["DirectorId"] = new SelectList(_context.Directors, "DirectorId", "DirectorId", movieDirection.DirectorId);
            ViewData["MovieId"]    = new SelectList(_context.Movies, "MovieId", "MovieId", movieDirection.MovieId);
            return(View(movieDirection));
        }
コード例 #3
0
        public async Task <IActionResult> AddMovie(AddMovieViewModel model)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName = null;
                if (model.Photo != null)
                {
                    string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "images");
                    uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Photo.FileName; //guid = global unique identifier
                    string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                    model.Photo.CopyTo(new FileStream(filePath, FileMode.Create));
                    model.Movie.MovieCoverImage = uniqueFileName;
                }

                int movieId    = _context.Movies.Last().MovieId + 1;
                int actorId    = _context.Actors.Last().ActorId + 1;
                int directorId = _context.Directors.Last().DirectorId + 1;



                _context.Add(model.Movie);
                _context.Add(model.Actor);
                _context.Add(model.Director);

                MovieCasting movieCasting = new MovieCasting
                {
                    MovieId = movieId,
                    ActorId = actorId,
                    Actor   = model.Actor,
                    Movie   = model.Movie,
                    Role    = ""
                };
                MovieDirection movieDirection = new MovieDirection
                {
                    MovieId    = movieId,
                    DirectorId = directorId,
                    Director   = model.Director,
                    Movie      = model.Movie
                };

                Array _genres = Enum.GetValues(typeof(Genres));
                int   genreId = 0;

                foreach (int gen in _genres)
                {
                    if (Enum.GetName(typeof(Genres), gen) == model.Genre.GenreTitle.ToString())
                    {
                        break;
                    }
                    genreId++;
                }
                Genre g = new Genre {
                    GenreTitle = (Genres)Enum.Parse(typeof(Genres), model.Genre.GenreTitle.ToString())
                };
                MovieGenre movieGenre = new MovieGenre
                {
                    MovieId = movieId,
                    GenreId = _context.Genres.Last().GenreId + 1,
                    Movie   = model.Movie,
                    Genre   = g
                };

                _context.Add(movieCasting);
                _context.Add(movieDirection);
                _context.Add(movieGenre);

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View());
        }
コード例 #4
0
        public ActionResult ShowTrailler(AddProjectionVM model, string ButtonType)
        {
            //if (!ModelState.IsValid)
            //    return RedirectToAction("AddProjection", model);
            if (ButtonType != "next")
            {
                model.Traillers = Algorithm.SuggestTrailerLinks(model.Projection.Movie.MovieName, 3);
            }

            if (ButtonType == "save")
            {
                Movie m = model.Projection.Movie;
                m.IsDeleted = false;
                m.GenreID   = model.GenreID;
                m.Genre     = principal.Genres.Where(x => x.GenreID == model.GenreID).First();
                m.Trailler  = model.Traillers[0];
                principal.Movies.Add(m);
                principal.SaveChanges();

                foreach (int i in model.ActorsIDs)
                {
                    MovieRole mr = new MovieRole();
                    mr.MovieID   = m.MovieID;
                    mr.ActorID   = i;
                    mr.Actor     = principal.Actors.Where(x => x.ActorID == i).First();
                    mr.IsDeleted = false;
                    principal.MovieRoles.Add(mr);
                    principal.SaveChanges();
                }

                foreach (int i in model.DirectorsIDs)
                {
                    MovieDirection md = new MovieDirection();
                    md.MovieID    = m.MovieID;
                    md.DirectorID = i;
                    md.Director   = principal.Directors.Where(x => x.DirectorID == i).First();
                    md.IsDeleted  = false;
                    principal.MovieDirections.Add(md);
                    principal.SaveChanges();
                    model.Projection.Movie.MovieID = md.MovieID;
                }

                model.Movies = principal.Movies.Select(x => new SelectListItem
                {
                    Text  = x.OriginalName + "(" + x.MovieName + ")",
                    Value = x.MovieID.ToString()
                }).ToList();

                model.Movies = model.Movies.OrderByDescending(x => int.Parse(x.Value)).ToList();

                model.Projection.Movie.MovieRoles      = principal.MovieRoles.Where(x => x.MovieID == m.MovieID).ToList();
                model.Projection.Movie.MovieDirections = principal.MovieDirections.Where(x => x.MovieID == m.MovieID).ToList();

                model.IsCurrent = principal.Movies.Where(x => x.MovieID == m.MovieID).Select(x => x.IsCurrent).ToString();
                model.IsCurrent = (model.IsCurrent == "0") ? "NO" : "YES";

                return(PartialView("SetProjection", model));
            }

            if (ButtonType == "next")
            {
                return(PartialView("SetProjection", model));
            }

            //model.Projection.Movie.Genre.GenreName = genreName;
            //model.IsCurrent = (principal.Movies.Where(x => x.IsCurrent.ToString() == model.IsCurrent).ToString() == "0") ? "NO" : "YES";
            return(View("ShowTrailler", model));
        }