nHydrate.Generator.Models.RelationController.RelationController_BeforeParentTableChange C# (CSharp) Method

RelationController_BeforeParentTableChange() private method

private RelationController_BeforeParentTableChange ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
		private void RelationController_BeforeParentTableChange(object sender, EventArgs e)
		{
			//Find root node
			var rootNode = this.Node;
			while (rootNode.Parent != null)
				rootNode = (ModelObjectTreeNode)rootNode.Parent;

			var relation = (Relation)this.Object;
			var modelRoot = ((ModelRoot)this.Object.Root);

			//Process parent table
			var parentTable = (Table)relation.ParentTableRef.Object;
			var nodeList = rootNode.Nodes.Find(parentTable.Key, true);
			foreach (TableNode tableNode in nodeList)
			{
				foreach (var node in tableNode.Nodes.Find(this.Object.Key, true))
				{
					node.Remove();
				}
			}
		}