Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        // 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);
            }
        }