Ejemplo n.º 1
0
        private void CreateMigrationTerminalWizard()
        {
            try
            {
                var baseDir = DirectorySettings.GetSolutionDirectory();
                Console.WriteLine("Skipping in 3 seconds.... \nAdd new migration? (y/N)");
                var input = NConsole.ReadKeyWithTimeoutAsString();

                if (input == null || !input.ToLower().Equals("y"))
                {
                    return;
                }

                string migrationName;
                do
                {
                    Console.WriteLine("\nMigration or change name (camel case, no spaces input): ");
                    migrationName = Console.ReadLine();
                    if (migrationName?.TrimEmptyToNull() == null || migrationName.Split(" ").Length > 1)
                    {
                        _restartWizard = true;
                        Console.WriteLine(
                            "Incorrect input, please enter the name in CamelCase format and try again....");
                    }
                    else
                    {
                        _restartWizard = false;
                    }
                } while (_restartWizard);

                _logger.LogInformation("Creating migration....");

                var migrationTask = new Task(() =>
                {
                    Tercmd.DotnetBuilder.Create(baseDir.MigrationsPathFromRoot())
                    .AddMigration(migrationName, 5000);
                });
                migrationTask.Start();
                migrationTask.Wait();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
Ejemplo n.º 2
0
 public Task ExecuteAsync(CancellationToken cancellationToken = default)
 {
     CreateMigrationTerminalWizard();
     Tercmd.GitBuilder.Create(DirectorySettings.GetSolutionDirectory()).AddAllFiles();
     return(Task.CompletedTask);
 }