Esempio n. 1
0
        private void AssociationCreate_Click(object sender, RoutedEventArgs e)
        {
            var association = new Association();
            var database    = _DatabaseExplorer.SelectedDatabase;
            var column      = GetSelectedColumn();

            if (_DatabaseExplorer.SelectedTable != null)
            {
                association.Table1 = _DatabaseExplorer.SelectedTable.Name;
            }

            if (column != null)
            {
                association.Table1Column = column.Name;
            }

            if (_DatabaseExplorer.SelectedTable != null)
            {
                association.Table1 = _DatabaseExplorer.SelectedTable.Name;
            }

            // See if we can determine what other table and column this column is referencing.
            if (column != null && column.Name.Contains('_'))
            {
                int    index      = column.Name.IndexOf('_');
                string sel_table  = column.Name.Substring(0, index);
                string sel_column = column.Name.Substring(index + 1);
                DtronixModeler.Ddl.Table found_table = null;

                if ((found_table = database.Table.FirstOrDefault(t => t.Name == sel_table)) != null)
                {
                    association.Table2 = sel_table;

                    if (found_table.Column.FirstOrDefault(c => c.Name == sel_column) != null)
                    {
                        association.Table2Column      = sel_column;
                        association.Table1Cardinality = Cardinality.Many;
                        association.Table2Cardinality = Cardinality.One;
                    }
                }
            }


            var association_window = new AssociationWindow(database, association);

            association_window.Owner = this;

            if (association_window.ShowDialog() == true)
            {
                database.Association.Add(association_window.Association);
                _DagTableAssociations.ItemsSource = database.GetAssociations(_DatabaseExplorer.SelectedTable);
            }
        }
Esempio n. 2
0
        private void AssociationEdit_Click(object sender, RoutedEventArgs e)
        {
            var original_association = _DagTableAssociations.SelectedItem as Association;
            var database             = _DatabaseExplorer.SelectedDatabase;

            var association_window = new AssociationWindow(database, original_association.Clone());

            association_window.Owner = this;

            if (association_window.ShowDialog() == true)
            {
                database.Association.Remove(original_association);
                database.Association.Add(association_window.Association);
                _DagTableAssociations.ItemsSource = database.GetAssociations(_DatabaseExplorer.SelectedTable);
            }
        }