public IActionResult Create(CreateMovieModel movieModel)
        {
            if (ModelState.IsValid)
            {
                var domainModel = movieModel.ToModel();
                var response    = _moviesService.CreateMovie(domainModel);
                if (response.Success)
                {
                    var logData = new LogData()
                    {
                        Type = LogType.Info, DateCreated = DateTime.Now, Message = $"User with Id {User.FindFirst("Id")} created the movie with id {domainModel.Id} and title {domainModel.Title}"
                    };
                    _logService.Log(logData);
                    return(RedirectToAction("ManageOverview"));
                }
                else
                {
                    return(RedirectToAction("ManageOverview", new { ErrorMessage = response.Message }));
                }
            }
            var movieGenres            = _movieGenresService.GetAll();
            var movieGenresToViewModel = movieGenres.Select(x => x.ToMovieGenresViewModel()).ToList();

            movieModel.MovieGenres = movieGenresToViewModel;

            return(View(movieModel));
        }
        // GET: Movies/Create
        public ActionResult Create()
        {
            var movie = new CreateMovieModel();
            this.PopulateDropDowns(movie);

            return this.PartialView("_Create", movie);
        }
        public void CreateMovie(CreateMovieModel newMovieModel, string path)
        {
            var producerIds     = newMovieModel.SelectedProducersIds;
            var genresIds       = newMovieModel.SelectedGenresIds;
            var actorsIds       = newMovieModel.SelectedActorsIds;
            var newMovie        = _mapper.Map <CreateMovieModel, Movie>(newMovieModel);
            var newPictureModel = new AddPictureModel {
                Url = path
            };
            var newPicture = _mapper.Map <AddPictureModel, Picture>(newPictureModel);

            newMovie.Pictures.Add(newPicture);
            foreach (var p in _db.Producers.Where(x => producerIds.Contains(x.Id)))
            {
                newMovie.Producers.Add(p);
            }

            foreach (var g in _db.Genres.Where(x => genresIds.Contains(x.Id)))
            {
                newMovie.Genres.Add(g);
            }

            foreach (var a in _db.Actors.Where(x => actorsIds.Contains(x.Id)))
            {
                newMovie.Actors.Add(a);
            }
            _db.Movies.Add(newMovie);
            _db.SaveChanges();
        }
示例#4
0
        public async Task <int> AddMovie(CreateMovieModel movie)
        {
            const string query = @"INSERT INTO dbo.Movies (
									[Name],
									[DirectorId],
									[ReleaseYear])
									VALUES( @Name,
											@DirectorId,
											@ReleaseYear)"                                            ;

            using (var cnn = new SqlConnection(_connectionString.Value))
            {
                var result = await cnn.ExecuteAsync(
                    query,
                    new
                {
                    Name        = movie.Name,
                    DirectorId  = movie.DirectorId,
                    ReleaseYear = movie.ReleaseYear
                });

                // result = # of rows modified by query. >0 = at least one successful execution.
                return(result);
            }
        }
        public IActionResult Create()
        {
            var movieGenres            = _movieGenresService.GetAll();
            var movieGenresToViewModel = movieGenres.Select(x => x.ToMovieGenresViewModel()).ToList();
            var movieViewModel         = new CreateMovieModel();

            movieViewModel.MovieGenres = movieGenresToViewModel;
            return(View(movieViewModel));
        }
 public static Movie ToModel(this CreateMovieModel movie)
 {
     return(new Movie()
     {
         Title = movie.Title,
         Description = movie.Description,
         ImageURL = movie.ImageURL,
         Duration = movie.Duration,
         MovieGenreId = movie.MovieGenreId
     });
 }
示例#7
0
        public async Task <IActionResult> Create(CreateMovieModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var movie = await _movieService.CreateMovieAsync(model.Title, model.ReleaseDate, model.Director, model.Genre);

            return(RedirectToAction(nameof(Index)));
        }
示例#8
0
        public async Task <IActionResult> AddMovie(CreateMovieModel model)
        {
            var result = await _movieRepository.AddMovie(model);

            if (result >= 1)
            {
                return(Ok(new { Message = "Movie added succesfully. cambio 4" }));
            }

            return(StatusCode(500, new { Message = "Some error happened." }));
        }
示例#9
0
    public async Task <int> AddMovie(CreateMovieModel movie)
    {
        const string query = @"INSERT INTO dbo.Movies ([Name], [DirectorId], [ReleaseYear]) VALUES(@Name, @DirectorId, @ReleaseYear)";

        using (var conn = new SqlConnection(_connectionStringHolder.Value))
        {
            var result = await conn.ExecuteAsync(
                query,
                new { Name = movie.Name, DirectorId = movie.DirectorId, ReleaseYear = movie.ReleaseYear });

            return(result);
        }
    }
示例#10
0
        public async Task <IActionResult> Create(CreateMovieModel movieModel)
        {
            var errorMessage = String.Empty;

            if (!movieModel.ValidateCreateModel(out errorMessage))
            {
                ModelState.AddModelError(string.Empty, errorMessage);
                return(View());
            }
            await MovieService.AddMovieAsync(movieModel);

            return(RedirectToAction(nameof(Index)));
        }
        public ActionResult Create(CreateMovieModel model)
        {
            if (ModelState.IsValid)
            {
                Mapper.CreateMap<Movie, CreateMovieModel>().ReverseMap();
                var newMovie = Mapper.Map<Movie>(model);
                this.movies.Create(newMovie);

                return RedirectToAction("Index");
            }

            return View(model);
        }
示例#12
0
        public async Task <ActionResult> CreateNewMovieWithHisTags([FromBody] CreateMovieModel movieModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            MovieDomainModel domainModel = new MovieDomainModel
            {
                Current = movieModel.Current,
                Rating  = movieModel.Rating,
                Title   = movieModel.Title,
                Year    = movieModel.Year
            };

            MovieCreateTagDomainModel movieCreateTagDomainModel = new MovieCreateTagDomainModel
            {
                Duration          = movieModel.Duration,
                tagsForMovieToAdd = movieModel.listOfTags
            };

            MovieDomainModel createMovie;

            try
            {
                createMovie = await _movieService.AddMovie(domainModel, movieCreateTagDomainModel);
            }
            catch (DbUpdateException e)
            {
                ErrorResponseModel errorResponse = new ErrorResponseModel
                {
                    ErrorMessage = e.InnerException.Message ?? e.Message,
                    StatusCode   = System.Net.HttpStatusCode.BadRequest
                };

                return(BadRequest(errorResponse));
            }

            if (createMovie == null)
            {
                ErrorResponseModel errorResponse = new ErrorResponseModel
                {
                    ErrorMessage = Messages.MOVIE_CREATION_ERROR,
                    StatusCode   = System.Net.HttpStatusCode.InternalServerError
                };

                return(StatusCode((int)System.Net.HttpStatusCode.InternalServerError, errorResponse));
            }

            return(Created("movies//" + createMovie.Id, createMovie));
        }
        private void InsertMovie(CreateMovieModel model)
        {
            var movie = new Movie();

            movie.Director          = model.Director;
            movie.Title             = model.Title;
            movie.LeadingFemaleRole = model.FemaleRole;
            movie.LeadingMaleRole   = model.MaleRole;
            movie.Studio            = model.Studio;
            movie.StudioAddress     = model.StudioAddress;
            movie.Year = model.Year;
            this.db.Movies.Add(movie);
            this.db.SaveChanges();
        }
示例#14
0
        public async Task AddMovieAsync(CreateMovieModel createMovieModel)
        {
            await Context.Movie.AddAsync(new Movie()
            {
                Name        = createMovieModel.Name,
                Synopsis    = createMovieModel.Synopsis,
                AgeRating   = createMovieModel.AgeRating,
                Price       = Convert.ToDecimal(createMovieModel.Price),
                ReleaseYear = createMovieModel.ReleaseYear,
                Image       = createMovieModel.Image,
                Trailer     = createMovieModel.Trailer
            });

            await Context.SaveChangesAsync();
        }
示例#15
0
        public ActionResult CreateMovie(CreateMovieModel model, FormCollection form)
        {
            if (Session["userID"] != null)
            {
                if (Session["Group_ID"].ToString() == "2")
                {
                    var  data   = LoadMovies();
                    bool Exists = false;

                    foreach (var Movie in data)
                    {
                        if (Movie.Title == model.Title)
                        {
                            Exists = true;
                        }
                    }

                    if (!Exists)
                    {
                        // Get file name
                        string fileName = Path.GetFileNameWithoutExtension(model.ImageFile.FileName);
                        // Get file extension like jpg, gif etc.
                        string extension = Path.GetExtension(model.ImageFile.FileName);
                        // Set date on file name so no duplicates.
                        fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension;
                        // Set path
                        model.Img = "/Content/Pictures/" + fileName;
                        fileName  = Path.Combine(Server.MapPath("/Content/Pictures/"), fileName);
                        // Save image
                        model.ImageFile.SaveAs(fileName);
                        int ageRating;
                        int.TryParse(form["Age_rating"], out ageRating);

                        string[] genres     = form["Genre"].Split(',');
                        string[] writers    = form["Writers"].Split(',');
                        string[] Directores = form["Directors"].Split(',');

                        int MovieID = Createmovie(model.Title, model.Description, model.Duration, model.Img, model.Trailer, model.Release, model.Rating, ageRating);
                        CreateMovieGenre(MovieID, genres);
                        CreateMovieWriter(MovieID, writers);
                        CreateMovieDirector(MovieID, Directores);
                    }

                    return(RedirectToAction("index", "Administration"));
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
 public ActionResult CreateMovie(CreateMovieModel movieObj)
 {
     InsertMovie(movieObj);
     ViewBag.MovieTitle = movieObj.Title;
     return(this.PartialView("_Created", movieObj));
 }
        private void PopulateDropDowns(CreateMovieModel movie)
        {
            var actors = this.actors.GetMaleActors().ToList().Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Name });
            movie.Actors = actors;

            var actresses = this.actors.GetFemaleActors().ToList().Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Name });
            movie.Actresses = actresses;

            var directors = this.directors.GetAll().ToList().Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Name });
            movie.Directors = directors;

            var studios = this.studios.GetAll().ToList().Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Name });
            movie.Studios = studios;
        }