Esempio n. 1
0
        public IActionResult DiscTypeAdd(DiscType discType)
        {
            _context.Add(discType);
            _context.SaveChanges();

            return(RedirectToAction("DiscType"));
        }
Esempio n. 2
0
        public Task <IdentityResult> CreateAsync(AppUser user, CancellationToken cancellationToken)
        {
            _context.Add(user);
            _context.SaveChanges();

            return(Task.FromResult(IdentityResult.Success));
        }
Esempio n. 3
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 }));
        }
Esempio n. 4
0
        public async Task <IActionResult> AddSeries(AddSeriesViewModel addSeries)
        {
            Media media = _context.Medias.SingleOrDefault(m => m.ImdbId == addSeries.ImdbId);

            if (media == null)
            {
                MediaType mediaType = _context.MediaTypes.SingleOrDefault(m => m.Name == SpinningFilmHelper.SeriesType);

                string responseBody = await _apiService.GetWithCreditsAsync(addSeries.TmdbId, SpinningFilmHelper.SeriesType);

                TmdbTVResult tvResult = JsonConvert.DeserializeObject <TmdbTVResult>(responseBody);

                responseBody = await _apiService.GetOmdbResult(addSeries.ImdbId);

                RatingResult ratingResult = JsonConvert.DeserializeObject <RatingResult>(responseBody);

                media = new Media(tvResult, mediaType, ratingResult, addSeries.ImdbId);
                _context.Add(media);

                Series series = new Series(tvResult, media.MediaId);
                _context.Add(series);

                List <Genre> dbGenres = _context.Genres.ToList();
                foreach (var item in tvResult.Genres)
                {
                    var        genre      = dbGenres.SingleOrDefault(g => g.GenreId == item.GenreId) ?? _context.Genres.Add(item).Entity;
                    MediaGenre mediaGenre = new MediaGenre(media.MediaId, genre);
                    _context.Add(mediaGenre);
                }

                tvResult.Credits.Cast.ForEach(c => c.MediaId = media.MediaId);
                _context.Casts.AddRange(tvResult.Credits.Cast);

                tvResult.Credits.Crew.ForEach(c => c.MediaId = media.MediaId);
                _context.Crews.AddRange(tvResult.Credits.Crew);

                _context.SaveChanges();
            }

            if (!_context.PhysicalMedias.Any(m => m.AppUserId == User.Identity.GetNameIdGuid() && m.MediaId == media.MediaId))
            {
                foreach (var number in addSeries.SeasonNumbers)
                {
                    var physicalMedia = addSeries.PhysicalMedias[number - 1];
                    physicalMedia.MediaId   = media.MediaId;
                    physicalMedia.AppUserId = User.Identity.GetNameIdGuid();
                    _context.PhysicalMedias.Add(physicalMedia);

                    PhysicalSeason physicalSeason = new PhysicalSeason(physicalMedia.PhysicalMediaId, number);
                    _context.PhysicalSeasons.Add(physicalSeason);
                }

                _context.SaveChanges();

                return(View("AddMedia", media));
            }

            return(RedirectToAction("Index", "Home"));
        }