public CreateCommandOptions(ICreateCommandOptions options) : base(options) { _options = options; }
public ExecuteResultEnum Create(ICreateCommandOptions options) { RunAutoUpdate(options); if (_configFile.Exists()) { _reportService.Error($"File already exists: {Configuration.ConfigurationFile}"); _reportService.Output($"\tPlease run: {Configuration.Name} status"); return(ExecuteResultEnum.Error); } if (!options.Silent && !options.Force) { var proceed = Prompt.GetYesNo("Create a new SpocR Config?", true); if (!proceed) { return(ExecuteResultEnum.Aborted); } } var targetFramework = options.TargetFramework; if (!options.Silent) { targetFramework = Prompt.GetString("TargetFramework:", targetFramework); } var appNamespace = options.Namespace; if (!options.Silent) { appNamespace = Prompt.GetString("Your Namespace:", appNamespace); } // var configurationFileExists = _configuration.FileExists(); // if(!configurationFileExists) // { // var fileName = Extensions.ConfigurationExtensions.FileName; // var proceedAppsettings = Prompt.GetYesNo("Create a new SpocR Config?", true); // if (!proceedAppsettings) return ExecuteResultEnum.Aborted; // } // Prompt.OnSelection("Please choose an option", ) // var optionKey = 1; // foreach(var identifier in _configuration.GetSection("ConnectionStrings").GetChildren()) { // _reportService.Output($"{optionKey}"); // } var connectionString = ""; var roleKindString = options.Role; if (!options.Silent) { roleKindString = Prompt.GetString("SpocR Role [Default, Lib, Extension]:", "Default"); } var roleKind = default(ERoleKind); Enum.TryParse(roleKindString, true, out roleKind); var libNamespace = options.LibNamespace; if (!options.Silent) { libNamespace = roleKind == ERoleKind.Extension ? Prompt.GetString("SpocR Lib Namespace:", "Nuts.DbContext") : null; } // var identityKindString = options.Identity; // if (!options.Silent) // { // identityKindString = Prompt.GetString("SpocR Identity [WithUserId, None]:", "WithUserId"); // } // var identityKind = default(EIdentityKind); // Enum.TryParse(identityKindString, true, out identityKind); var config = _spocr.GetDefaultConfiguration(targetFramework, appNamespace, connectionString, roleKind, libNamespace /*, identityKind*/); if (options.DryRun) { _reportService.PrintConfiguration(config); _reportService.PrintDryRunMessage(); } else { _configFile.Save(config); _projectManager.Create(options); if (!options.Silent) { _reportService.Output($"{Configuration.Name} successfully created."); } } return(ExecuteResultEnum.Succeeded); }