Execute() 공개 메소드

public Execute ( ) : void
리턴 void
예제 #1
0
        public void Execute()
        {
            int  migration_id     = 0;
            bool has_extra        = _configuration.Extra.Any();
            bool extra_is_int     = has_extra && int.TryParse(_configuration.Extra.First(), out migration_id);
            bool migration_exists = extra_is_int && _migration_provider.GetMigrations().ContainsKey(migration_id);

            if (migration_exists)
            {
                var     migration = _migration_provider.GetMigrationWithContents(migration_id);
                var     file      = new FileInfo(migration.Key);
                var     fileName  = file.FullName;
                dynamic up        = Helpers.DeserializeMigration(migration.Value).up;
                if (up.file != null)   // open sql file instead of json for sql file migrations
                {
                    string path = up.file;
                    path = path.Replace("..", "db");
                    if (File.Exists(path))
                    {
                        OpenFileInDefaultEditor(path);
                    }
                    else
                    {
                        Console.WriteLine("Could not find sql file, opening migraion file.");
                        OpenFileInDefaultEditor(fileName);
                    }
                }
                else
                {
                    OpenFileInDefaultEditor(fileName);
                }
            }
            else
            {
                Console.WriteLine("Please specify the number of a valid migration.");
                _configuration.Extra = new List <string>();
                list_viewer.Execute();
            }
        }
예제 #2
0
        public void Execute()
        {
            int  migration_id     = 0;
            bool has_extra        = _configuration.Extra.Any();
            bool extra_is_int     = has_extra && int.TryParse(_configuration.Extra.First(), out migration_id);
            bool migration_exists = extra_is_int && _migration_provider.GetMigrations().ContainsKey(migration_id);

            if (migration_exists)
            {
                var migration = _migration_provider.GetMigrationWithContents(migration_id);
                var file      = new FileInfo(migration.Key);
                Console.WriteLine("Opening {0} in the default editor.", file.FullName);
                var text_editor = (string)Registry.GetValue(@"HKEY_CLASSES_ROOT\txtfile\shell\open\command\", "", "notepad.exe");
                text_editor = text_editor.Replace("\"%1\"", "").Trim();
                System.Diagnostics.Process.Start(text_editor, file.FullName);
            }
            else
            {
                Console.WriteLine("Please specify the number of a valid migration.");
                _configuration.Extra = new List <string>();
                list_viewer.Execute();
            }
        }