Exemplo n.º 1
0
 /// <summary> OrganizationID and UserID come from ConnectionContext.Authentication </summary>
 public UserSession(OrganizationNode organization)
 {
     Customer = organization;
Exemplo n.º 2
0
		public int IndexOf(OrganizationNode item)
		{
			return base.List.IndexOf(item);
		}
Exemplo n.º 3
0
 		public void Remove(OrganizationNode item)
		{
			base.List.Remove(item);
		}
Exemplo n.º 4
0
		public bool Contains(OrganizationNode item)
		{
			return base.List.Contains(item);
		}
Exemplo n.º 5
0
		public void AddAt(int index, OrganizationNode item)
		{
			base.List.Insert(index, item);
		}
Exemplo n.º 6
0
		public void Add(OrganizationNode item)
		{
			base.List.Add(item);
		}
Exemplo n.º 7
0
 		private void InitOrganizationNodeCollection(OrganizationNode node1)
		{
			node1.Parent = this.Parent;
		}
Exemplo n.º 8
0
        public ActionResult <OrganizationNode> Hierarchy()
        {
            var result = new OrganizationNode();

            result.GroupId   = Guid.Empty.ToString();
            result.GroupCode = string.Empty;
            result.GroupTree = string.Empty;
            result.Name      = string.Empty;

            var groups      = _groupService.GetOrganization();
            var parent2Node = result;
            var parent4Node = result;
            var parent6Node = result;

            foreach (var group in groups)
            {
                var currentNode = new OrganizationNode
                {
                    GroupId   = group.GroupId.ToString(),
                    GroupTree = group.GroupTree,
                    GroupCode = group.GroupCode,
                    Name      = group.Name,
                };

                foreach (var manager in group.Persons)
                {
                    currentNode.Managers.Add(new OrganizationManager
                    {
                        PersonId     = manager.PersonId.ToString(),
                        PersonCode   = manager.PersonCode,
                        PositionType = manager.PositionType.ToString(),
                        Name         = manager.Name,
                        Title        = manager.Title,
                    });
                }

                if (group.GroupTree.Length == 2)
                {
                    result.Children.Add(currentNode);
                    parent2Node = currentNode;
                    continue;
                }

                if (group.GroupTree.Length == 4 && group.GroupTree.StartsWith(parent2Node.GroupTree))
                {
                    parent2Node.Children.Add(currentNode);
                    parent4Node = currentNode;
                    continue;
                }

                if (group.GroupTree.Length == 6 && group.GroupTree.StartsWith(parent4Node.GroupTree))
                {
                    parent4Node.Children.Add(currentNode);
                    parent6Node = currentNode;
                    continue;
                }

                if (group.GroupTree.Length == 8 && group.GroupTree.StartsWith(parent6Node.GroupTree))
                {
                    parent6Node.Children.Add(currentNode);
                    continue;
                }

                result.Children.Add(currentNode);

                if (currentNode.GroupTree.Length == 4)
                {
                    parent4Node = currentNode;
                }
                else if (currentNode.GroupTree.Length == 6)
                {
                    parent6Node = currentNode;
                }
            }
            return(result);
        }