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; }
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(); } } } }
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(); } } } }
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()); } } }