예제 #1
0
        private async void CreateAsync(object window)
        {
            Window         win    = window as Window;
            string         entity = "";
            ConnectionCore cc     = null;

            try
            {
                SettingsCore settings = new SettingsCore();
                settings.SettingsSerialize();
                cc     = new Cores.ConnectionCore(new ConnectionModel(Type, ConnString));
                entity = cc.CreateModel(Document.Text, settings.Settings);
            }
            catch (Exception ex)
            {
                await _dialogCoordinator.ShowMessageAsync(this, $"Error!", $"Error message: {ex.Message}  /r/nStackTrace: {ex.StackTrace}");

                return;
            }

            if (cc != null && cc.Errors.Count > 0)
            {
                await _dialogCoordinator.ShowMessageAsync(this, $"Error!", $"Error message: {cc.Errors.First().Message}  /r/nStackTrace: {cc.Errors.First().StackTrace}");
            }
            else
            {
                win.Tag          = entity;
                win.DialogResult = true;
                win.Close();
            }
        }
예제 #2
0
        public async void LoadDatabasesAsync()
        {
            Databases.Clear();
            LoadConnection = true;
            Cores.ConnectionCore cc = new Cores.ConnectionCore(connection);
            var databases           = await Task.Run(() => cc.DataBases());

            foreach (var dbName in databases)
            {
                var db = new Database
                {
                    DatabaseName   = dbName,
                    ParentTreeBase = this,
                    Tables         = new ObservableCollection <Table>()
                };

                var tables = await Task.Run(() => cc.Tables(dbName));

                foreach (var tableName in tables)
                {
                    db.Tables.Add(new Table()
                    {
                        TableName = tableName, ParentTreeBase = this, DataBaseName = db.DatabaseName
                    });
                }
                Databases.Add(db);
            }

            if (cc.Errors.Count > 0)
            {
                Errors = cc.Errors;
            }

            LoadConnection = false;
        }
예제 #3
0
        public async void LoadTablesAsync()
        {
            LoadConnection = true;

            Cores.ConnectionCore cc = new Cores.ConnectionCore(ParentTreeBase.Connection);

            Tables.Clear();
            var tables = await Task.Run(() => cc.Tables(DatabaseName));

            foreach (var tableName in tables)
            {
                Tables.Add(new Table()
                {
                    TableName = tableName, ParentTreeBase = ParentTreeBase, DataBaseName = DatabaseName
                });
            }

            if (cc.Errors.Count > 0)
            {
                Errors = cc.Errors;
            }

            LoadConnection = false;
        }