/// <inheritdoc/> public void Display() { bool run = true; while (run) { var currentClient = _authService.GetCurrentClient(); if (currentClient != null) { _outputEnvironment.WriteLine($"{Resource.Hello}, {currentClient}"); _outputEnvironment.WriteLine(new string('-', 30)); } var mainMenu = _menuVisualizer.FactoryMethod(); mainMenu.Add(_authService.GetCurrentClientId().HasValue ? Resource.Logout : Resource.Login, () => LoginLogout()) .Add(Resource.ClientMenu, () => _clientPage.Display()) .Add(Resource.BookMenu, () => _bookPage.Display()) .Add(Resource.Settings, () => _settingsPage.Display()) .Add(Resource.SwitchLanguage, () => LanguageSwitcher.Switch()) .Add(Resource.Exit, () => run = false); mainMenu.Display(); _outputEnvironment.WriteLine(new string('-', 30)); } }