public static void UpdateEntityNodesRelatedEntityNodes(Guid entityNodesRelatedEntityNodesId, Guid entityNodeId, Guid relatedEntityNodeId, Guid entityId, RelationType relationType, Guid organizationId) { using (EntityNodesRelatedEntityNodesTableAdapter adapter = new EntityNodesRelatedEntityNodesTableAdapter(OrganizationProvider.GetConnectionString(organizationId))) { ClientDataSet.EntityNodesRelatedEntityNodesDataTable table = adapter.GetEntityNodesRelatedEntityNodes(entityNodesRelatedEntityNodesId); ClientDataSet.EntityNodesRelatedEntityNodesRow row = null; if (table.Count > 0) { row = table[0]; } if (row == null) { row = table.NewEntityNodesRelatedEntityNodesRow(); row.EntityNodesRelatedEntityNodesId = entityNodesRelatedEntityNodesId; } row.EntityNodeId = entityNodeId; row.RelatedEntityNodeId = relatedEntityNodeId; row.EntityId = entityId; row.RelationType = (int)relationType; if (row.RowState == DataRowState.Detached) { table.AddEntityNodesRelatedEntityNodesRow(row); } adapter.Update(row); } }
public static void DeleteAllEntityNodesRelatedEntityNodes(Guid organizationId, Guid entityNodeId, Guid entityId) { ClientDataSet.EntityNodesRelatedEntityNodesDataTable table = GetAllEntityNodesRelatedEntityNodes(organizationId, entityNodeId, entityId); foreach (ClientDataSet.EntityNodesRelatedEntityNodesRow row in table) { row.Delete(); } using (EntityNodesRelatedEntityNodesTableAdapter adapter = new EntityNodesRelatedEntityNodesTableAdapter(OrganizationProvider.GetConnectionString(organizationId))) { adapter.Update(table); } }
public void LoadTree() { if (EntityId != Guid.Empty && UserContext.Current != null) { Entity entity = EntityFieldProvider.Entities[EntityId.ToString()]; Guid? instanceId = new Guid?(); if (entity.HierarchyStartLevel == EntityLevel.Instance) { instanceId = new Guid?(UserContext.Current.InstanceId); } ClientDataSet.EntityNodeDataTable dt = new ClientDataSet.EntityNodeDataTable(); if (UserContext.Current != null) { this.OnClientNodeClicked = "onClientNodeClicked"; // this.ContextMenus.AddRange(CustomContextMenus.Values); base.DataFieldID = dt.EntityNodeIdColumn.ColumnName; base.DataFieldParentID = dt.ParentEntityNodeIdColumn.ColumnName; base.DataTextField = dt.NameColumn.ColumnName; base.DataValueField = dt.EntityNodeIdColumn.ColumnName; this.DataSource = EntityNodeProvider.GetEntityNodesTree(UserContext.Current.OrganizationId, instanceId, EntityId, entity.Name); this.DataBind(); if (this.Nodes.Count > 0) { if (!string.IsNullOrEmpty(CustomRootNodeText)) { this.Nodes[0].Text = CustomRootNodeText; } if ((AllowRootNodeSelection.HasValue && !AllowRootNodeSelection.Value) || (!AllowRootNodeSelection.HasValue && !Entity.EnableRootNodeSelection)) { this.Nodes[0].Checkable = false; this.Nodes[0].Category = "3"; } this.Nodes[0].Expanded = true; } } } ClientDataSet.EntityNodesRelatedEntityNodesDataTable t = EntityNodeProvider.GetAllEntityNodesRelatedEntityNodes(UserContext.Current.OrganizationId, EntityNodeId, EntityId); RadTreeNode rtn; foreach (ClientDataSet.EntityNodesRelatedEntityNodesRow row in t.Rows) { rtn = this.FindNodeByValue(row.RelatedEntityNodeId.ToString()); if (rtn == null) { row.Delete(); continue; } if (rtn.Category != "3") { if (row.RelationType == (int)RelationType.Checked) { rtn.Checked = true; } else if (row.RelationType == (int)RelationType.CheckedAndAllChildren) { rtn.Checked = true; rtn.Category = "1"; } else if (row.RelationType == (int)RelationType.Blocked) { rtn.Checked = true; rtn.Category = "2"; } } } SetStateNode(this.Nodes[0]); ProcessNodes(this.Nodes[0]); if (OnLoaded != null) { OnLoaded(this, new EventArgs()); } }