/// <summary> /// Gets the movie information. /// </summary> /// <param name="imbdId">The imbd identifier.</param> public MovieFullInfo GetMovieInfo(string imbdId) { // gets movie info from db var dbInstance = new DbManager(); DbMovieFullInfo movieFromDb = dbInstance.GetMovieByImdbId(imbdId); MovieFullInfo movie = MapFullMovieDbEntitieToBl(movieFromDb); if (movie != null) { return(movie); } // gets movie info from api var service = new MovieBoxApiService(); ApiMovieFullInfo movieFromApi = service.GetMovie(imbdId); if (movieFromApi != null) { DbMovieFullInfo dbMoveEntity = MapApiFullInfoMovieToDb(movieFromApi); // add movie to db dbInstance.AddMovie(dbMoveEntity); MovieFullInfo movieBl = MapFullMovieDbEntitieToBl(dbMoveEntity); return(movieBl); } return(new MovieFullInfo()); }
/// <summary> /// Finds the movies. /// </summary> /// <param name="searchRequest">The search request.</param> /// <param name="pageNumber">The page number.</param> public IMovie FindMovies(string searchRequest, int pageNumber) { var instance = new MovieBoxApiService(); var result = instance.GetMovies(searchRequest, pageNumber); return(result); }
/// <summary> /// Finds the movies. /// </summary> /// <param name="searchRequest">The search request.</param> public SearchMovie FindMovies(string searchRequest, int pageNumber) { var instance = new MovieBoxApiService(); ApiMoviesResponse response = instance.GetMovies(searchRequest, pageNumber); SearchMovie result = MapMovieApiEntities(response); return(result); }
/// <summary> /// Gets the movie information. /// </summary> /// <param name="imbdId">The imbd identifier.</param> public IMovieFullInfo GetMovieInfo(string imbdId) { var dbInstance = new DbManager(); IMovieFullInfo movieFromDb = dbInstance.GetMovieByImdbId(imbdId); // gets movie info from db if (movieFromDb != null) { return(movieFromDb); } // gets movie info from api var service = new MovieBoxApiService(); IMovieFullInfo movieFromApi = service.GetMovie(imbdId); if (movieFromApi != null) { dbInstance.AddMovie(movieFromApi); } return(movieFromApi); }