public override DataSet DeriveModel()
        {
            Classification c = new Classification(dataSet, visibleTables);
            c.CalculateHierarquies();
            List<List<string>> maximal = c.MaximalStringHierarchies;

            foreach (List<string> hierarchy in maximal)
            {
                foreach (string table in hierarchy)
                {
                    string newTable = table;

                    if (table.IndexOf("(") != -1)
                        newTable = table.Substring(0, table.IndexOf("("));

                    if (entityTypes[newTable] == EntityTypes.TransactionEntity)
                        continue;

                    if (dataSet.Tables.Contains(newTable))
                    {
                        Collapse cp = new Collapse(dataSet, newTable, new List<string>(), visibleTables);
                        dataSet = cp.GetResult();
                        visibleTables = cp.VisibleTables;
                    }
                }
            }

            return dataSet;
        }
Esempio n. 2
0
        protected virtual void CollapseClassificationTypes()
        {
            Classification c = new Classification(dataSet, visibleTables);
            c.CalculateHierarquies();
            List<List<string>> maximal = c.MaximalStringHierarchies;

            foreach (List<string> hierarchy in maximal)
            {
                foreach (string table in hierarchy)
                {
                    string newTable = table;

                    if (table.IndexOf("(") != -1)
                        newTable = table.Substring(0, table.IndexOf("("));

                    if (entityTypes[newTable] > EntityTypes.ClassificationEntity)
                        continue;

                    if (dataSet.Tables.Contains(newTable))
                    {
                        Collapse cp = new Collapse(dataSet, newTable, new List<string>(), VisibleTables);
                        dataSet = cp.GetResult();
                    }
                }
            }
        }
Esempio n. 3
0
        public override DataSet DeriveModel()
        {
            Classification c = new Classification(dataSet, visibleTables);
            c.CalculateHierarquies();
            List<string> minimal = c.MinimalStringEntities;

            foreach (string table in minimal)
            {
                Collapse cp = new Collapse(dataSet, table, new List<string>(), VisibleTables);
                dataSet = cp.GetResult();
                visibleTables = cp.VisibleTables;
            }

            return dataSet;
        }
        protected override void CollapseClassificationTypes()
        {
            Classification c = new Classification(dataSet, visibleTables);
            c.CalculateHierarquies();
            List<List<string>> maximal = c.MaximalStringHierarchies;

            foreach (List<string> hierarchy in maximal)
            {
                foreach (string table in hierarchy)
                {
                    string newTable = table;

                    if (table.IndexOf("(") != -1)
                        newTable = table.Substring(0, table.IndexOf("("));

                    bool doNotCollapse = false;
                    if (entityTypes[newTable].Equals(EntityTypes.ClassificationEntity))
                    {
                        List<DataRelation> relations = DataHelper.GetRelations(dataSet, newTable);

                        if (relations.Count > 1)
                        {
                            foreach (DataRelation dr in relations)
                            {
                                if (entityTypes[dr.ChildTable.TableName].Equals(EntityTypes.ComponentEntity))
                                    doNotCollapse = true;
                            }
                        }
                    }

                    if (doNotCollapse)
                        continue;

                    if (entityTypes[newTable] > EntityTypes.ClassificationEntity)
                        continue;

                    if (dataSet.Tables.Contains(newTable))
                    {
                        Collapse cp = new Collapse(dataSet, newTable, new List<string>(), VisibleTables);
                        dataSet = cp.GetResult();
                    }
                }
            }
        }
Esempio n. 5
0
        private void collapseToolStripMenuItem_Click(object sender, System.EventArgs e)
        {
            Elements elms = model1.SelectedElements(typeof(Table));

            foreach (string el in elms.Keys)
            {
                Shape table = (Shape) elms[el];
                SelectCollapse sc = new SelectCollapse(dataSet, table.Key, visibleTables);
                DialogResult result = DialogResult.OK;

                if (sc.RelationCount > 1)
                    result = sc.ShowDialog();

                if (result == DialogResult.OK)
                {
                    Collapse c = new Collapse(dataSet, table.Key, sc.SelectedRelations, visibleTables);
                    LoadDataSet(c.GetResult());
                }
            }
        }