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()); }
public static IMovieProvider CreateMovieProvider(MovieProviders provider) { switch (provider) { case MovieProviders.MovieDb: return(MovieDbService.Ref); default: return(null); } }
public string GetResourceUrlMovieById(MovieProviders mp) { if (mp.Equals(MovieProviders.Cinemaworld)) { return(_movieUri.Value.CinemaworldGetMovieById); } else { return(_movieUri.Value.FilmworldGetMovieById); } }
public string GenerateMovieProviderIdResource(MovieProviders mp) { if (mp.Equals(MovieProviders.Cinemaworld)) { return("cw"); } else { return("fw"); } }
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)); }
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())); } }
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"); }