public EnvironmentSettings GetEnvironment(EnvironmentOptions options) { var result = new EnvironmentSettings(); var settingsRepository = new SettingsRepository(); var _settings = settingsRepository.FindEnvironment(options.Environment); result.Uri = string.IsNullOrEmpty(options.Uri) ? _settings.Uri : options.Uri; result.IsNetCore = options.IsNetCore ?? _settings.IsNetCore; result.DeveloperModeEnabled = options.DeveloperModeEnabled ?? _settings.DeveloperModeEnabled; result.Login = string.IsNullOrEmpty(options.Login) ? _settings.Login : options.Login; result.Password = string.IsNullOrEmpty(options.Password) ? _settings.Password : options.Password; result.Maintainer = string.IsNullOrEmpty(options.Maintainer) ? _settings.Maintainer : options.Maintainer; if (_settings.Safe.HasValue && _settings.Safe.Value) { Console.WriteLine($"You try to apply the action on the production site {_settings.Uri}"); Console.Write($"Do you want to continue? [Y/N]:"); var answer = Console.ReadKey(); Console.WriteLine(); if (answer.KeyChar != 'y' && answer.KeyChar != 'Y') { Console.WriteLine("Operation was canceled by user"); System.Environment.Exit(1); } } return(result); }