static void Main(string[] args) { // Written, 01.01.2020 Console.WriteLine("Testing PageResult\nMovie Search Result Test:"); PageResult <MovieSearchResult> moviePageResult = new PageResult <MovieSearchResult>(null) { searchPhrase = "the simpsons", methodName = "searchAsync", }; Task task = moviePageResult.nextPage(); task.Wait(); for (int i = 0; i < moviePageResult.results.Length; i++) { Console.WriteLine("{0}.) {1}", i + 1, moviePageResult.results[i].name); } Console.WriteLine("Multi Search Result Test:"); PageResult <MultiSearchResult> multiPageResult = new PageResult <MultiSearchResult>(new MultiSearchResult()) { searchPhrase = "the simpsons", methodName = "searchAsync" }; Task task1 = multiPageResult.nextPage(); task1.Wait(); int totalResults = 0; for (int i = 0; i < ApplicationInfomation.NUMBER_OF_ITEMS_PER_PAGE; i++) { MovieSearchResult movie = multiPageResult.accumulator.movies[i]; if (movie != null) { Console.WriteLine("\t[MOVIE] {0} ({1})", movie.name, movie.release_date); totalResults++; } else { TvSearchResult tvSeries = multiPageResult.accumulator.tvSeries[i]; if (tvSeries != null) { Console.WriteLine("\t[TV] {0} ({1})", tvSeries.name, tvSeries.release_date); totalResults++; } else { PeopleSearchResult person = multiPageResult.accumulator.people[i]; if (person != null) { Console.WriteLine("\t[PERSON] {0} ({1})", person.id, person.profile_path); totalResults++; } } } } Console.WriteLine("Total Results: {0}", totalResults); Console.ReadKey(); }
static async Task Main(string[] args) { // Written, 29.11.2019 Console.WriteLine("The Library v1.1 Multi-Search Test\nEnter Phrase and press Enter to search for movies, tv series and people as a multi-search request."); string searchPhrase = Console.ReadLine(); MultiSearchResult multiSearch = null; Console.WriteLine("\n\nMulti-Search Function\n-------------------------------------------"); try { multiSearch = await MultiSearchResult.searchAsync(searchPhrase, 1); } catch (AggregateException ex) { string exMessage = ex.Message; for (int i = 0; i < ex.InnerExceptions.Count; i++) { exMessage += String.Format("\n{0}.) {1}", i + 1, ex.InnerExceptions[i].Message); } Console.WriteLine("An error occured while performing multi-search function: {0}", exMessage); } int totalResults = 0; for (int i = 0; i < ApplicationInfomation.NUMBER_OF_ITEMS_PER_PAGE; i++) { MovieSearchResult movie = multiSearch.movies[i]; if (movie != null) { Console.WriteLine("\t[MOVIE] {0} ({1})", movie.name, movie.release_date); totalResults++; } else { TvSearchResult tvSeries = multiSearch.tvSeries[i]; if (tvSeries != null) { Console.WriteLine("\t[TV] {0} ({1})", tvSeries.name, tvSeries.release_date); totalResults++; } else { PeopleSearchResult person = multiSearch.people[i]; if (person != null) { Console.WriteLine("\t[PERSON] {0} ({1})", person.id, person.profile_path); totalResults++; } } } } Console.WriteLine("Total Results: {0}", totalResults); Console.WriteLine("\n\nPress R to restart or press any key to exit"); if (Console.ReadKey().Key == ConsoleKey.R) { Console.Clear(); await Main(null); } }
// Written, 27.11.2019 static async Task Main(string[] args) { // Written, 27.11.2019 Console.WriteLine("The Library v1.1 Search People Test\nEnter Phrase and press Enter to search for people"); string searchPhrase = Console.ReadLine(); bool searchOK = true; PeopleSearchResult[] peopleSearchResults = null; Console.WriteLine("\n\nPeople Search Function\n-------------------------------------------"); try { peopleSearchResults = await PeopleSearchResult.searchAsync(searchPhrase, 1); for (int i = 0; i < peopleSearchResults.GetLength(0); i++) { Console.WriteLine("{0}.) {1}", i + 1, peopleSearchResults[i].id); } Console.WriteLine("Total Results: " + peopleSearchResults.GetLength(0)); } catch { searchOK = false; } if (searchOK) { if (peopleSearchResults.GetLength(0) > 0) { Console.WriteLine("Enter people number to retrieve details."); if (Int32.TryParse(Console.ReadLine(), out int searchNum)) { try { PersonResult result = null; if (searchNum <= peopleSearchResults.GetLength(0)) { result = await PersonResult.retrieveDetailsAsync(peopleSearchResults[searchNum - 1].id); result.known_for = peopleSearchResults[searchNum - 1].known_for; } else { throw new NullReferenceException("result is null"); } Console.WriteLine("Selected PersonID: {0}\nName: {1}\nAdult Content: {2}\nProfile Image Path: {3}", result.id, result.name, result.adult ? "Yes" : "No", result.profile_path); if (result.known_for != null) { if (result.known_for.GetLength(0) > 0) { Console.WriteLine("Known for ({0}):", result.known_for.GetLength(0)); for (int i = 0; i < result.known_for.GetLength(0); i++) { MediaSearchResult mediaSearchResult = null; switch (result.known_for[i].mediaType) { case MediaTypeEnum.movie: mediaSearchResult = await MovieResult.retrieveDetailsAsync(result.known_for[i].id); break; case MediaTypeEnum.tv: mediaSearchResult = await TvSeriesResult.retrieveDetailsAsync(result.known_for[i].id); break; } Console.WriteLine("\t{2}.) [{1}] ID: {0}", result.known_for[i].id, result.known_for[i].mediaTypeString, i + 1); if (mediaSearchResult != null) { Console.WriteLine("\t{0} ({1})", mediaSearchResult.name, mediaSearchResult.release_date); } } } } } catch (NullReferenceException ex) { Console.WriteLine("Error: NullReferenceException. Probably number out of range. STACKTRACE: {0}", ex.StackTrace); } } else { Console.WriteLine("\nError: number expected"); } } else { Console.WriteLine("\nNo results found"); } } Console.WriteLine("\n\nPress R to restart or press any key to exit"); if (Console.ReadKey().Key == ConsoleKey.R) { Console.Clear(); await Main(null); } }