// GET: MovieController/Edit/5
        public ActionResult Edit(int id)
        {
            Movie movie = _movieRepository.Get(id);

            if (movie is null)
            {
                return(RedirectToAction(nameof(Index)));
            }

            IEnumerable <int> categories = _categoryRepository.GetByMovieId(movie.Id).Select(c => c.Id);

            UpdateMovieForm updateMovieForm = new UpdateMovieForm()
            {
                Id = movie.Id, Title = movie.Title, Year = movie.Year
            };

            updateMovieForm.Categories = _categoryRepository.Get().Select(c => new SelectListItem(c.Name, c.Id.ToString(), categories.Contains(c.Id))).ToList();
            return(View(updateMovieForm));
        }
        public ActionResult Edit(int id, UpdateMovieForm form)
        {
            if (ModelState.IsValid)
            {
                if (form.Categories.Count(sli => sli.Selected) > 0)
                {
                    try
                    {
                        _movieRepository.Update(id, new Movie(form.Title, form.Year), form.Categories.Where(sli => sli.Selected).Select(sli => int.Parse(sli.Value)));
                        return(RedirectToAction(nameof(Index)));
                    }
                    catch (Exception ex)
                    {
                        ViewBag.Exception = ex.Message;
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Sélectionnez au moins une catégorie");
                }
            }

            return(View(form));
        }
Ejemplo n.º 3
0
        private void UpdateMovieToolStripMenuItem_Click(object sender, EventArgs e)
        {
            UpdateMovieForm form = new UpdateMovieForm();

            form.Show();
        }