private void textBoxName_Validating(object sender, CancelEventArgs e) { errorProvider.Clear(); if (textBoxName.Text == "") { errorProvider.SetError(textBoxAlias, "Must Include Name."); e.Cancel = true; return; } if (_parent.GetType() != typeof(ArchAngel.Providers.Database.Model.Table)) { return; } ArchAngel.Providers.Database.Model.Table table = (ArchAngel.Providers.Database.Model.Table)_parent; foreach (Index index in table.Indexes) { if (textBoxName.Text == index.Name && _index != index) { errorProvider.SetError(textBoxName, "Name Allready Exists."); e.Cancel = true; return; } } }
private void RenameRelatedObjects() { //TODO: return; foreach (ScriptObject scriptObject in _scriptObjects) { foreach (Relationship relationship in scriptObject.Relationships) { if (relationship.ForeignScriptObject != _scriptObject) { continue; } if (relationship.GetType() == typeof(OneToOneRelationship) || relationship.GetType() == typeof(ManyToOneRelationship)) { relationship.Alias = _scriptObject.Alias; } if (relationship.GetType() == typeof(OneToManyRelationship) || relationship.GetType() == typeof(ManyToManyRelationship)) { relationship.Alias = _scriptObject.AliasPlural; } } } if (_scriptObject.GetType() != typeof(ArchAngel.Providers.Database.Model.Table)) { return; } ArchAngel.Providers.Database.Model.Table table = (ArchAngel.Providers.Database.Model.Table)_scriptObject; foreach (Index index in table.Indexes) { if (index.Type == DatabaseConstant.KeyType.Unique) { string filterAlias = ArchAngel.Providers.Database.BLL.Helper.GetFilterAlias(index); Filter filter = ArchAngel.Providers.Database.BLL.Search.GetFilter(table.Filters, index.Name); filter.Alias = filterAlias; } } foreach (Key key in table.Keys) { if (key.Type == DatabaseConstant.KeyType.Unique || key.Type == DatabaseConstant.KeyType.Primary || key.Type == DatabaseConstant.KeyType.Foreign) { string filterAlias = ArchAngel.Providers.Database.BLL.Helper.GetFilterAlias(key); Filter filter = ArchAngel.Providers.Database.BLL.Search.GetFilter(table.Filters, key.Name); filter.Alias = filterAlias; } } }
public static Column[] GetUpdateColumns(Table table) { OneToOneRelationship[] oneToOneRelationships = Script.GetInheritedOneToOneRelationships(table); Column[] columns = Script.GetUpdateableColumnsAndInheritedUpdateableColumns(table, oneToOneRelationships, true, false); // Remove duplicates for inherited columns List<Column> updateColumns = new List<Column>(); foreach (Column column in columns) { Column tempColumn = Script.GetColumnByColumnAlias(updateColumns.ToArray(), column.Alias); if (tempColumn == null) { updateColumns.Add(column); } } return updateColumns.ToArray(); }
public static Table[] GetUpdateTables(Table table, bool reverseOrder) { List<Table> tables = new List<Table>(); tables.Add(table); OneToOneRelationship[] oneToOneRelationships = GetInheritedOneToOneRelationships(table); if (oneToOneRelationships.Length > 0 && ModelTypes.Table.IsInstanceOfType(oneToOneRelationships[0].ForeignRelationship.Parent)) { tables.Add((Table)oneToOneRelationships[0].ForeignRelationship.Parent); } foreach (Column column in table.Columns) { if (ModelTypes.Table.IsInstanceOfType(column.Parent)) { if (!tables.Contains((Table)column.Parent)) { tables.Add((Table)column.Parent); } } } if (reverseOrder) { tables.Reverse(); } return tables.ToArray(); }
public static Table[] GetUpdateTables(Table table) { return Script.GetUpdateTables(table, false); }
public static void TreeListNodeError(DevExpress.XtraTreeList.GetCustomNodeCellStyleEventArgs e) { return; TreeListNode treeListNode = e.Node; if (treeListNode.StateImageIndex == 0) { return; } if (ArchAngel.Providers.Database.BLL.Helper.GetBaseType(treeListNode.Tag) == typeof(ScriptBase)) { ScriptBase scriptBase = (ScriptBase)treeListNode.Tag; if (scriptBase.Enabled) { bool errorNode = false; if (scriptBase.GetType() == typeof(ArchAngel.Providers.Database.Model.Table) || scriptBase.GetType() == typeof(ArchAngel.Providers.Database.Model.View) || scriptBase.GetType() == typeof(ArchAngel.Providers.Database.Model.StoredProcedure)) { if (CountAlias(Controller.Instance.BllDatabase.EnabledScriptObjects, scriptBase.Alias) > 1) { errorNode = true; //treeListNode.TreeList.SetColumnError(treeListNode.TreeList.Columns[0], "Duplicate alias: More than one item has the same alias. Right-click one of the duplicate nodes to change its name to be unique."); } } if (scriptBase.GetType() == typeof(Column) || scriptBase.GetType() == typeof(MapColumn)) { ScriptObject scriptObject = ((Column)scriptBase).Parent; if (CountAlias(ScriptBLL.GetEnabledColumns(scriptObject.Columns), scriptBase.Alias) > 1) { errorNode = true; //treeListNode.TreeList.SetColumnError(treeListNode.TreeList.Columns[0], "Duplicate alias: More than one column has the same alias. Right-click one of the duplicate columns to change its name to be unique."); } } if (scriptBase.GetType() == typeof(Key)) { ArchAngel.Providers.Database.Model.Table table = (ArchAngel.Providers.Database.Model.Table)((Key)scriptBase).Parent; if (CountAlias(ScriptBLL.GetEnabledKeys(table.Keys), scriptBase.Alias) > 1) { errorNode = true; //treeListNode.TreeList.SetColumnError(treeListNode.TreeList.Columns[0], "Duplicate alias: More than one key has the same alias. Right-click one of the duplicate keys to change its name to be unique."); } } if (scriptBase.GetType() == typeof(Filter)) { ScriptObject scriptObject = (ScriptObject)((Filter)scriptBase).Parent; if (CountAlias(ScriptBLL.GetEnabledFilters(scriptObject.Filters), scriptBase.Alias) > 1) { errorNode = true; //treeListNode.TreeList.SetColumnError(treeListNode.TreeList.Columns[0], "Duplicate alias: More than one filter has the same alias. Right-click one of the duplicate filters to change its name to be unique."); } } if (scriptBase.GetType() == typeof(OneToOneRelationship) || scriptBase.GetType() == typeof(OneToManyRelationship) || scriptBase.GetType() == typeof(ManyToOneRelationship) || scriptBase.GetType() == typeof(ManyToManyRelationship)) { ScriptObject scriptObject = (ScriptObject)((Relationship)scriptBase).Parent; if (CountAlias(ScriptBLL.GetEnabledRelationships(scriptObject.Relationships), scriptBase.Alias) > 1) { errorNode = true; //treeListNode.TreeList.SetColumnError(treeListNode.TreeList.Columns[0], "Duplicate alias: More than one relationship has the same alias. Right-click one of the duplicate relationships to change its name to be unique."); } } if (errorNode) { e.Appearance.ForeColor = Color.Red; // Parents are shown as red also /*TreeListNode parentTreeListNode = treeListNode.ParentNode; * while (parentTreeListNode != null) * { * //parentTreeListNode.ForeColor = Color.Red; * parentTreeListNode = parentTreeListNode.ParentNode; * }*/ } else { //treeListNode.TreeList.ToolTipController.SetToolTip(treeListNode, ""); } } } /*foreach (TreeListNode childTreeListNode in treeListNode.Nodes) * { * if (ArchAngel.Providers.Database.BLL.Helper.GetBaseType(childTreeListNode.Tag) == typeof(ScriptBase)) * { * ScriptBase scriptBase = (ScriptBase)childTreeListNode.Tag; * if (!scriptBase.Enabled) * { * continue; * } * } * * TreeListNodeError(childTreeListNode); * }*/ }
public bool Validate(Table table, out string failReason) { failReason = ""; /*Don't check items that are not enabled*/ if (!table.Enabled) { return true; } if (!table.IsUserDefined && table.PrimaryKeyColumns.Length == 0) { failReason = "No primary key exists."; return false; } return true; }
public bool NameValidate(Table table, out string failReason) { failReason = ""; /*Don't check items that are not enabled*/ if (!table.Enabled) { return true; } if (string.IsNullOrEmpty(table.Name)) { failReason = "Name cannot be zero-length."; return false; } if (table.Name.IndexOf(" ") >= 0) { failReason = "Name cannot have spaces."; return false; } foreach (ScriptObject sibling in table.Database.EnabledScriptObjects) { if (sibling != this && sibling.Enabled && ArchAngel.Providers.Database.Helper.Script.StringsAreEqual(sibling.Name, Name, false)) { failReason = "Duplicate name: " + Name; return false; } } return true; }
public bool AliasPluralValidate(Table table, out string failReason) { failReason = ""; /*Don't check items that are not enabled*/ if (!table.Enabled) { return true; } if (string.IsNullOrEmpty(table.AliasPlural)) { failReason = "AliasPlural cannot be zero-length."; return false; } if (table.AliasPlural.IndexOf(" ") >= 0) { failReason = "AliasPlural cannot have spaces."; return false; } if (ArchAngel.Providers.Database.Helper.Script.StringsAreEqual(table.AliasPlural, table.Alias, false)) { failReason = "AliasPlural must be different to Alias."; return false; } foreach (ScriptObject sibling in table.Database.EnabledScriptObjects) { if (sibling != this && sibling.Enabled) { if (ArchAngel.Providers.Database.Helper.Script.StringsAreEqual(sibling.AliasPlural, AliasPlural, false)) { failReason = string.Format("Duplicate AliasPlural: {0}", AliasPlural); return false; } if (ArchAngel.Providers.Database.Helper.Script.StringsAreEqual(sibling.Alias, AliasPlural, false)) { failReason = string.Format("Table with same name exists: {0}", sibling.Alias); return false; } } } return true; }
public virtual string AliasPluralDefault(Table table) { return ArchAngel.Providers.Database.Helper.Script.GetPlural(table.Alias); }
public string AliasDefault(Table table) { string alias = ArchAngel.Providers.Database.Helper.Script.GetSingleWord(table.Name.Trim()); string aliasLower = alias.ToLower(); foreach (string prefix in TablePrefixes) { if (aliasLower.IndexOf(prefix.ToLower()) == 0) { alias = alias.Substring(prefix.Length); break; } } return ArchAngel.Providers.Database.Helper.Script.GetSingular(alias).Replace("_", ""); }