private bool ConfirmAdd(TVShowFromTVDBDto show) { string response = ""; bool addToDb = false; while (IsNotYesOrNo(response)) { MenuHelpers.WriteColor($"Add "); MenuHelpers.WriteColor($"{show.SeriesNameTVDB} ", ConsoleColor.Yellow); MenuHelpers.WriteColor($"to TVDB Favorites & database? (Y/N) "); response = Console.ReadLine().ToUpper(); if (response == "Y") { addToDb = true; } else if (response == "N") { addToDb = false; } else { continue; } } return(addToDb); }
private async Task DisplayResultsAndPromptToAddShow(List <TVShowFromTVDBDto> searchResults) { string userShowSelection = "INITIAL"; string exitCharUpper = "X"; while (MenuHelpers.StringIsNotNumericOrExitChar(userShowSelection, exitCharUpper)) { userShowSelection = DisplaySearchResults(searchResults, exitCharUpper); if (userShowSelection.IsNumeric()) { int userSelection = userShowSelection.ToInt(); int numberOfShows = searchResults.Count; if ((userSelection >= 0) && (userSelection < numberOfShows)) { TVShowFromTVDBDto selectedShow = searchResults[userSelection]; await ConfirmThenAddShowToDatabase(selectedShow); } else { Console.WriteLine("That's not one of the shows on the list"); continue; } } else if (userShowSelection.ToUpper() == exitCharUpper) { return; } } }
private void AddShowToDatabase(TVShowFromTVDBDto newShowDto) { TVShow newShow = newShowDto.ToTVShow(); newShow.IsActive = true; Log.Information($"Adding seriesId {newShow.SeriesId}: {newShow.SeriesName} to Shows table"); _showService.Add(newShow); }
private async Task ConfirmThenAddShowToDatabase(TVShowFromTVDBDto show) { if (ConfirmAdd(show)) { await Facade.AddShowToFavoritesThenToDatabase(show); await Facade.PopulateEpisodesFromSeriesId(show.SeriesId); } }
public void ConvertToTVShow_ValidShowNoPreferred_Passes() { TVShowFromTVDBDto newShow = new TVShowFromTVDBDto() { SeriesId = 356640, SeriesNameTVDB = "Russian Doll" }; int expectedSeriesId = 356640; string expectedSeriesName = "Russian Doll"; var result = newShow.ToTVShow(); Assert.Equal(expectedSeriesId, result.SeriesId); Assert.Equal(expectedSeriesName, result.SeriesName); Assert.Null(result.SeriesNamePreferred); }
public void ConvertToTVShow_ValidShowWithPreferred_Passes() { TVShowFromTVDBDto newShow = new TVShowFromTVDBDto() { SeriesId = 281662, SeriesNameTVDB = "Marvel's Daredevil", SeriesNamePreferred = "Daredevil" }; int expectedSeriesId = 281662; string expectedSeriesName = "Marvel's Daredevil"; string expectedPreferredName = "Daredevil"; var result = newShow.ToTVShow(); Assert.Equal(expectedSeriesId, result.SeriesId); Assert.Equal(expectedSeriesName, result.SeriesName); Assert.Equal(expectedPreferredName, result.SeriesNamePreferred); }
public async Task <TVShowFromTVDBDto> FetchTVShow(int seriesId, string token) { Log.Information("Fetching TV Series with seriesId {a}", seriesId); TVShowFromTVDBDto showDto = new TVShowFromTVDBDto(); HttpClient client = CreateDefaultClient(token); try { var response = await client.GetAsync(GetShowUri(seriesId)); response.EnsureSuccessStatusCode(); var stringResponse = await response.Content.ReadAsStringAsync(); JsonConverter converter = new JsonConverter(); showDto = converter.ConvertTVSeriesToDto(stringResponse); Log.Information("Successfully fetched TV Series {seriesId}: {showName}", seriesId, showDto.SeriesNameTVDB); } catch (Exception e) { Log.Error(e, "Error fetching TV Show {seriesId}", seriesId); } return(showDto); }
public async Task AddShowToTVDBFavorites(TVShowFromTVDBDto showDto) { await _retrieverService.AddToTVDBFavorites(showDto.SeriesId, _tvdbInfo.Token); }
public async Task AddShowToFavoritesThenToDatabase(TVShowFromTVDBDto showDto) { await AddShowToTVDBFavorites(showDto); AddShowToDatabase(showDto); }
public async Task FetchTVShowAndAddItToDatabase(int seriesId, string token) { TVShowFromTVDBDto newShowDto = await _retrieverService.FetchTVShow(seriesId, token); AddShowToDatabase(newShowDto); }