public async Task <IActionResult> OnGetAsync(string id, string title, MovieProviders provider)
        {
            MovieId = id;

            IMovieProvider movieProvider = MovieProviderFactory.CreateMovieProvider(provider);

            try
            {
                var movies = await movieProvider.SearchMovieAsync(title);

                Movies = new List <MovieDbMovie>();

                await Task.Run(() =>
                {
                    foreach (MovieDbMovie movieDto in movies)
                    {
                        movieDto.Cover = movieProvider.GetMovieCover(movieDto);
                        Movies.Add(movieDto);
                    }
                });
            }
            catch (Exception ex)
            {
                //TODO: Logging im WebProject
                //LogManager.GetCurrentClassLogger().Error(ex);
            }

            return(Page());
        }
Esempio n. 2
0
        public static IMovieProvider CreateMovieProvider(MovieProviders provider)
        {
            switch (provider)
            {
            case MovieProviders.MovieDb: return(MovieDbService.Ref);

            default: return(null);
            }
        }
Esempio n. 3
0
 public string GetResourceUrlMovieById(MovieProviders mp)
 {
     if (mp.Equals(MovieProviders.Cinemaworld))
     {
         return(_movieUri.Value.CinemaworldGetMovieById);
     }
     else
     {
         return(_movieUri.Value.FilmworldGetMovieById);
     }
 }
Esempio n. 4
0
 public string GenerateMovieProviderIdResource(MovieProviders mp)
 {
     if (mp.Equals(MovieProviders.Cinemaworld))
     {
         return("cw");
     }
     else
     {
         return("fw");
     }
 }
Esempio n. 5
0
        public virtual async Task <IEnumerable <ITorrentSearchResult> > SearchMovie(string name, int?year, string imdbId, VideoQuality videoQuality = VideoQuality.Any,
                                                                                    string extraKeywords = null, string excludeKeywords = null,
                                                                                    int?minSize          = null, int?maxSize = null, int?minSeed = null)
        {
            var results = new ConcurrentBag <ITorrentSearchResult>();
            var tasks   = MovieProviders.RunTasks(p =>
                                                  p.SearchMovie(name, year, imdbId, videoQuality, extraKeywords, excludeKeywords, minSize, maxSize, minSeed, this)
                                                  .ContinueWith(t => results.AddRange(t.Result)),
                                                  ExceptionHandler
                                                  );

            await Task.WhenAll(tasks);

            return(results.OrderByDescending(r => r.Seed));
        }
Esempio n. 6
0
        public async Task <MovieList> GetAllMoviesAsync(MovieProviders mp)
        {
            var resource = _apiService.GetResourceUrlAllMovies(mp);

            var response = await Response.GetResponse(client, resource);

            if (response != null)
            {
                var content = await response.Content.ReadAsStringAsync();

                return(JsonConvert.DeserializeObject <MovieList>(content));
            }
            else
            {
                // instead of returning null return an empty object
                // crashing if Task.Result == null
                return(await Task.FromResult <MovieList>(new MovieList()));
            }
        }
Esempio n. 7
0
        public async Task <MovieDetails> GetMovieByIdAsync(MovieProviders mp, string id)
        {
            string mpid = GenerateMovieProviderIdResource(mp);

            string resource = String.Concat(_apiService.GetResourceUrlMovieById(mp), mpid, id);

            var response = await Response.GetResponse(client, resource);

            if (response != null)
            {
                var content = await response.Content.ReadAsStringAsync();

                return(JsonConvert.DeserializeObject <MovieDetails>(content, new JsonSerializerSettings
                {
                    NullValueHandling = NullValueHandling.Ignore
                }));
            }
            else
            {
                // instead of returning null return an empty object
                // crashing if Task.Result == null
                return(null);
            }
        }
 public MovieProviderService(int providerId)
 {
     context       = new MoviesContext();
     this.provider = context.MovieProviders.SingleOrDefault(li => li.Id == providerId);
     logger        = LoggerFactory.Create("CrawlerService");
 }