예제 #1
0
        public ActionPermissionTreeNode GetTreeNode(PermissionTreeQuery query)
        {
            if (!query.UserId.HasValue && !query.GroupId.HasValue)
            {
                return(null);
            }

            ActionPermissionTreeNode result = null;

            if (query.EntityTypeId.HasValue && !query.ActionId.HasValue)
            {
                result = ActionPermissionTreeRepository.GetEntityTypeTreeNodes(query.UserId, query.GroupId, query.EntityTypeId).FirstOrDefault();
                if (result != null)
                {
                    result.Children = ActionPermissionTreeRepository.GetActionTreeNodes(query.EntityTypeId.Value, query.UserId, query.GroupId);
                }
            }
            else if (query.EntityTypeId.HasValue && query.ActionId.HasValue)
            {
                result = ActionPermissionTreeRepository.GetActionTreeNodes(query.EntityTypeId.Value, query.UserId, query.GroupId, query.ActionId).FirstOrDefault();
            }

            return(result);
        }
예제 #2
0
        public ActionPermissionTreeNode GetTreeNode(int?entityTypeId, int?actionId, int?userId, int?groupId)
        {
            if (!userId.HasValue && !groupId.HasValue)
            {
                return(null);
            }

            ActionPermissionTreeNode result = null;

            if (entityTypeId.HasValue && !actionId.HasValue)
            {
                result = ActionPermissionTreeRepository.GetEntityTypeTreeNodes(userId, groupId, entityTypeId).FirstOrDefault();
                if (result != null)
                {
                    result.Children = ActionPermissionTreeRepository.GetActionTreeNodes(entityTypeId.Value, userId, groupId);
                }
            }
            else if (entityTypeId.HasValue && actionId.HasValue)
            {
                result = ActionPermissionTreeRepository.GetActionTreeNodes(entityTypeId.Value, userId, groupId, actionId).FirstOrDefault();
            }

            return(result);
        }