Exemple #1
0
        private async Task <MovieFullInfoViewModel> ProcessSingleMovie(FullMovieInfo movie)
        {
            var viewMovie = Mapper.Map <SearchMovieViewModel>(movie);
            var user      = await GetUser();

            var digitalReleaseDate = viewMovie.ReleaseDates?.Results?.FirstOrDefault(x => x.IsoCode == user.StreamingCountry);

            if (digitalReleaseDate == null)
            {
                digitalReleaseDate = viewMovie.ReleaseDates?.Results?.FirstOrDefault(x => x.IsoCode == "US");
            }
            viewMovie.DigitalReleaseDate = digitalReleaseDate?.ReleaseDate?.FirstOrDefault(x => x.Type == ReleaseDateType.Digital)?.ReleaseDate;

            await RunSearchRules(viewMovie);

            // This requires the rules to be run first to populate the RequestId property
            await CheckForSubscription(viewMovie);

            var mapped = Mapper.Map <MovieFullInfoViewModel>(movie);

            mapped.Available          = viewMovie.Available;
            mapped.Approved           = viewMovie.Approved;
            mapped.RequestId          = viewMovie.RequestId;
            mapped.Requested          = viewMovie.Requested;
            mapped.PlexUrl            = viewMovie.PlexUrl;
            mapped.EmbyUrl            = viewMovie.EmbyUrl;
            mapped.JellyfinUrl        = viewMovie.JellyfinUrl;
            mapped.Subscribed         = viewMovie.Subscribed;
            mapped.ShowSubscribe      = viewMovie.ShowSubscribe;
            mapped.DigitalReleaseDate = viewMovie.DigitalReleaseDate;

            return(mapped);
        }
Exemple #2
0
        private async Task <MovieFullInfoViewModel> ProcessSingleMovie(FullMovieInfo movie)
        {
            var viewMovie = Mapper.Map <SearchMovieViewModel>(movie);

            await RunSearchRules(viewMovie);

            // This requires the rules to be run first to populate the RequestId property
            await CheckForSubscription(viewMovie);

            var mapped = Mapper.Map <MovieFullInfoViewModel>(movie);

            mapped.Available     = viewMovie.Available;
            mapped.Approved      = viewMovie.Approved;
            mapped.RequestId     = viewMovie.RequestId;
            mapped.Requested     = viewMovie.Requested;
            mapped.PlexUrl       = viewMovie.PlexUrl;
            mapped.EmbyUrl       = viewMovie.EmbyUrl;
            mapped.JellyfinUrl   = viewMovie.JellyfinUrl;
            mapped.Subscribed    = viewMovie.Subscribed;
            mapped.ShowSubscribe = viewMovie.ShowSubscribe;

            return(mapped);
        }