コード例 #1
0
        public TheaterProgramBindingModel Edit(TheaterProgramBindingModel model)
        {
            var programDb = DbContext.TheaterProgram.Find(model.Id);

            if (programDb == null)
            {
                model.SetError("Program not found in database");
                return(model);
            }

            Mapper.Map(model, programDb);

            var moviesInTheaterToDelete = DbContext.MoviesInTheaters
                                          .Where(mt => mt.TheaterProgramId == model.Id);

            var moviesInTheaterToKeep = model.SelectedMoviesIds
                                        .Select(movieId => new MoviesInTheater
            {
                MovieId          = movieId,
                TheaterProgramId = model.Id.Value
            }).ToList();

            DbContext.RemoveRange(moviesInTheaterToDelete);
            DbContext.AddRange(moviesInTheaterToKeep);
            DbContext.TheaterProgram.Update(programDb);
            DbContext.SaveChanges();

            Mapper.Map(programDb, model);
            return(model);
        }
        public IActionResult Add()
        {
            var model = new TheaterProgramBindingModel
            {
                AllMovies = this.movieService.GetAllMovies()
            };

            return(View(model));
        }
コード例 #3
0
        public TheaterProgramBindingModel GetById(int id)
        {
            var model     = new TheaterProgramBindingModel();
            var programDb = DbContext.TheaterProgram
                            .Include(p => p.Movies)
                            .FirstOrDefault(p => p.Id == id);

            if (programDb == null)
            {
                model.SetError("Theater program not found in database");
                return(model);
            }

            model = Mapper.Map <TheaterProgramBindingModel>(programDb);
            return(model);
        }
コード例 #4
0
        public TheaterProgramBindingModel Add(TheaterProgramBindingModel model)
        {
            var program = Mapper.Map <TheaterProgram>(model);

            DbContext.TheaterProgram.Add(program);
            DbContext.SaveChanges();

            foreach (var movieId in model.SelectedMoviesIds)
            {
                DbContext.Add(new MoviesInTheater
                {
                    MovieId          = movieId,
                    TheaterProgramId = program.Id
                });
            }
            DbContext.SaveChanges();

            Mapper.Map(program, model);
            return(model);
        }
        public IActionResult Edit(TheaterProgramBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(this.View(model));
            }

            var result = this.programService.Edit(model);

            LogResult(result);

            if (result.HasError)
            {
                SetMessage(MessageType.Danger, result.Message);
                return(this.View(result));
            }

            SetMessage(MessageType.Success, $"Program edited successfully");
            return(this.RedirectToAction("All"));
        }