예제 #1
0
        /// <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));
            }
        }