public string GetUrl(ConsoleNavigation answer, string previousUrl, string nextUrl) { switch (answer) { case ConsoleNavigation.Previous: return(previousUrl); case ConsoleNavigation.Next: return(nextUrl); default: return(string.Empty); } }
public void Run() { ShowHeader(); var quit = false; var starshipsURL = _settings.StarshipsURL; long travelDistance = AskForTheTravelDistance(); (string, string)previousNextUrls = ("", ""); ConsoleNavigation answerNextPage = ConsoleNavigation.Quit; while (!quit) { // Get starships if (!string.IsNullOrEmpty(starshipsURL)) { var ships = _starshipService.GetStarships(starshipsURL); if (ships == null) { Console.WriteLine("Starships not found."); continue; } previousNextUrls = ShowStarships(ships.Result, travelDistance); } // Navigation answerNextPage = AskNextAction(); if (answerNextPage != ConsoleNavigation.Quit) { if (string.IsNullOrEmpty(previousNextUrls.Item1)) { Console.WriteLine(""); } starshipsURL = _starshipService.GetUrl(answerNextPage, previousNextUrls.Item1, previousNextUrls.Item2); } else { quit = true; } } ; }