예제 #1
0
        private string DisplaySearchResults(List <TVShowFromTVDBDto> showList, string exitCharUpper)
        {
            int numberOfShows = showList.Count;

            MenuHelpers.WriteLineColor("Search Results", ConsoleColor.White, ConsoleColor.DarkMagenta);
            for (int i = 0; i < numberOfShows; i++)
            {
                MenuHelpers.PrintMenuNumber(i);
                MenuHelpers.WriteColor($"{showList[i].SeriesNameTVDB}", ConsoleColor.Yellow);
                MenuHelpers.WriteColor(" | ");
                MenuHelpers.WriteColor($"{showList[i].Network}", ConsoleColor.Cyan);
                MenuHelpers.WriteColor(" | ");
                MenuHelpers.WriteColor("First Aired: ", ConsoleColor.Gray);
                MenuHelpers.WriteColor($"{showList[i].FirstAired}", ConsoleColor.Magenta);
                MenuHelpers.WriteColor(" | ");
                PrintShowStatus(showList[i].Status);
                MenuHelpers.WriteColor(" | ");
                MenuHelpers.WriteColor("SeriesId: ", ConsoleColor.Gray);
                MenuHelpers.WriteLineColor($"{showList[i].SeriesId}");
            }
            Console.Write($"Enter the number of the show to add it to DB (");
            MenuHelpers.WriteColor($"{ exitCharUpper} to return to Main Menu", ConsoleColor.DarkCyan);
            Console.WriteLine("):");
            string userInput = Console.ReadLine();

            return(userInput);
        }
예제 #2
0
        private int DisplayIndividualShowMenu()
        {
            DisplayShowBanner();
            MenuHelpers.PrintMenuNumber(1);
            MenuHelpers.WriteLineColorVT24Bit("Display all episodes in database", "#7a918d");
            MenuHelpers.PrintMenuNumber(2);
            MenuHelpers.WriteLineColorVT24Bit("Check for new/updated episodes in TVDB", "#93b1a7");
            MenuHelpers.PrintMenuNumber(3);
            MenuHelpers.WriteLineColorVT24Bit("Add/Change Preferred Name", "#99c2a2");
            MenuHelpers.PrintMenuNumber(4);
            MenuHelpers.WriteLineColorVT24Bit($"Toggle Active Status", "#c5edac");
            MenuHelpers.PrintMenuNumber(5);
            MenuHelpers.WriteLineColorVT24Bit($"Get episodes from specific Json page", "#ce5374");
            MenuHelpers.PrintMenuNumber(9);
            MenuHelpers.WriteLineColor("Return to List of Shows", ConsoleColor.DarkCyan);
            MenuHelpers.WriteColorVT24Bit($"Enter your selection: ", "#C0D684");
            string userInput = Console.ReadLine();

            if (userInput.IsNumeric())
            {
                return(userInput.ToInt());
            }
            else
            {
                return(0);
            }
        }
예제 #3
0
 private void DisplayShowBanner()
 {
     MenuHelpers.DisplayShowName(Show.SeriesName, Show.IsActive);
     MenuHelpers.DisplayShowActiveStatus(Show.IsActive);
     MenuHelpers.WriteColorVT24Bit($"SeriesId: ", "#adcad6");
     MenuHelpers.WriteColor($"{Show.SeriesId} ", ConsoleColor.White);
     MenuHelpers.WriteColor("| ", ConsoleColor.Magenta);
     MenuHelpers.WriteColorVT24Bit("Preferred Name: ", "#adcad6");
     MenuHelpers.WriteLineColor($"{Show.SeriesNamePreferred}", ConsoleColor.Yellow);
 }
예제 #4
0
 public static void DisplayShowActiveStatus(bool isActive)
 {
     if (isActive)
     {
         MenuHelpers.WriteLineColor("(Active)", ConsoleColor.Green);
     }
     else
     {
         MenuHelpers.WriteLineColor("(Inactive)", ConsoleColor.DarkGray);
     }
 }
예제 #5
0
 private void DisplayTokenStatus(bool IsValid)
 {
     if (IsValid)
     {
         // MenuHelpers.WriteLineColor("(Token is Valid! \u306F hey)", ConsoleColor.Green);
         MenuHelpers.WriteLineColorVT24Bit("(Token is Valid!)", "#00FF00");
     }
     else
     {
         MenuHelpers.WriteLineColor("(Token Expired!)", ConsoleColor.Red);
     }
 }
예제 #6
0
        private async Task ProcessUserSearch(string userSearch)
        {
            List <TVShowFromTVDBDto> searchResults = await Facade.SearchForTVShows(userSearch);

            if (searchResults != null)
            {
                await DisplayResultsAndPromptToAddShow(searchResults);
            }
            else
            {
                MenuHelpers.WriteLineColor($"NO RESULTS FOUND FOR {userSearch}", ConsoleColor.Red);
            }
        }
예제 #7
0
        private async Task SearchForShowsToAddtoDb()
        {
            MenuHelpers.WriteLineColor("Let's search for a show!");
            string userSearch = "temp";

            while (userSearch != "")
            {
                userSearch = PromptForSearchTerms();
                if (userSearch != "")
                {
                    await ProcessUserSearch(userSearch);
                }
            }
        }
예제 #8
0
        private int DisplayMainMenu(TVDBInfo tvdbInfo)
        {
            bool tokenIsValid = !tvdbInfo.TokenIsInvalid;

            PrintTokenExpiration(tvdbInfo);
            MenuHelpers.WriteLineColor("\u001b[4mEpisode Renamer!\u001b[0m", ConsoleColor.Yellow, ConsoleColor.DarkMagenta);
            // MenuHelpers.WriteLineGradientWhiteToBlue("Episode Renamer!");
            Console.WriteLine();

            MenuHelpers.PrintMenuNumber(1);
            MenuHelpers.WriteColorVT24Bit("Get or refresh token  ", "#e56399");
            DisplayTokenStatus(tokenIsValid);

            MenuHelpers.PrintMenuNumber(2);
            MenuHelpers.WriteLineColorVT24Bit("Populate Shows table from User Favorites", "#e5d4ce");

            MenuHelpers.PrintMenuNumber(3);
            MenuHelpers.WriteLineColorVT24Bit("Populate Episodes for existing Active shows", "#7fd1b9");

            MenuHelpers.PrintMenuNumber(4);
            MenuHelpers.WriteLineColorVT24Bit("TV Show menu", "#FF6C2C");

            MenuHelpers.PrintMenuNumber(5);
            MenuHelpers.WriteLineColor("RENAME FILES!!", ConsoleColor.Yellow);

            MenuHelpers.PrintMenuNumber(6);
            MenuHelpers.WriteLineColor("Search for shows on TVDB", ConsoleColor.White);


            MenuHelpers.PrintMenuNumber(9);
            MenuHelpers.WriteLineColor("Exit, if you dare", ConsoleColor.DarkCyan);
            var result = Console.ReadLine();

            if (result.IsNumeric())
            {
                return(result.ToInt());
            }
            else
            {
                return(0);
            }
        }
예제 #9
0
 private async Task ProcessMainMenuUserInput(int selection)
 {
     if (selection == 1)
     {
         await Facade.FetchTokenIfNeeded();
     }
     else if (selection == 2)
     {
         await Facade.PopulateShowsFromFavorites();
     }
     else if (selection == 3)
     {
         await Facade.PopulateEpisodesFromExistingActiveShows();
     }
     else if (selection == 4)
     {
         await CreateTVShowMenu();
     }
     else if (selection == 5)
     {
         Console.WriteLine("OK we are getting down to business");
         Facade.RenameFiles();
     }
     else if (selection == 6)
     {
         await CreateSearchMenu();
     }
     else if (selection == 9)
     {
         return;
     }
     else
     {
         MenuHelpers.WriteLineColor("Not a valid choice, bro!", ConsoleColor.Red);
     }
 }