Exemple #1
0
        public ColumnMetadataResult[] GetMetadataColumns()
        {
            //compute node is not initialized
            if (ComputeNode.Node == null)
            {
                return(new List <ColumnMetadataResult>().ToArray());
            }

            List <ColumnMetadataResult> results = new List <ColumnMetadataResult>();

            ComputeNode.Node.Catalogs.Values.ToList().ForEach(c =>
            {
                Catalog.Catalog catalog = c as Catalog.Catalog;
                catalog.CatalogMetadata.Tables.Values.ToList().ForEach(t =>
                {
                    int OrdinalPosition = 1;
                    t.ColumnsMetadata.Values.ToList().ForEach(col =>
                    {
                        results.Add(new ColumnMetadataResult()
                        {
                            Catalog         = c.Name,
                            Table           = t.TableName,
                            Column          = col.FieldMapping,
                            DataType        = col.ColumnType.ToString(),
                            ColumnLength    = col.ColumnLength,
                            Nullable        = col.Nullable,
                            Visible         = col.Visible,
                            OrdinalPosition = OrdinalPosition++
                        });
                    });
                });
            });

            return(results.ToArray());
        }
        /// <summary>
        /// make a copy of catalog
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btCopy_Click(object sender, RoutedEventArgs e)
        {
            //get the selected item
            if (lbCatalogs.SelectedItem == null)
            {
                return;
            }
            ICatalog copy = lbCatalogs.SelectedItem as ICatalog;

            //copy fields
            var cat = new Catalog.Catalog(ComputeNode);

            BermudaConfigUtil.CopyCatalog(copy, cat);

            //open the window
            CatalogConfig window = new CatalogConfig(cat, "");
            var           ret    = window.ShowDialog();

            if (!ret.HasValue || ret == false)
            {
                return;
            }

            //add to list
            Catalogs.Add(cat);
            ComputeNode.Catalogs.Add(cat.CatalogName, cat);
        }
Exemple #3
0
        /// <summary>
        /// return the table definitions
        /// </summary>
        /// <returns></returns>
        public TableMetadataResult[] GetMetadataTables()
        {
            //compute node is not initialized
            if (ComputeNode.Node == null)
            {
                return(new List <TableMetadataResult>().ToArray());
            }

            List <TableMetadataResult> results = new List <TableMetadataResult>();

            ComputeNode.Node.Catalogs.Values.ToList().ForEach(c =>
            {
                Catalog.Catalog catalog = c as Catalog.Catalog;
                catalog.CatalogMetadata.Tables.Values.ToList().ForEach(t =>
                {
                    results.Add(new TableMetadataResult()
                    {
                        Catalog = catalog.Name,
                        Table   = t.TableName
                    });
                });
            });

            return(results.ToArray());
        }
        /// <summary>
        /// create a new catalog
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btNew_Click(object sender, RoutedEventArgs e)
        {
            //new item
            var cat = new Catalog.Catalog(ComputeNode);

            cat.CatalogMetadata = new CatalogMetadata(cat);

            //open the window
            CatalogConfig window = new CatalogConfig(cat, "");
            var           ret    = window.ShowDialog();

            if (!ret.HasValue || ret == false)
            {
                return;
            }

            //add to list
            Catalogs.Add(cat);
            ComputeNode.Catalogs.Add(cat.CatalogName, cat);
        }
        /// <summary>
        /// handle the double click in the list
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ListBoxItem_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var item = sender as ListBoxItem;

            if (item == null || !item.IsSelected)
            {
                return;
            }
            ICatalog sel     = item.Content as ICatalog;
            ICatalog catalog = new Catalog.Catalog(ComputeNode);

            BermudaConfigUtil.CopyCatalog(sel, catalog);
            CatalogConfig window = new CatalogConfig(catalog, catalog.CatalogName);
            var           ret    = window.ShowDialog();

            if (!ret.HasValue || ret == false)
            {
                return;
            }
            BermudaConfigUtil.CopyCatalog(catalog, sel);
            lbCatalogs.Items.Refresh();
        }
        /// <summary>
        /// create a new catalog
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btNew_Click(object sender, RoutedEventArgs e)
        {
            //new item
            var cat = new Catalog.Catalog(ComputeNode);
            cat.CatalogMetadata = new CatalogMetadata(cat);

            //open the window
            CatalogConfig window = new CatalogConfig(cat, "");
            var ret = window.ShowDialog();
            if (!ret.HasValue || ret == false)
                return;

            //add to list
            Catalogs.Add(cat);
            ComputeNode.Catalogs.Add(cat.CatalogName, cat);
        }
        /// <summary>
        /// make a copy of catalog
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btCopy_Click(object sender, RoutedEventArgs e)
        {
            //get the selected item
            if (lbCatalogs.SelectedItem == null) return;
            ICatalog copy = lbCatalogs.SelectedItem as ICatalog;

            //copy fields
            var cat = new Catalog.Catalog(ComputeNode);
            BermudaConfigUtil.CopyCatalog(copy, cat);

            //open the window
            CatalogConfig window = new CatalogConfig(cat, "");
            var ret = window.ShowDialog();
            if (!ret.HasValue || ret == false)
                return;

            //add to list
            Catalogs.Add(cat);
            ComputeNode.Catalogs.Add(cat.CatalogName, cat);
        }
 /// <summary>
 /// handle the double click in the list
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ListBoxItem_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     var item = sender as ListBoxItem;
     if (item == null || !item.IsSelected) return;
     ICatalog sel = item.Content as ICatalog;
     ICatalog catalog = new Catalog.Catalog(ComputeNode);
     BermudaConfigUtil.CopyCatalog(sel, catalog);
     CatalogConfig window = new CatalogConfig(catalog, catalog.CatalogName);
     var ret = window.ShowDialog();
     if (!ret.HasValue || ret == false)
         return;
     BermudaConfigUtil.CopyCatalog(catalog, sel);
     lbCatalogs.Items.Refresh();
 }