public void DropDatabase()
        {
            var cmd = new DropDatabaseCommand(Session.Connection)
            {
                DatabaseName = Name
            };

            cmd.Execute();
        }
 public IndexDatabaseSettingProvider(
     FastAdapter adapter,
     ProviderOptionManager optionManager,
     IConfigurationBuilder builder,
     IApplicationManager applicationManager,
     CreateDatabaseCommand createDatabaseCommand,
     DropDatabaseCommand dropDatabaseCommand,
     MigrateUpCommand migrateUpCommand,
     MigrateDownCommand migrateDownCommand,
     GenerateMigrationCommand generateMigrationCommand,
     IEventAggregator eventAggregator) : base(optionManager)
 {
     this.adapter                  = adapter;
     this.builder                  = builder;
     this.applicationManager       = applicationManager;
     this.createDatabaseCommand    = createDatabaseCommand;
     this.dropDatabaseCommand      = dropDatabaseCommand;
     this.migrateUpCommand         = migrateUpCommand;
     this.migrateDownCommand       = migrateDownCommand;
     this.generateMigrationCommand = generateMigrationCommand;
     this.eventAggregator          = eventAggregator;
     this.LoadOptions();
 }
Beispiel #3
0
        public TransferObject ReadCommand(string line)
        {
            var to = new TransferObject();

            try
            {
                // split line to words
                var words = line
                            .Trim()
                            .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                // navigate through databases
                if (words[0] == "#")
                {
                    ChangeDatabase(words[1]);
                }
                // show info
                if (words[0].ToLower() == "/info")
                {
                    var res     = $"Uptime: {_stopwatch.Elapsed}. Version: {_settings.Version}.";
                    var resData = new ResultData
                    {
                        DataType = ResultDataType.Message,
                        Message  = res
                    };
                    CommandLine.WriteInfo(res);
                    to.Data = resData;
                    return(to);
                }
                //show databases tree
                if (line.ToLower() == "/show databases")
                {
                    var res     = GetSchemes();
                    var resData = new ResultData
                    {
                        DataType = ResultDataType.Message,
                        Message  = res
                    };
                    CommandLine.WriteInfo(res);
                    to.Data = resData;
                    return(to);
                }
                //show databases sizes
                if (line.ToLower() == "/show databases size")
                {
                    var res     = GetDBSizes();
                    var resData = new ResultData
                    {
                        DataType = ResultDataType.Message,
                        Message  = res
                    };
                    CommandLine.WriteInfo(res);
                    to.Data = resData;
                    return(to);
                }
                //if create database
                if (words[0].ToLower() == "create" && words[1].ToLower() == "database")
                {
                    _logger.LogInformation($"Read command: [{line}].");
                    var cmd = new CreateDatabaseCommand(words);
                    var res = CreateDatabase(cmd.DatebaseName);
                    _logger.LogInformation($"{res}.");
                    CommandLine.WriteInfo(res);
                }
                //if drop database
                if (words[0].ToLower() == "drop" && words[1].ToLower() == "database")
                {
                    _logger.LogInformation($"Read command: [{line}].");
                    var cmd = new DropDatabaseCommand(words);
                    var res = DropDatabase(cmd.DatebaseName);
                    _logger.LogInformation($"{res}.");
                    CommandLine.WriteInfo(res);
                }
                // if create table command
                if (words[0].ToLower() == "create" && words[1].ToLower() == "table")
                {
                    _logger.LogInformation($"Read command: [{line}].");
                    var res = _currentDatabase?.CreateTable(line);
                    _logger.LogInformation($"{res}.");
                    CommandLine.WriteInfo(res);
                }
                // if insert into
                if (words[0].ToLower() == "insert" && words[1].ToLower() == "into")
                {
                    _logger.LogInformation($"Read command: [{line}].");
                    var res = _currentDatabase?.InsertIntoTable(line);
                    _logger.LogInformation($"{res}.");
                    CommandLine.WriteInfo(res);
                    var resData = new ResultData
                    {
                        Message  = JsonConvert.SerializeObject(res, Formatting.Indented),
                        DataType = ResultDataType.Message
                    };
                    to.Data = resData;
                    return(to);
                }
                // if select from
#warning 'Rewrite condition'
                if (words[0].ToLower() == "select")
                {
//#if Debug
//                    ChangeDatabase("DBtest");
//#endif
                    string info = "";
                    _logger.LogInformation($"Read command: [{line}].");
                    var res = _currentDatabase?.SelectFromTable(words, out info);
                    CommandLine.ShowData(res);
                    _logger.LogInformation($"{info}.");
                    CommandLine.WriteInfo(info);
                    res.DataType = ResultDataType.DataSet;
                    var d = res.Values.ToList();
                    d.AddRange(res.Values);//
                    d.AddRange(res.Values);
                    var resData = new ResultData
                    {
                        DataType = ResultDataType.DataSet,
                        Headers  = res.Headers,
                        Values   = res.Values
                    };
                    to.Data = resData;
                    to.Time = info;
                    return(to);
                }
                return(to);
            }
            catch (Error error)
            {
                CommandLine.WriteError($"{error}");
                _logger.LogError($"{error}");
                var err = new ErrorData
                {
                    Message = $"{error}"
                };
                to.Error = err;
                return(to);
            }
            catch (Exception ex)
            {
                CommandLine.WriteError($"System exeption, see log files.");
#if DEBUG
                CommandLine.WriteError($"{ex}");
#endif
                _logger.LogCritical($"{ex}");
                var err = new ErrorData
                {
                    Message = $"{ex}"
                };
                to.Error = err;
                return(to);
            }
        }