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);
        }
示例#2
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);
        }
        private void RenderFilesList(ScriptFilesComparerBase scriptFilesComparer)
        {
            _consoleProcessMessages.SetInfoMessage("");
            _consoleProcessMessages.SetInfoMessage($"++ {scriptFilesComparer.ScriptFileType.FileTypeCode} Scripts:");


            string captionsMessage = $"{"  Status",-10} |  File";

            _consoleProcessMessages.SetInfoMessage(captionsMessage);

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

            _consoleProcessMessages.SetInfoMessage(captionsLineMessage);


            foreach (var file in scriptFilesComparer.AllFileSystemScriptFiles)
            {
                switch (file.HashDiffType)
                {
                case HashDiffType.Different:

                    _consoleProcessMessages.SetInlineInfoMessage($"   changed".PadRight(11), ConsoleColor.DarkRed);
                    break;

                case HashDiffType.Equal:

                    _consoleProcessMessages.SetInlineInfoMessage($"   sync".PadRight(11), ConsoleColor.DarkGreen);
                    break;

                case HashDiffType.EqualVirtual:

                    _consoleProcessMessages.SetInlineInfoMessage($"   sync vr".PadRight(11), ConsoleColor.DarkGreen);
                    break;

                case HashDiffType.NotExist:
                default:

                    _consoleProcessMessages.SetInlineInfoMessage($" ".PadRight(11), ConsoleColor.Gray);
                    break;
                }

                _consoleProcessMessages.SetInlineInfoMessage($"| {file.Filename}", ConsoleColor.Gray);

                _consoleProcessMessages.SetInfoMessage("");
            }
        }
        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);
        }
示例#6
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);
        }