/// <summary> /// Downloads show data from TVDB. /// </summary> /// <param name="show">the name of the show to get data for.</param> /// <returns>A list of shows matching the specified <paramref name="show"/>.</returns> private async Task<List<Show>> DownloadShowsByTitle(string show) { try { ITVDBService tvdbManager = _serviceFactory.GetServiceManager<ITVDBService>(); Task<List<Show>> searchTask = tvdbManager.GetShowsByTitle(show); SetStatus(String.Format("Searching for shows with the name '{0}'", show)); List<Show> results = await searchTask; return results; } catch { throw; } }
internal async Task Rename(string file) { // TODO: set status text to parsing SetStatus("Parsing input file."); _view.VisualizeProgress(true); // Loop through each parser and check if it can parse the input file. foreach (ITVShowParser parser in _serviceFactory.GetServiceManagers<ITVShowParser>()) { if (!parser.CanParse(file)) { // Maybe the next parser will be able to parse the file. continue; } else { SetStatus("Successful parser found."); try { TVShowFile tvShowFile = parser.Parse(file); ITVDBService tvdbManager = _serviceFactory.GetServiceManager<ITVDBService>(); SetStatus(String.Format("Searching for a show with the name '{0}'", tvShowFile.ShowName)); Task<List<Show>> showsTaskResult = tvdbManager.GetShowsByTitle(tvShowFile.ShowName); // TODO: downloading show data.. // TODO: update the progress bar to look like work is being done... List<Show> results = await showsTaskResult; // TODO: make sure the progress bar finishes InterpretShowResults(results, tvShowFile); } catch (Exception ex) { // TODO: Set status text to error SetStatus(String.Format("An error occured renaming the file. {0}", ex.Message)); break; } // TODO: I believe here would be the successful case so display some success message. break; } } _view.VisualizeProgress(false); }