public async Task <IActionResult> EditMedia(EditMediaViewModel editMedia) { PhysicalMedia physicalMedia = await _physicalMediaService.Get(editMedia.PhysicalMediaId); var authorizationResult = await _authorizationService.AuthorizeAsync(User, physicalMedia, new SameUserRequirement()); if (!authorizationResult.Succeeded) { return(new ForbidResult()); } //PhysicalMedia physicalMedia = _context.PhysicalMedias.SingleOrDefault(p => p.MediaId == editMedia.PhysicalMediaId && p.AppUserId == User.Identity.GetNameIdGuid()); physicalMedia.DiscTypeId = editMedia.DiscTypeId; physicalMedia.DigitalCopy = editMedia.DigitalCopy; await _physicalMediaService.Update(physicalMedia); List <Genre> genres = _context.Genres.Where(g => g.Extra).ToList(); List <MediaGenre> mediaGenres = _context.MediaGenres.Where(m => m.MediaId == editMedia.PhysicalMediaId && genres.Select(g => g.GenreId).Contains(m.GenreId)).ToList(); if (mediaGenres != null) { _context.RemoveRange(mediaGenres); } foreach (var extraGenreId in editMedia.ExtraGenreIds) { var genre = genres.SingleOrDefault(g => g.GenreId == extraGenreId); _context.Add(new ExtraGenre(physicalMedia.PhysicalMediaId, genre)); } _context.SaveChanges(); return(RedirectToAction("Index", new { type = SpinningFilmHelper.MovieType })); }
public IActionResult EditMedia(EditMediaViewModel mediaViewModel) { var media = _context.Media.Include(f => f.FilmItem).Include(p => p.Person).FirstOrDefault(m => m.Id == int.Parse(Request.Form["MediaId"])); _context.Media.Attach(media); mediaViewModel.MapToModel(media); _context.SaveChanges(); if (media.FilmItem != null) { if (media.FilmItem.Discriminator == "Movie" || media.FilmItem.Discriminator == "Series") { return(RedirectToAction("Details", media.FilmItem.Discriminator, new { Slug = media.FilmItem.Slug })); } else if (media.FilmItem.Discriminator == "Season") { return(RedirectToAction("Details", media.FilmItem.Discriminator, new { Slug = media.FilmItem.Slug, SeasonNumber = media.FilmItem.Season_SeasonNumber })); } else if (media.FilmItem.Discriminator == "Episode") { return(RedirectToAction("Details", media.FilmItem.Discriminator, new { Slug = media.FilmItem.Slug, SeasonNumber = media.FilmItem.Episode_SeasonNumber, EpisodeNumber = media.FilmItem.Episode_EpisodeNumber })); } } else if (media.Person != null) { return(RedirectToAction("Details", "Person", new { Slug = media.Person.Slug })); } return(RedirectToAction("Index", "Dashboard")); }
public ActionResult Edit(int id, EditMediaViewModel model) { try { string FileName = UploadFile(model.File, model.ImageUrl); if (ModelState.IsValid) { var category = categoryRepository.Find(model.CategoryId); if (model.CategoryId == -1) { ModelState.AddModelError("", "Please select the Category"); return(View(GetAllCategories())); } var media = new Media { Name = model.Name, Image = FileName, MediaCategory = category }; repository.Update(model.Id, media); return(RedirectToAction("index")); } return(View(model)); } catch { return(View()); } }
public async Task <EditMediaViewModel> CreateViewModel(PhysicalMedia physicalMedia) { Media media = await _mediaRepository.GetByIdAsync(physicalMedia.MediaId); var discTypes = await _discTypeRepository.ListAllAsync(); var extraGenres = await _extraGenreRepository.ListAsync(new ExtraGenreSpecification(physicalMedia.PhysicalMediaId)); var genres = await _genreRepository.ListAsync(new GenreSpecification(true));//_context.Genres.Where(g => !g.Default).ToList(); EditMediaViewModel editMedia = new EditMediaViewModel(media, physicalMedia, discTypes, genres, extraGenres); return(editMedia); }
public async Task <IActionResult> EditModal(Guid physicalMediaId) { PhysicalMedia physicalMedia = await _physicalMediaService.Get(physicalMediaId); var authorizationResult = await _authorizationService.AuthorizeAsync(User, physicalMedia, new SameUserRequirement()); if (!authorizationResult.Succeeded) { return(new ForbidResult()); } EditMediaViewModel editMedia = await _editMediaViewModelService.CreateViewModel(physicalMedia); return(View(editMedia)); }
public ActionResult Edit(int id) { var category = repository.Find(id); if (category == null) { return(NotFound()); } var model = new EditMediaViewModel { Id = category.ID, Name = category.Name, ImageUrl = category.Image, CategoryId = category.MediaCategoryId, Categories = FillCategory() }; return(View(model)); }