Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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());
            }
        }