public static async Task RunProgram() { while (willContinue.Equals(true)) { Threads.StartThreadWithJoin(new Thread(new ThreadStart(OutPut.PrintTitleFrame))); Threads.StartThreadWithJoin(new Thread(new ThreadStart(OutPut.PrintMenuFrame))); Threads.StartThreadWithJoin(new Thread(new ThreadStart(OutPut.PrintMainMenu))); try { willContinue = await MainMenuNavigation(int.Parse(Console.ReadLine()));// if false program will close } catch (FormatException) { Console.WriteLine(OutPut.PrintErrorMessages("Input cant be empty or in wrong format!!", -2, 2)); } catch (Exception e) { Console.WriteLine(OutPut.PrintErrorMessages(e.Message, 5, 2)); } finally { if (willContinue.Equals(true)) { Console.ReadKey(); } Console.Clear(); } } }
public static async Task <List <string> > InPutString(int i) { string input = string.Empty; List <string> apiResponse = new List <string>(); if (i.Equals(_SearchForOneCity)) { OutPut.PrintTitleFrame(); OutPut.PrintMenuFrame(); ColorAndStyle.SetTextColor(Colors.Magenta); input = EnterStringValue(ColorAndStyle.SetTextPosition("Enter city name: ", menuX, menuY)); if (input.Equals(string.Empty)) { return(null); } apiResponse = OutPut.PrintWeatherCondition(await data.GetAPIResponse(input, i)).ToList(); } else if (i.Equals(_SearchBylongLat)) { OutPut.PrintTitleFrame(); OutPut.PrintMenuFrame(); ColorAndStyle.SetTextColor(Colors.Magenta); int lon = int.Parse(EnterStringValue(ColorAndStyle.SetTextPosition("Enter lat value: ", menuX, menuY))); int lat = int.Parse(EnterStringValue(ColorAndStyle.SetTextPosition("Enter lon value: ", menuX, menuY))); Console.Clear(); apiResponse = OutPut.PrintWeatherCondition(await data.GetAPIResponse(lat, lon)).ToList(); } else if (i.Equals(_SearchForMultipleCities)) { OutPut.PrintTitleFrame(); OutPut.PrintMenuFrame(); ColorAndStyle.SetTextColor(Colors.Magenta); List <string> apiData = new List <string>(); foreach (var s in await AddCityNames(i)) { apiData = OutPut.PrintWeatherCondition(s).ToList(); if (!apiData.Contains("404")) { apiResponse.AddRange(apiData); } } } else if (i.Equals(_FourDaysForeCast)) { OutPut.PrintTitleFrame(); OutPut.PrintMenuFrame(); ColorAndStyle.SetTextColor(Colors.Magenta); apiResponse = OutPut.PrintFourDaysForecast(await data.GetAPIResponse(EnterStringValue(ColorAndStyle.SetTextPosition("Enter City Name: ", menuX, menuY)), i)); } else if (i.Equals(_DailyForCast)) { OutPut.PrintTitleFrame(); OutPut.PrintMenuFrame(); ColorAndStyle.SetTextColor(Colors.Magenta); apiResponse = OutPut.PrintDailyForecast(await data.GetAPIResponse(EnterStringValue(ColorAndStyle.SetTextPosition("Enter city name: ", menuX, menuY)), i)).ToList(); } return(apiResponse); }