private void DoUnrelateIdToId(string srcTblName, string tgtTblName) { var srcTable = SelectedDataset .Table .FirstOrDefault(x => x.name.ToLower() == srcTblName.ToLower()); if (null == srcTable) { return; } var tgtTable = SelectedDataset .Table .FirstOrDefault(x => x.name.ToLower() == tgtTblName.ToLower()); if (null == tgtTable || srcTable.name == tgtTable.name) { return; } var relationship = SelectedDataset .Relationship.FirstOrDefault(x => x.name == CRelationship.GetName(srcTable.name, tgtTable.name)); if (null == relationship) { return; } SelectedDataset.Relationship.Remove(relationship); SaveConfiguration(); LoadConfiguration(); }
private void DoRelateIdToIdOnIdEqId(string srcTblName, string tgtTblName, string srcColName, string tgtColName) { var srcTable = SelectedDataset .Table .FirstOrDefault(x => x.name.ToLower() == srcTblName.ToLower()); if (null == srcTable) { return; } var tgtTable = SelectedDataset .Table .FirstOrDefault(x => x.name.ToLower() == tgtTblName.ToLower()); if (null == tgtTable) { return; } var srcCol = srcTable .Column .FirstOrDefault(x => x.name.ToLower() == srcColName.ToLower()); if (null == srcCol) { return; } var tgtCol = tgtTable .Column .FirstOrDefault(x => x.name.ToLower() == tgtColName.ToLower()); if (null == tgtCol || srcCol.DbType != tgtCol.DbType) { return; } var relationship = new CRelationship { name = string.Format("{0}->{1}", srcTable.name, tgtTable.name), fromTable = srcTable.name, toTable = tgtTable.name, fromColumn = srcCol.name, toColumn = tgtCol.name }; if (SelectedDataset.Relationship.Any(x => x.name == relationship.name)) { return; } var currentDatasetName = SelectedDataset.name; var currentTableName = null != CurrentTable ? CurrentTable.Root.ConfigTable.name : string.Empty; SelectedDataset.Relationship.Add(relationship); SaveConfiguration(); LoadConfiguration(); }