Example #1
0
        public IActionResult Create(int categoryId)
        {
            MovieCreateViewModel model = new MovieCreateViewModel();

            model.LoadModelData(_unitOfWork, categoryId);
            return(View(model));
        }
Example #2
0
        public void ShouldReturnDefaultViewModelWithNoErrorWhenModelIsValid()
        {
            // Arrange
            var success      = new Result(ResultType.Success);
            var moviesSvMock = new Mock <IMoviesService>();

            moviesSvMock.Setup(x => x.AddMovie(It.IsAny <Movies>())).Returns(success);
            var fakeMovie       = new MovieCreateViewModel();
            var sut             = new MoviesController(moviesSvMock.Object);
            var fakeHttpContext = new Mock <HttpContextBase>();

            sut.ControllerContext = new ControllerContext
            {
                Controller  = sut,
                HttpContext = fakeHttpContext.Object
            };
            var mapper = new AutoMapperConfig();

            mapper.Execute(Assembly.GetExecutingAssembly());
            Mapper.Initialize(cfg =>
                              cfg.CreateMap <MovieCreateViewModel, Movies>());


            // Act & Assert
            sut
            .WithCallTo(c => c.Create(fakeMovie))
            .ShouldRenderDefaultView()
            .WithModel <MovieCreateViewModel>(x => Assert.AreEqual(x.Result.ResulType, ResultType.Success));
        }
Example #3
0
        public async Task <IActionResult> Create(MovieCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName = null;

                if (model.Photo != null)
                {
                    string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "img");
                    uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Photo.FileName;
                    string     filePath = Path.Combine(uploadsFolder, uniqueFileName);
                    FileStream fs       = new FileStream(filePath, FileMode.Create);
                    model.Photo.CopyTo(fs);
                    fs.Close();
                }

                Movie newMovie = new Movie
                {
                    Title       = model.Title,
                    ReleaseDate = model.ReleaseDate,
                    Genre       = model.Genre,
                    Price       = model.Price,
                    Rating      = model.Rating,
                    PhotoPath   = uniqueFileName
                };

                _context.Add(newMovie);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View());
        }
Example #4
0
        public IActionResult Create(MovieCreateViewModel model)
        {
            if (!TryValidateModel(model))
            {
                return(View(model));
            }

            foreach (var movie in _context.Movies)
            {
                if (model.Title == movie.Title)
                {
                    return(View());
                }
            }

            var m = new Movie()
            {
                Title       = model.Title,
                Cover       = model.Cover,
                Description = model.Description,
                Length      = model.Length,
                Regisseurs  = model.Regisseurs,
                ReleaseDate = model.ReleaseDate
            };

            foreach (var item in model.Genres.Where(x => x.Checked == true))
            {
            }
            _context.InsertMovie(m);

            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> Create([Bind("MovieId,Title,ReleaseDate,GenreID,Price,Photo")] MovieCreateViewModel movie)
        {
            if (ModelState.IsValid)
            {
                string uniqueFilename = null;
                if (movie.Photo != null)
                {
                    string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "images");
                    uniqueFilename = Guid.NewGuid().ToString() + "_" + movie.Photo.FileName;
                    string filePath = Path.Combine(uploadsFolder, uniqueFilename);
                    movie.Photo.CopyTo(new FileStream(filePath, FileMode.Create));
                }

                Movie m = new Movie
                {
                    Title       = movie.Title,
                    ReleaseDate = movie.ReleaseDate,
                    GenreID     = movie.GenreID,
                    Price       = movie.Price,
                    PhotoPath   = uniqueFilename
                };

                _context.Add(m);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            ViewData["GenreID"] = new SelectList(_context.Genre, "GenreID", "Description", movie.GenreID);
            return(View(movie));
        }
Example #6
0
        public IActionResult Create(MovieCreateViewModel model)
        {
            if (!TryValidateModel(model))
            {
                return(View());
            }

            Movie movieToAdd = new Movie
            {
                Titel        = model.Titel,
                Beschrijving = model.Beschrijving,
                Speelduur    = model.Speelduur
            };

            _movieService.Insert(movieToAdd);

            foreach (var genre in model.GenreList)
            {
                if (genre.Checked)
                {
                    _genreService.AssignGenre(movieToAdd, genre.Naam);
                }
            }
            //List<string> regisseurList = model.Regisseurs.ToList();
            //foreach (var reg in regisseurList)
            //{
            //    _regisseurService.HandleRegisseurCreate(movieToAdd, reg);
            //}
            _regisseurService.HandleRegisseurCreate(movieToAdd, model.Regisseurs);

            return(RedirectToAction("Details", new { movieId = movieToAdd.Id }));
        }
Example #7
0
        public IActionResult Create()
        {
            List <MovieGenreListViewModel> genreList = new List <MovieGenreListViewModel>();

            foreach (var genre in _genreService.Get())
            {
                genreList.Add(new MovieGenreListViewModel()
                {
                    Naam = genre.Naam
                });
            }
            ;
            List <string> regList = new List <string>();

            foreach (var reg in _regisseurService.Get())
            {
                regList.Add(reg.Naam);
            }
            MovieCreateViewModel model = new MovieCreateViewModel()
            {
                GenreList     = genreList,
                RegisseurList = regList
            };

            return(View(model));
        }
Example #8
0
        public async Task <IActionResult> Create([Bind("Id,Title,ReleaseDate,Genre,Price,Rating,Image")] MovieCreateViewModel movie)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName = null;
                if (movie.Image != null)
                {
                    string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "Images");
                    uniqueFileName = Guid.NewGuid().ToString().Length + "_" + movie.Image.FileName;
                    string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                    movie.Image.CopyTo(new FileStream(filePath, FileMode.Create));
                }

                Movie newMovie = new Movie
                {
                    Title       = movie.Title,
                    ReleaseDate = movie.ReleaseDate,
                    Price       = movie.Price,
                    Genre       = movie.Genre,
                    Rating      = movie.Rating,
                    ImagePath   = uniqueFileName
                };

                _context.Add(newMovie);
                //_context.Add(movie);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(movie));
        }
Example #9
0
        public async Task <MovieCreateViewModel> LoadGenresAndPersonsToCreateViewModel(MovieCreateViewModel viewModel = null)
        {
            if (viewModel == null)
            {
                viewModel = new MovieCreateViewModel();
            }

            var genres = await _unitOfWork.Genres.GetAllOrderedBy("name", "desc").ToListAsync();

            var persons = await _unitOfWork.Persons.GetAllOrderedBy(null, "last_name", "asc").ToListAsync();

            viewModel.Genres = genres.Select(genre => new SelectListItem
            {
                Text  = genre.Name,
                Value = genre.Id.ToString()
            }).ToList();

            viewModel.Persons = persons.Select(person => new SelectListItem
            {
                Text  = person.FullName,
                Value = person.Id.ToString()
            }).ToList();

            return(viewModel);
        }
Example #10
0
        //Old One ---- public async Task<IActionResult> Create([Bind("Id,Title,ReleaseDate,Genre,Price,Rating,PhotoPath")] Movie movie)
        public async Task <IActionResult> Create([Bind("Id,Title,ReleaseDate,Genre,Price,Rating,PhotoPath,Photo")] MovieCreateViewModel 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;
                    string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                    model.Photo.CopyTo(new FileStream(filePath, FileMode.Create));
                }


                Movie movie = new Movie
                {
                    Title       = model.Title,
                    ReleaseDate = model.ReleaseDate,
                    Genre       = model.Genre,
                    Price       = model.Price,
                    Rating      = model.Rating,
                    PhotoPath   = uniqueFileName
                };

                _context.Add(movie);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", new { id = movie.Id }));
            }
            return(View(model));
        }
Example #11
0
        public IActionResult Create([Bind("MovieId,Title,Runtime,Year,Poster,Description")] MovieCreateViewModel movie)
        {
            if (!ModelState.IsValid)
            {
                return(View(movie));
            }
            string uniqueFileName = null;

            if (movie.Poster != null)
            {
                string uploadsFolder = Path.Combine(iHostingEnvironment.WebRootPath, "images");
                string fileName      = movie.Poster.FileName;
                uniqueFileName = Guid.NewGuid().ToString() + "_" + fileName;
                string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                movie.Poster.CopyTo(new FileStream(filePath, FileMode.Create));
            }
            var movieToAdd = new Movie()
            {
                Title       = movie.Title,
                Runtime     = movie.Runtime,
                Year        = movie.Year,
                PosterPath  = uniqueFileName,
                Description = movie.Description,
            };

            _repository.Add(movieToAdd);
            return(RedirectToAction(nameof(Index), "Movies"));
        }
Example #12
0
        public IActionResult Create()
        {
            MovieCreateViewModel model = new MovieCreateViewModel();

            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.artistNames = crewMembersList;

            model.ReleaseDate = DateTime.Now;

            return(View(model));
        }
Example #13
0
        public IActionResult Create()
        {
            MovieCreateViewModel vm = new MovieCreateViewModel();

            vm.Releasedate = DateTime.Now;
            return(View(vm));
        }
        public async Task <IActionResult> Create()
        {
            MovieCreateViewModel vm = new MovieCreateViewModel();

            vm.ReleaseDate = DateTime.Now;

            var watchStatuses = await _movieDbContext.WatchStatuses.ToListAsync();

            foreach (WatchStatus watchStatus in watchStatuses)
            {
                vm.WatchStatuses.Add(new SelectListItem()
                {
                    Value = watchStatus.Id.ToString(),
                    Text  = watchStatus.Name
                });
            }

            var tags = await _movieDbContext.Tags.ToListAsync();

            vm.Tags = tags.Select(tag => new SelectListItem()
            {
                Value = tag.Id.ToString(), Text = tag.Name
            }).ToList();

            return(View(vm));
        }
Example #15
0
        public IActionResult Create(MovieCreateViewModel movie)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName = null;
                if (movie.Poster != null)
                {
                    //get wwwroot path then combine to define were to upload
                    // filenames with same name use guid global unique identifier, same name will overide each other

                    string uploadfolder = Path.Combine(HostingEnvironment.WebRootPath, "images");
                    uniqueFileName = Guid.NewGuid().ToString() + "_" + movie.Poster.FileName;
                    string filePath = Path.Combine(uploadfolder, uniqueFileName);

                    //copyto is iform file method
                    movie.Poster.CopyTo(new FileStream(filePath, FileMode.Create));
                }

                Movie newMovie = new Movie()
                {
                    Title        = movie.Title,
                    Length       = movie.Length,
                    Gener        = movie.Gener,
                    RealeaseDate = movie.RealeaseDate,
                    PhotoPath    = uniqueFileName
                };

                _movieRepository.Add(newMovie);
                //??
                return(RedirectToAction("details", new { id = newMovie.MovieId }));
            }
            return(View());
        }
Example #16
0
        public async Task RedirectToCorrectAction_OnPost()
        {
            // Arrange
            var movieServiceMock = new Mock <IMovieService>();
            var genreServiceMock = new Mock <IGenreService>();

            movieServiceMock.Setup(msm => msm.CreateMovieAsync(null, 0,
                                                               null, null, null, null))
            .ReturnsAsync(new MovieViewModel());

            var createModel = new MovieCreateViewModel();

            var sut = new MovieManagementController(movieServiceMock.Object, genreServiceMock.Object);

            // Act
            var result = await sut.Create(createModel);

            // Assert
            Assert.IsInstanceOfType(result, typeof(RedirectToActionResult));
            var redirect = (RedirectToActionResult)result;

            // They are redirecting to the basic Movie Controller, not the MovieManagement one.
            Assert.IsTrue(redirect.ControllerName == "Movie");
            Assert.IsTrue(redirect.ActionName == "Details");
        }
Example #17
0
        public async Task <IActionResult> Create(MovieCreateViewModel model)
        {
            if (!TryValidateModel(model))
            {
                return(View());
            }

            Movie movie = new Movie()
            {
                Titel     = model.Titel,
                Speeltijd = model.Speeltijd
            };

            using (var memoryStream = new MemoryStream())
            {
                await model.Foto.CopyToAsync(memoryStream);

                movie.Foto = memoryStream.ToArray();
            }

            List <string> genreListItems = new List <string>();

            foreach (var item in model.GenreList)
            {
                if (item.Checked)
                {
                    genreListItems.Add(item.Naam);
                }
            }

            _context.Insert(movie);
            _context.AssignGenres(genreListItems, movie.Id);

            return(RedirectToAction("MovieDetail", new { id = movie.Id }));
        }
        public async Task <IActionResult> Create()
        {
            var model  = new MovieCreateViewModel();
            var genres = await this.genreService.GetAllGenres();

            model.GenreList = genres.Select(t => new SelectListItem(t.Name, t.Name)).ToList();

            return(this.View(model));
        }
        public IActionResult Create()
        {
            MovieCreateViewModel mov = new MovieCreateViewModel()
            {
                ReleaseDate = DateTime.Today
            };


            return(View(mov));
        }
        public async Task <IActionResult> Create(MovieCreateViewModel model)
        {
            if (this.ModelState.IsValid)
            {
                var movie = await this.movieService.CreateMovieAsync(model.Name, model.Duration, model.Storyline, model.Director, model.ImageUrl, model.GenreName);

                return(this.RedirectToAction("Details", "Movie", new { id = movie.Name }));
            }

            return(this.View(model));
        }
Example #21
0
        public async Task <IActionResult> Create(MovieCreateViewModel viewModel)
        {
            if (!TryValidateModel(viewModel))
            {
                return(View(viewModel));
            }

            var movie = Mapper.Map <Movie>(viewModel);
            await _movieService.CreateAsync(movie);

            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> Create(MovieCreateViewModel movie)
        {
            if (!TryValidateModel(movie))
            {
                return(View(movie));
            }

            string userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            Movie newMovie = new Movie()
            {
                Title          = movie.Title,
                Description    = movie.Description,
                ReleaseDate    = movie.ReleaseDate,
                Genre          = movie.Genre,
                WatchStatusId  = movie.SelectedWatchStatus,
                MovieAppUserId = userId
                                 // MovieTag = movie.SelectedTags.Select(tag => new MovieTag() { TagId = tag }).ToList()
            };

            var movieTags = new List <MovieTag>();

            foreach (var selectedTag in movie.SelectedTags)
            {
                movieTags.Add(new MovieTag()
                {
                    TagId = selectedTag
                });
            }

            newMovie.MovieTags = movieTags;

            if (movie.Photo != null)
            {
                var uniqueFileName   = Guid.NewGuid().ToString() + Path.GetExtension(movie.Photo.FileName);
                var pathName         = Path.Combine(_hostingEnvironment.WebRootPath, "pics");
                var fileNameWithPath = Path.Combine(pathName, uniqueFileName);

                using (var stream = new FileStream(fileNameWithPath, FileMode.Create))
                {
                    movie.Photo.CopyTo(stream);
                }

                newMovie.Photo = "/pics/" + uniqueFileName;
            }

            _movieDbContext.Movies.Add(newMovie);
            await _movieDbContext.SaveChangesAsync();

            _messageService.Send("Er heeft iemand een film aangemaakt!");

            return(RedirectToAction("Index"));
        }
        public IActionResult CreateFilm(MovieCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                string uniqueName = null;
                if (model.Photo != null)
                {
                    string root = Path.Combine(hostingEnvironment.WebRootPath + "/imgs/films");
                    uniqueName = Guid.NewGuid().ToString() + "_" + model.Photo.FileName;

                    string filePath = Path.Combine(root, uniqueName);

                    model.Photo.CopyTo(new FileStream(filePath, FileMode.Create));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Bạn chưa chọn hình ảnh.");
                    return(View(model));
                }

                if (DateTime.Compare(model.StartDate, model.EndDate) > 0)
                {
                    ModelState.AddModelError(string.Empty, "Ngày kết thúc phải muộn hơn ngày bắt đầu chiếu!");
                    return(View(model));
                }

                if (model.Hour > 4)
                {
                    ModelState.AddModelError(string.Empty, "Phim chiếu rạp không được quá 4 tiếng!");
                    return(View(model));
                }

                Movie movie = new Movie()
                {
                    Title       = model.Title,
                    Language    = model.Language,
                    CateId      = _movieRepository.GetIDCategory(model.Type),
                    Hour        = model.Hour,
                    Director    = model.Director,
                    Star        = model.Star,
                    Description = model.Description,
                    StartDate   = model.StartDate.ToString(),
                    EndDate     = model.EndDate.ToString(),
                    PhotoPath   = uniqueName
                };

                _movieRepository.AddNewMovie(movie);
            }
            return(View(model));
        }
Example #24
0
 public IActionResult Create(MovieCreateViewModel movie)
 {
     if (ModelState.IsValid)
     {
         _movieDatabase.Insert(new Movie
         {
             Title       = movie.Title,
             Description = movie.Description,
             Genre       = movie.Genre,
             ReleaseDate = movie.ReleaseDate
         });
         return(RedirectToAction("Index"));
     }
     return(View(movie));
 }
Example #25
0
        public async Task <IActionResult> Create(MovieCreateViewModel movieCreateViewModel)
        {
            if (ModelState.IsValid)
            {
                await _movieService.CreateMovie(movieCreateViewModel);

                _flashMessage.Confirmation("Movie has been created.");

                return(RedirectToAction(nameof(Index)));
            }

            var viewModel = await _movieService.LoadGenresAndPersonsToCreateViewModel(movieCreateViewModel);

            return(View(viewModel));
        }
Example #26
0
 public IActionResult Create(MovieCreateViewModel NewMovie)
 {
     if (!TryValidateModel(NewMovie))
     {
         return(View(NewMovie));
     }
     _movieDatabase.Insert(new Movie
     {
         Title       = NewMovie.Title,
         Description = NewMovie.Description,
         Genre       = NewMovie.Genre,
         ReleaseDate = NewMovie.ReleaseDate
     });
     return(RedirectToAction("index"));
 }
Example #27
0
        public async Task <IActionResult> Create()
        {
            MovieCreateViewModel createModel = new MovieCreateViewModel();

            //create selectlist of existing gneres
            var genres = await _mediaWebDbContext.Genres.Select(genre => new SelectListItem()
            {
                Value = genre.Id.ToString(),
                Text  = genre.Name
            }).ToListAsync();

            createModel.Genres = genres;

            return(View(createModel));
        }
Example #28
0
        public async Task <IActionResult> Edit(int?id, MovieCreateViewModel movieCreateViewMode)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var movie = await _context.Movie.FindAsync(id);

            if (movie == null)
            {
                return(NotFound());
            }
            return(View(movieCreateViewMode));
        }
Example #29
0
        private string ProcessUploadedFile(MovieCreateViewModel model)
        {
            string uniqueFileName = null;

            if (model.Photo != null)
            {
                string uploadFolder = Path.Combine(_hostingEnviroment.WebRootPath, "images");
                uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Photo.FileName;
                string filePath = Path.Combine(uploadFolder, uniqueFileName);
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    model.Photo.CopyTo(fileStream);
                }
            }
            return(uniqueFileName);
        }
Example #30
0
        private string ProcessUploadedVideo(MovieCreateViewModel model)
        {
            string uniqueVideoFile = null;

            if (model.Video != null && model.Video.Length < 3221225472)
            {
                string uploadfolder = Path.Combine(_hostingEnviroment.WebRootPath, "videos");
                uniqueVideoFile = Guid.NewGuid().ToString() + "_" + model.Video.FileName;
                string filePath = Path.Combine(uploadfolder, uniqueVideoFile);
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    model.Video.CopyTo(fileStream);
                }
            }
            return(uniqueVideoFile);
        }