private static void ShowMenuAddWatcher() { bool menuClose = false; while (!menuClose) { Prompts.PromptMenuAction("Add a Watcher"); var friendlyName = Prompts.PromptQuestion("Enter a name for this tracker"); var pageURL = Prompts.PromptQuestion("Enter the page URL to monitor"); var keyWord = Prompts.PromptQuestion("Enter the keyword you want to look for (case sensitive)"); bool alertOnNotExist = Prompts.PromptYesNo($"Do you want the alert to trigger when this keyword doesn't exist?{Environment.NewLine} (if no then alert triggers when the keyword does exist)"); var newTracker = new TrackedProduct() { FriendlyName = friendlyName, PageURL = pageURL, Keyword = keyWord, AlertOnKeywordNotExist = alertOnNotExist }; Prompts.PromptWatcherAlertType(newTracker); newTracker.Save(); Log.Information("Created new tracker! {Tracker}", newTracker); Console.Write($"Successfully created tracker! {Environment.NewLine}URL: {newTracker.PageURL}"); menuClose = true; StopForMessage(); Console.Clear(); } Log.Information("Exited Menu AddWatcher"); }
private static void ShowWatcherProperties(TrackedProduct selectedTracker) { Console.Clear(); var menu = Prompts.PromptMenuAction("Watcher Properties", displayMenu: false); menu += "FriendlyName".ConvertToMenuProperty(selectedTracker.FriendlyName); menu += "PageURL".ConvertToMenuProperty(selectedTracker.PageURL); menu += "Keyword".ConvertToMenuProperty(selectedTracker.Keyword); menu += "AlertNoKeyword".ConvertToMenuProperty(selectedTracker.AlertOnKeywordNotExist.ToString()); menu += "Enabled".ConvertToMenuProperty(selectedTracker.Enabled.ToString()); menu += "AlertInterval".ConvertToMenuProperty(selectedTracker.AlertInterval.ToString()); menu += "AlertType".ConvertToMenuProperty(selectedTracker.AlertType.ToString()); if (selectedTracker.AlertType == AlertType.Email) { menu += "Emails".ConvertToMenuProperty(selectedTracker.Emails.ToString()); } else if (selectedTracker.AlertType == AlertType.Webhook) { menu += "WebHookURL".ConvertToMenuProperty(selectedTracker.WebHookURL); menu += "MentionString".ConvertToMenuProperty(selectedTracker.MentionString); } menu = menu.AddSeperatorTilde(); Console.Write(menu); StopForMessage(); }
private static void ShowMenuTestKeywordOnWebpage() { bool menuClose = false; while (!menuClose) { Prompts.PromptMenuAction("Test Keyword On Webpage"); var webpage = Prompts.PromptQuestion("Enter the webpage URL"); var keyword = Prompts.PromptQuestion("Enter the keyword"); WebCheck webCheck = null; try { webCheck = Communication.WebCheckForKeyword(webpage, keyword).WaitAndUnwrapException(); Console.WriteLine("The webpage that was returned was empty/blank"); } catch (Exception ex) { Console.WriteLine($"Error from webpage: {ex.Message}"); } if (webCheck != null) { if (webCheck.KeywordExists) { Console.WriteLine("The keyword was found!"); } else { Console.WriteLine($"Webpage Response StatusCode: {webCheck.ResponseCode}"); Console.WriteLine("The keyword wasn't found on the webpage :("); } } var tryAgain = Prompts.PromptYesNo("Would you like to do another test?"); if (!tryAgain) { menuClose = true; } Console.Clear(); } Log.Information("Exited Menu TestKeywordOnWebpage"); }
internal static int PromptMenuTrackers(string menuTitle, int currentPage, out List <List <TrackedProduct> > trackerList, string description = "") { Console.Clear(); Log.Debug("Displaying MenuTrackers: {MenuTitle}", menuTitle); var menuClose = false; int intAnswer = 0; trackerList = new List <List <TrackedProduct> >(); while (!menuClose) { var menu = Prompts.PromptMenuAction(menuTitle, description, false); menu += "Back to Main Menu".ConvertToMenuOption(1); menu = Handler.GetTrackersForMenu(menu, currentPage, out trackerList); if (trackerList[0].Count <= 0) { Console.WriteLine($"There currently aren't any trackers created!{Environment.NewLine}" + $"Please create one before attempting to test, press enter to continue"); Console.ReadLine(); return(-1); } menu = menu.AddSeperatorTilde(); menu += $"{Environment.NewLine}Current Page: {currentPage}{Environment.NewLine}Option: "; Console.Write(menu); var answer = Console.ReadLine(); Log.Debug("Menu prompt answered: {Answer}", answer); if (!int.TryParse(answer, out intAnswer)) { Log.Debug("Menu answer entered was an invalid response"); Console.WriteLine("Answer wasn't invalid, please press enter and try again"); Console.ReadLine(); } else { menuClose = true; } } Log.Debug("Valid menu option was entered: {Answer}", intAnswer); return(intAnswer); }