public async Task <IActionResult> Edit(FilmEditViewModel model, CancellationToken token, string returnUrl = null) { AddBreadcrumb("Films", "/Film/All"); AddBreadcrumb("Edit", "/Film/Edit"); ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { var film = await GetFilm(token); film.Title = model.Title; film.Description = model.Description; film.Genre = model.Genre; film.Duration = TimeSpan.FromSeconds(long.Parse(model.Duration)); film.ReleaseDate = DateTime.ParseExact(model.ReleaseDate, "MM\\/dd\\/yyyy", CultureInfo.InvariantCulture); film.TrailerUrl = model.TrailerUrl; film.IsActive = model.IsActive; var updatedFilm = await _filmRepository.UpdateAsync(film, token); if (model.PosterImage != null) { await _blobRepository.Upload(updatedFilm.Id, model.PosterImage); } return(RedirectToAction(nameof(All), "Film")); } return(View(model)); }
public IActionResult Edit(int id) { FilmEditViewModel model = new FilmEditViewModel(); Film filmFromDb = _context.Films.Include(genre => genre.Genres).Include(reg => reg.Regisseurs).FirstOrDefault(x => x.Id == id); model.Id = filmFromDb.Id; model.Speelduur = filmFromDb.Speelduur; model.Beschrijving = filmFromDb.Beschrijving; model.Titel = filmFromDb.Titel; model.Foto = filmFromDb.Foto; model.Regisseurs = new List <SelectListItem>(); model.Genres = new List <CheckboxViewModel>(); foreach (var item in _context.Regisseurs) { SelectListItem listItem = new SelectListItem(item.Naam, item.Id.ToString()); model.Regisseurs.Add(listItem); if (_context.FilmRegisseurs.Where(x => x.FilmId == filmFromDb.Id).FirstOrDefault(y => y.RegisseurId == item.Id) != null) { listItem.Selected = true; } } foreach (var item in _context.GenreFilms) { model.Genres.Add(new CheckboxViewModel() { Id = item.Id, Naam = item.Genrenaam }); if (_context.FilmGenres.Where(x => x.FilmId == filmFromDb.Id).FirstOrDefault(y => y.GenreId == item.Id) != null) { model.Genres.Last().Checked = true; } } return(View(model)); }
public IActionResult Edit(FilmEditViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var userId = User.UserId(); if (!_filmService.CheckOwner(model.Id, userId)) { return(Forbid("Отказано в доступе")); } var film = _filmService.GetById(model.Id); film.Description = model.Description; film.Director = film.Director.Name.Equals(model.Director) ? film.Director : new Director { Name = model.Director }; film.Year = model.Year; if (model.Poster is not null) { _fileHelper.DeleteFile(film.Poster); film.Poster = _fileHelper.SaveUploadedFile(model.Poster); } _filmService.Update(film); return(RedirectToAction("Details", new { model.Id })); }
public IActionResult Edit(int Id) { Film filmFromDb = _context.Film.Include(f => f.Regisseurs).Include(f => f.Genres).FirstOrDefault(f => f.Id == Id); FilmEditViewModel fevModel = new FilmEditViewModel() { Id = Id, Beschrijving = filmFromDb.Beschrijving, Titel = filmFromDb.Titel, HuidigeFoto = filmFromDb.Foto, GenresList = _genreList, SelectedGenres = new List <string>(), Lengte = filmFromDb.Lengte, Regisseurs = new List <string>() }; foreach (var genr in filmFromDb.Genres) { fevModel.SelectedGenres.Add(_context.FilmGenre.FirstOrDefault(fg => fg.Id == genr.GenreId).Genre); } foreach (var regi in filmFromDb.Regisseurs) { FilmRegisseur freg = _context.FilmRegisseur.FirstOrDefault(fr => fr.Id == regi.RegisseurId); fevModel.Regisseurs.Add(freg.Naam); } return(View(fevModel)); }
public ActionResult Edit(int id = 0) { InitEditViewBag(); string currentUserId = User.Identity.GetUserId(); FilmEditViewModel model = new FilmEditViewModel(); if (id > 0) { var entry = filmSrv[id]; if (entry != null && entry.UserId == currentUserId) { model.Name = entry.Name; model.Year = entry.Year; model.DateCreate = entry.DateCreate; model.Description = entry.Description; model.CategoryIds = entry .Categories.Select(x => x.Id).ToArray(); model.ProducerIds = entry.Producer .Select(x => x.Id).ToArray(); model.ActorIds = entry.Actors .Select(x => x.Id).ToArray(); } else { ViewBag.Allowed = false; return(Redirect("~/profile")); } } return(View(model)); }
public void SuccessMapFilmEditToFilmGenre(int filmId, int firstGenreId, int secondGenreId) { var source = new FilmEditViewModel() { Id = filmId, Title = "TestFilm", GenreViewModels = new List <FilmEditViewModel.Genre>() { new FilmEditViewModel.Genre() { Id = firstGenreId, Name = "TestGenre" }, new FilmEditViewModel.Genre() { Id = secondGenreId, Name = "TestGenre2" } } }; var result = _mapper.Map <FilmEditViewModel, List <FilmGenre> >(source); result.Should().Contain(fg => fg.FilmId == filmId && fg.GenreId == firstGenreId); result.Should().Contain(fg => fg.FilmId == filmId && fg.GenreId == secondGenreId); }
public List <FilmGenre> Convert(FilmEditViewModel source, List <FilmGenre> destination, ResolutionContext context) { var result = context.Mapper.Map <List <FilmEditViewModel.Genre>, List <FilmGenre> >(source.GenreViewModels); result.ForEach(fg => fg.FilmId = source.Id); return(result); }
// GET: Film/Create public IActionResult Create() { var filmViewModel = new FilmEditViewModel { GenreViewModels = _mapper.Map <List <Genre>, List <FilmEditViewModel.Genre> >(_genreRepo.GetAll().ToList()) }; return(View(filmViewModel)); }
public async Task <IActionResult> Edit(FilmEditViewModel model, List <int> Genres, List <string> Regi) { Regi.RemoveAt(Regi.Count() - 1); Film film = _context.Film.Include(f => f.Regisseurs).FirstOrDefault(f => f.Id == model.Id); film.Lengte = model.Lengte; film.Beschrijving = model.Beschrijving; film.Titel = model.Titel; _context.GenreFilm.RemoveRange(_context.GenreFilm.Where(gf => gf.FilmId == model.Id)); _context.RegisseurFilm.RemoveRange(_context.RegisseurFilm.Where(rf => rf.FilmId == model.Id)); foreach (var genre in Genres) { _context.GenreFilm.Add(new GenreFilm() { FilmId = model.Id, GenreId = genre }); } foreach (var regisseur in Regi) { FilmRegisseur FR = _context.FilmRegisseur.FirstOrDefault(x => x.Naam == regisseur); if (FR != null) { _context.RegisseurFilm.Add(new RegisseurFilm() { FilmId = model.Id, RegisseurId = FR.Id }); _context.SaveChanges(); } else { _context.FilmRegisseur.Add(new FilmRegisseur() { Naam = regisseur }); _context.SaveChanges(); _context.RegisseurFilm.Add(new RegisseurFilm() { FilmId = model.Id, RegisseurId = _context.FilmRegisseur.FirstOrDefault(x => x.Naam == regisseur).Id }); _context.SaveChanges(); } } if (model.Foto != null) { using (var memoryStream = new MemoryStream()) { await model.Foto.CopyToAsync(memoryStream); film.Foto = memoryStream.ToArray(); } } _context.SaveChanges(); return(RedirectToAction("Detail", new { model.Id })); }
public async Task <IActionResult> Edit(int id) { Film filmFromDb = await _mediaDbContext.Films.FindAsync(id); FilmEditViewModel model = new FilmEditViewModel { Id = filmFromDb.Id, Producer = filmFromDb.Producer, ReleaseDate = filmFromDb.ReleaseDate, Title = filmFromDb.Title, Url = filmFromDb.Url }; return(View(model)); }
public IActionResult Edit(FilmEditViewModel model, bool regisseur) { if (string.IsNullOrEmpty(model.RegisseurToevoegen)) { if (model.RegisseurToevoegen != "") { _context.Regisseurs.Add(new Regisseur() { Naam = model.RegisseurToevoegen }); _context.SaveChanges(); } return(RedirectToAction("Create", model)); } else { Film aanTePassenFilm = _context.Films.FirstOrDefault(x => x.Id == model.Id); aanTePassenFilm.Speelduur = model.Speelduur; aanTePassenFilm.Titel = model.Titel; aanTePassenFilm.Beschrijving = model.Beschrijving; if (model.FotoAanpassen != null) { using (MemoryStream stream = new MemoryStream()) { model.FotoAanpassen.CopyTo(stream); aanTePassenFilm.Foto = stream.ToArray(); } } _context.FilmGenres.RemoveRange(_context.FilmGenres.Where(x => x.FilmId == model.Id)); _context.FilmRegisseurs.RemoveRange(_context.FilmRegisseurs.Where(y => y.FilmId == model.Id)); foreach (var item in model.Genres.Where(c => c.Checked == true)) { _context.FilmGenres.Add(new FilmGenre() { FilmId = model.Id, GenreId = item.Id }); } foreach (var item in model.SelectedRegisseurs) { _context.FilmRegisseurs.Add(new FilmRegisseur() { FilmId = model.Id, RegisseurId = int.Parse(item) }); } _context.SaveChanges(); return(RedirectToAction("Details", new { id = model.Id })); } }
public IActionResult Create(FilmEditViewModel filmEditViewModel) { if (!ModelState.IsValid) { return(View(filmEditViewModel)); } var film = _mapper.Map <Film>(filmEditViewModel); filmEditViewModel.GenreViewModels.RemoveAll(gs => !gs.Checked); film.FilmGenres = _mapper.Map <FilmEditViewModel, List <FilmGenre> >(filmEditViewModel); _filmRepo.Create(film); _filmRepo.Save(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Edit(CancellationToken token) { AddBreadcrumb("Films", "/Film/All"); AddBreadcrumb("Edit", "/Film/Edit"); var film = await GetFilm(token); var viewModel = new FilmEditViewModel { Title = film.Title, Description = film.Description, ReleaseDate = film.ReleaseDate.ToString("MM\\/dd\\/yyyy"), Duration = ((long)film.Duration.TotalSeconds).ToString(), Genre = film.Genre, TrailerUrl = film.TrailerUrl, IsActive = film.IsActive }; return(View(viewModel)); }
public async Task <IActionResult> Edit(int id, FilmEditViewModel vm) { if (!TryValidateModel(vm)) { return(View(vm)); } Film domainFilm = await _mediaDbContext.Films.FindAsync(id); domainFilm.Title = vm.Title; domainFilm.Description = vm.Description; domainFilm.ReleaseDate = vm.ReleaseDate; domainFilm.Url = vm.Url; domainFilm.Producer = vm.Producer; _mediaDbContext.Update(domainFilm); await _mediaDbContext.SaveChangesAsync(); return(RedirectToAction("Detail", new { Id = id })); }
public IActionResult Edit(int id) { var userId = User.UserId(); if (!_filmService.CheckOwner(id, userId)) { return(Forbid("Отказано в доступе")); } var film = _filmService.GetById(id); var viewModel = new FilmEditViewModel { Id = id, Name = film.Name, Description = film.Description, Director = film.Director.Name, PosterImg = _fileHelper.MakeUrlToFile(film.Poster), Year = film.Year }; return(View(viewModel)); }
public async Task <IActionResult> Edit(FilmEditViewModel model) { if (!ModelState.IsValid) { return(RedirectToAction(nameof(Edit), new { id = model.Id })); } var item = await films.GetAsync(model.Id); if (item == null) { return(NotFound()); } if (model.Producer != item.Producer?.Name) { item.ProducerId = producers.LoadOrCreate(model.Producer); } if (model.Poster != null) { int newPosterId = await posters.AddAsync(model.Poster); if (newPosterId > 0 && item.PosterId != null) { await posters.DeleteAsync((int)item.PosterId); } item.PosterId = newPosterId; } item.Name = model.Name; item.Description = model.Description; item.Producer = null; item.Year = model.Year; await films.SaveAsync(item); return(RedirectToAction(nameof(Edit), new { id = item.Id })); }
public IActionResult Edit(int id, FilmEditViewModel filmEditViewModel) { if (id != filmEditViewModel.Id) { return(NotFound()); } if (ModelState.IsValid) { var newFilmData = _mapper.Map <Film>(filmEditViewModel); filmEditViewModel.GenreViewModels.RemoveAll(gs => !gs.Checked); newFilmData.FilmGenres = _mapper.Map <FilmEditViewModel, List <FilmGenre> >(filmEditViewModel); try { _filmRepo.Update(newFilmData); _filmRepo.Save(); } catch (DbUpdateConcurrencyException) { if (!FilmExists(newFilmData.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(filmEditViewModel)); }
public ActionResult Edit(FilmEditViewModel model) { InitEditViewBag(); if (ModelState.IsValid) { try { model.UserId = User.Identity.GetUserId(); var result = filmSrv.Edit(model); if (result != null && result.Id > 0) { SavePoster(model.Files, result.Id); } return(Redirect("~/profile")); } catch { ModelState.AddModelError("", "При редактировании произошли ошибки!"); } } return(View(model)); }
public FilmEdit(Film film, ObservableCollection <Actor> actors) { //Setting BindingContext ViewModel = new FilmEditViewModel(film, actors); InitializeComponent(); }