Beispiel #1
0
 private void UpdateSchema()
 {
     try
     {
         Task tsk = new Task(() =>
         {
             IsLoadingSchema         = true;
             IsSchemaLoaded          = false;
             IsCommandEnabled        = false;
             List <NodeItem> columns = Schemas.Flatten(a => a.Items).Where(a => a.Type == NodeType.Column).ToList();
             _dataService.SetColumnsDescriptionProperties(ConnectionString, columns, SelectedDbProvider.Type);
             IsLoadingSchema  = false;
             IsSchemaLoaded   = true;
             IsCommandEnabled = true;
         });
         tsk.Start();
     }
     catch (Exception ex)
     {
         IsLoadingSchema  = false;
         IsSchemaLoaded   = true;
         IsCommandEnabled = true;
         MessageBox.Show(ex.Message);
     }
 }
Beispiel #2
0
 private void ImportFromCsv()
 {
     try
     {
         if (_databaseSchema != null)
         {
             OpenFileDialog dialog = new OpenFileDialog();
             dialog.Filter = "CSV file|*.csv";
             if (dialog.ShowDialog().Value)
             {
                 Task tsk = new Task(() =>
                 {
                     IsLoadingSchema         = true;
                     IsSchemaLoaded          = false;
                     IsCommandEnabled        = false;
                     List <NodeItem> columns = _dataService.ImportSchemaFromCsv(dialog.FileName);
                     var tables = columns.GroupBy(a => a.Table);
                     foreach (var table in tables)
                     {
                         foreach (var column in table)
                         {
                             if (String.IsNullOrEmpty(column.Name))
                             {
                                 continue;
                             }
                             string columnName = column.Name.ToUpper();
                             var node          = Schemas.Flatten(a => a.Items).Where(a => a.Type == NodeType.Column && a.Table == column.Table).FirstOrDefault(a => a.Name.ToUpper() == columnName);
                             if (node == null)
                             {
                                 continue;
                             }
                             node.Description = column.Description;
                         }
                     }
                     RaisePropertyChanged(() => Schemas);
                     IsLoadingSchema  = false;
                     IsSchemaLoaded   = true;
                     IsCommandEnabled = true;
                 });
                 tsk.Start();
             }
         }
     }
     catch (Exception ex)
     {
         IsLoadingSchema = false;
         IsSchemaLoaded  = true;
         MessageBox.Show(ex.Message);
     }
 }
Beispiel #3
0
 private void ExportToCsv()
 {
     try
     {
         Task tsk = new Task(() =>
         {
             IsLoadingSchema         = true;
             IsSchemaLoaded          = false;
             IsCommandEnabled        = false;
             List <NodeItem> tables  = Schemas.Flatten(a => a.Items).Where(a => a.Type == NodeType.Table).ToList();
             List <NodeItem> columns = new List <NodeItem>();
             foreach (var item in tables)
             {
                 NodeItem table = new NodeItem(NodeType.Table);
                 table.Table    = item.Name;
                 columns.Add(table);
                 //var tableColumns = Schemas.Flatten(a => a.Items).Where(a => a.Type == NodeType.Column && a.Table == item.Table);
                 columns.AddRange(item.Items);
             }
             SaveFileDialog dialog = new SaveFileDialog();
             dialog.Filter         = "CSV file|*.csv";
             if (dialog.ShowDialog().Value)
             {
                 _dataService.ExportSchemaToCsv(columns, dialog.FileName);
             }
             IsLoadingSchema  = false;
             IsSchemaLoaded   = true;
             IsCommandEnabled = true;
         });
         tsk.Start();
     }
     catch (Exception ex)
     {
         IsLoadingSchema  = false;
         IsSchemaLoaded   = true;
         IsCommandEnabled = true;
         MessageBox.Show(ex.Message);
     }
 }
Beispiel #4
0
 private void SearchTable()
 {
     SelectedNodeItem = Schemas.Flatten(a => a.Items).Where(a => a.Type == NodeType.Table).ToList().FirstOrDefault(a => a.Name.Contains(Filter));
 }