示例#1
0
        public override Command Create()
        {
            Command command = new Command("incremental")
            {
                _idOption,
                _scriptNameOption,
            };

            command.Description = CLITextResources.CreateNewIncrementalScriptFileCommandDescription;

            command.Handler = CommandHandler.Create <string, string>((id, scriptName) =>
            {
                _consoleProcessMessages.StartProcessMessage("new incremental", id);

                _consoleProcessMessages.StartSpiiner();
                ProcessResults processResults = _dbVersionsAPI.CreateNewIncrementalScriptFile(id, scriptName, _consoleProcessMessages.OnNotificationStateChanged);
                _consoleProcessMessages.StopSpinner();

                _consoleProcessMessages.ProcessComplete(processResults);

                if (!processResults.Trace.HasError)
                {
                    string newFilePath = (string)processResults.Results;
                    _consoleProcessMessages.SetInfoMessage(CLITextResources.TheFileIsCreatedInfoMessage.Replace("[newFilePath]", newFilePath));
                }
            });

            return(command);
        }
        public override Command Create()
        {
            Command command = new Command("deploy")
            {
                _idOption,
            };

            command.Description = CLITextResources.DeployCommandDescription;

            command.Handler = CommandHandler.Create <string>((id) =>
            {
                _consoleProcessMessages.StartProcessMessage("deploy", id);

                _consoleProcessMessages.StartSpiiner();
                ProcessResults processResults = _dbVersionsAPI.Deploy(id, _consoleProcessMessages.OnNotificationStateChanged);
                _consoleProcessMessages.StopSpinner();

                _consoleProcessMessages.ProcessComplete(processResults);

                if (!processResults.Trace.HasError)
                {
                    string deployFilePath = (string)processResults.Results;
                    _consoleProcessMessages.SetInfoMessage(CLITextResources.ArtifactFileCreatedInfoMessage.Replace("[deployFilePath]", deployFilePath));
                }
            });

            return(command);
        }
        public override Command Create()
        {
            Command command = new Command("environment")
            {
                _idOption,
                _devEnvironmentOption,
            };

            command.Description = CLITextResources.EnvironmentCommandDescription;

            command.Handler = CommandHandler
                              .Create <string, bool>((id, dev) =>
            {
                _consoleProcessMessages.StartProcessMessage("environment", id);

                ProjectConfigItem existProjectConfig = _projectConfigsAPI.GetProjectConfigById(id);

                if (existProjectConfig == null)
                {
                    _consoleProcessMessages.SetErrorInstruction(CLITextResources.IdNotExistCommandError.Replace("[Id]", id), NotificationErrorType.Error);
                }
                else
                {
                    existProjectConfig.DevEnvironment = dev;

                    _consoleProcessMessages.StartSpiiner();
                    ProcessResults processResults = _projectConfigsAPI.UpdateProjectConfig(existProjectConfig, _consoleProcessMessages.OnNotificationStateChanged);
                    _consoleProcessMessages.StopSpinner();

                    _consoleProcessMessages.ProcessComplete(processResults);
                }
            });

            return(command);
        }
        public override Command Create()
        {
            Command command = new Command("virtual")
            {
                _idOption,
                _incTargetCLIOption,
            };

            command.Description = CLITextResources.VirtualCommandDescription;

            command.Handler = CommandHandler.Create <string, string>((id, incTarget) =>
            {
                _consoleProcessMessages.StartProcessMessage("virtual", id);

                _consoleProcessMessages.StartSpiiner();

                TargetScripts targetScripts = new TargetScripts(incTarget);

                ProcessResults processResults = _dbVersionsAPI.SetDBStateByVirtualExecution(id, targetScripts, _consoleProcessMessages.OnNotificationStateChanged);
                _consoleProcessMessages.StopSpinner();

                _consoleProcessMessages.ProcessComplete(processResults);
            });


            return(command);
        }
        public override Command Create()
        {
            Command command = new Command("init")
            {
                _idOption,
                _descriptionOption,
                _dbTypeOption,
                _serverOption,
                _dbNameOption,
                _usernameOption,
                _passwordOption,
                _backupFolderPathOption,
                _devEnvironmentOption,
                _scriptsBaseFolderPathOption,
                _deployArtifactFolderPathOption,
                _deliveryArtifactFolderPathOption,
            };

            command.Description = CLITextResources.InitCommandDescription;

            command.Handler = CommandHandler
                              .Create((ProjectConfigItem projectConfig) =>
            {
                _consoleProcessMessages.StartProcessMessage("init", projectConfig.Id);

                _consoleProcessMessages.StartSpiiner();
                ProcessResults processResults = _projectConfigsAPI.SaveNewProjectConfig(projectConfig, _consoleProcessMessages.OnNotificationStateChanged);
                _consoleProcessMessages.StopSpinner();

                _consoleProcessMessages.ProcessComplete(processResults);
            });

            return(command);
        }
        public override Command Create()
        {
            Command command = new Command("dbtypes")
            {
                Description = CLITextResources.DBTypesCommandDescription,

                Handler = CommandHandler
                          .Create(() =>
                {
                    _consoleProcessMessages.StartProcessMessage("dbtypes");

                    _consoleProcessMessages.SetInfoMessage("");

                    string captionsMessage = $"{"  Code",-12} |  Name";
                    _consoleProcessMessages.SetInfoMessage(captionsMessage);

                    string captionsLineMessage = "-".PadRight(20, '-');
                    _consoleProcessMessages.SetInfoMessage(captionsLineMessage);


                    IEnumerable <DBType> dbTypesList = _projectConfigsAPI.DBTypes;

                    foreach (DBType dbType in dbTypesList)
                    {
                        string projectLineMessage = $"+ {dbType.Code,-10} | {dbType.Name}";
                        _consoleProcessMessages.SetInfoMessage(projectLineMessage);
                    }
                })
            };

            return(command);
        }
        public override Command Create()
        {
            Command command = new Command("files")
            {
                _idOption,
            };

            command.Description = CLITextResources.FilesCommandDescription;

            command.Handler = CommandHandler.Create <string>((id) =>
            {
                _consoleProcessMessages.StartProcessMessage("files", id);

                _consoleProcessMessages.StartSpiiner();
                ProcessResults processResults = _dbVersionsAPI.GetScriptFilesState(id, _consoleProcessMessages.OnNotificationStateChanged);
                _consoleProcessMessages.StopSpinner();

                _consoleProcessMessages.ProcessComplete(processResults);

                if (!processResults.Trace.HasError)
                {
                    ScriptFilesState scriptFilesState = processResults.Results as ScriptFilesState;

                    RenderFilesList(scriptFilesState.IncrementalScriptFilesComparer);

                    RenderFilesList(scriptFilesState.RepeatableScriptFilesComparer);

                    if (scriptFilesState.DevDummyDataScriptFilesComparer != null)
                    {
                        RenderFilesList(scriptFilesState.DevDummyDataScriptFilesComparer);
                    }
                }
            });

            AppendIncrementalCommand(command);
            AppendRepeatableCommand(command);
            AppendDevDummyDataCommand(command);

            return(command);
        }
        public override Command Create()
        {
            Command command = new Command("config")
            {
                _idOption,
                _descriptionOption,
                _dbTypeOption,
                _serverInstanceOption,
                _dataBaseNameOption,
                _dbUsernameOption,
                _dbPasswordOption,
                _backupFolderPathOption,
                _scriptsBaseFolderPathOption,
                _deployArtifactFolderPathOption,
                _deliveryArtifactFolderPathOption,
            };

            command.Description = CLITextResources.ConfigCommandDescription;

            command.Handler = CommandHandler
                              .Create((ProjectConfigItem projectConfig) =>
            {
                _consoleProcessMessages.StartProcessMessage("config", projectConfig.Id);

                ProjectConfigItem existProjectConfig = _projectConfigsAPI.GetProjectConfigById(projectConfig.Id);

                if (existProjectConfig == null)
                {
                    _consoleProcessMessages.SetErrorInstruction(CLITextResources.IdNotExistCommandError.Replace("[Id]", projectConfig.Id), NotificationErrorType.Error);
                }
                else
                {
                    OverrideProjectConfigProperties(existProjectConfig, projectConfig);

                    _consoleProcessMessages.StartSpiiner();
                    ProcessResults processResults = _projectConfigsAPI.UpdateProjectConfig(existProjectConfig, _consoleProcessMessages.OnNotificationStateChanged);
                    _consoleProcessMessages.StopSpinner();

                    _consoleProcessMessages.ProcessComplete(processResults);
                }
            });

            Command changeIdCommand = _changeIdCommandFactory.Create();

            command.Add(changeIdCommand);

            Command environmentCommand = _environmentCommandFactory.Create();

            command.Add(environmentCommand);

            return(command);
        }
        public override Command Create()
        {
            Command command = new Command("list")
            {
                Description = CLITextResources.ListCommandDescription,

                Handler = CommandHandler
                          .Create(() =>
                {
                    _consoleProcessMessages.StartProcessMessage("list");

                    _consoleProcessMessages.SetInfoMessage("");

                    IEnumerable <ProjectConfigItem> projectsList = _projectConfigsAPI.GetProjectsList();

                    if (!projectsList.Any())
                    {
                        _consoleProcessMessages.SetInfoMessage(CLITextResources.ProjectNotFoundInfoMessage);
                    }
                    else
                    {
                        string captionsMessage = $"{"  Id",-31} |  Description";
                        _consoleProcessMessages.SetInfoMessage(captionsMessage);

                        string captionsLineMessage = "-".PadRight(55, '-');
                        _consoleProcessMessages.SetInfoMessage(captionsLineMessage);

                        foreach (ProjectConfigItem projectConfig in projectsList)
                        {
                            string id = projectConfig.Id.Ellipsis(30);

                            string projectLineMessage = $" {id,-30} | {projectConfig.Description}";
                            _consoleProcessMessages.SetInfoMessage(projectLineMessage);
                        }
                    }
                })
            };

            return(command);
        }
        public override Command Create()
        {
            Command command = new Command("recreate")
            {
                _idOption,
            };

            command.Description = CLITextResources.RecreateCommandDescription;

            command.Handler = CommandHandler.Create <string>((id) =>
            {
                _consoleProcessMessages.StartProcessMessage("recreate", id);

                _consoleProcessMessages.StartSpiiner();
                ProcessResults processResults = _dbVersionsAPI.RecreateDBFromScratch(id, TargetScripts.CreateLastState(), _consoleProcessMessages.OnNotificationStateChanged);
                _consoleProcessMessages.StopSpinner();

                _consoleProcessMessages.ProcessComplete(processResults);
            });

            return(command);
        }
示例#11
0
        public override Command Create()
        {
            Command command = new Command("sync")
            {
                _idOption,
            };

            command.Description = CLITextResources.SyncCommandDescription;

            command.Handler = CommandHandler.Create <string>((id) =>
            {
                _consoleProcessMessages.StartProcessMessage("sync", id);

                _consoleProcessMessages.StartSpiiner();
                ProcessResults processResults = _dbVersionsAPI.SyncDB(id, _consoleProcessMessages.OnNotificationStateChanged);
                _consoleProcessMessages.StopSpinner();

                _consoleProcessMessages.ProcessComplete(processResults);
            });

            return(command);
        }
示例#12
0
        public override Command Create()
        {
            Command command = new Command("change-id")
            {
                _IdOption,
                _newIdCLIOption
            };

            command.Description = CLITextResources.ChangeIdCommandDescription;

            command.Handler = CommandHandler
                              .Create <string, string>((id, newId) =>
            {
                _consoleProcessMessages.StartProcessMessage("change-id", id);

                _consoleProcessMessages.StartSpiiner();
                ProcessResults processResults = _projectConfigsAPI.ChangeProjectId(id, newId, _consoleProcessMessages.OnNotificationStateChanged);
                _consoleProcessMessages.StopSpinner();

                _consoleProcessMessages.ProcessComplete(processResults);
            });

            return(command);
        }
示例#13
0
        public override Command Create()
        {
            Command command = new Command("info")
            {
                _idOption,
            };

            command.Description = "Show project details";

            command.Handler = CommandHandler
                              .Create <string>((id) =>
            {
                _consoleProcessMessages.StartProcessMessage("info", id);

                ProjectConfigItem projectConfig = _projectConfigsAPI.GetProjectConfigById(id);

                if (projectConfig == null)
                {
                    _consoleProcessMessages.SetErrorInstruction(CLITextResources.IdNotExistCommandError.Replace("[Id]", id), NotificationErrorType.Error);
                }
                else
                {
                    string message = $"{"Id",-c_paddingRightForCaprions}: {projectConfig.Id}";
                    _consoleProcessMessages.SetInfoMessage(message);

                    message = $"{"Description",-c_paddingRightForCaprions}: {projectConfig.Description}";
                    _consoleProcessMessages.SetInfoMessage(message);

                    message = $"{"DBType",-c_paddingRightForCaprions}: {projectConfig.DBType}";
                    _consoleProcessMessages.SetInfoMessage(message);

                    message = $"{"ServerInstance",-c_paddingRightForCaprions}: {projectConfig.Server}";
                    _consoleProcessMessages.SetInfoMessage(message);

                    message = $"{"DataBaseName",-c_paddingRightForCaprions}: {projectConfig.DBName}";
                    _consoleProcessMessages.SetInfoMessage(message);

                    message = $"{"DBUsername",-c_paddingRightForCaprions}: {projectConfig.Username}";
                    _consoleProcessMessages.SetInfoMessage(message);

                    message = $"{"DBPassword",-c_paddingRightForCaprions}: {projectConfig.Password}";
                    _consoleProcessMessages.SetInfoMessage(message);

                    message = $"{"ConncetionTimeout",-c_paddingRightForCaprions}: {projectConfig.ConncetionTimeout}";
                    _consoleProcessMessages.SetInfoMessage(message);

                    message = $"{"Backup Folder Path",-c_paddingRightForCaprions}: {projectConfig.BackupFolderPath}";
                    _consoleProcessMessages.SetInfoMessage(message);

                    message = $"{"Dev Environment",-c_paddingRightForCaprions}: {projectConfig.DevEnvironment}";
                    _consoleProcessMessages.SetInfoMessage(message);

                    if (projectConfig.DevEnvironment)
                    {
                        message = $"{"Scripts Base Folder",-c_paddingRightForCaprions}: {projectConfig.DevScriptsBaseFolderPath}";
                        _consoleProcessMessages.SetInfoMessage(message);

                        message = $"{" Incremental Scripts Folder",-c_paddingRightForCaprions}: {projectConfig.IncrementalScriptsFolderPath}";
                        _consoleProcessMessages.SetInfoMessage(message);
                        message = $"{" Repeatable Scripts Folder",-c_paddingRightForCaprions}: {projectConfig.RepeatableScriptsFolderPath}";
                        _consoleProcessMessages.SetInfoMessage(message);
                        message = $"{" Dev Dummy Data Scripts Folder",-c_paddingRightForCaprions}: {projectConfig.DevDummyDataScriptsFolderPath}";
                        _consoleProcessMessages.SetInfoMessage(message);


                        message = $"{"Deploy Artifact Folder",-c_paddingRightForCaprions}: {projectConfig.DeployArtifactFolderPath}";
                        _consoleProcessMessages.SetInfoMessage(message);
                    }
                    else
                    {
                        message = $"{"Delivery Artifact Folder Path",-c_paddingRightForCaprions}: {projectConfig.DeliveryArtifactFolderPath}";
                        _consoleProcessMessages.SetInfoMessage(message);
                    }
                }
            });

            return(command);
        }