Esempio n. 1
0
        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"));
        }
Esempio n. 3
0
 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());
     }
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        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));
        }