crm创建启用停用用户

        public static readonly string entityName = "systemuser";
        public Guid userId = Guid.Empty;

        /// <summary>
        /// 创建用户
        /// </summary>
        public void Create(IOrganizationService service)
        {
            Entity en = new Entity() { LogicalName = entityName };
            en["domainname"] = "test";
            en["fullname"] = "测试";
            userId = service.Create(en);
        }

        /// <summary>
        /// 启用和停用用户
        /// </summary>
        /// <param name="service"></param>
        public void UpdateUserState(IOrganizationService service)
        {
            //启用用户
            UpdateState(entityName, userId, 0, -1, service);
            //停用用户
            UpdateState(entityName, userId, -1, -1, service);
        }

        /// <summary>
        /// 添加和移除安全角色
        /// </summary>
        /// <param name="service">服务</param>
        /// <param name="roleId">安全角色</param>
        public void AddAndRemoveRole(IOrganizationService service,Guid roleId)
        {
            //添加安全角色
            AddConnection(service, "systemuserroles_association", new EntityReference() { LogicalName = "role", Id = roleId });
            //删除安全角色
            RemoveConnection(service, "systemuserroles_association", new EntityReference() { LogicalName = "role", Id = roleId });
        }

        private void UpdateState(string enName, Guid id, int state, int status, IOrganizationService service)
        {
            SetStateRequest setState = new SetStateRequest()
            {
                EntityMoniker = new EntityReference()
                {
                    Id = id,
                    LogicalName = enName
                },
                State = new OptionSetValue(state),
                Status = new OptionSetValue(status)
            };
            service.Execute(setState);
        }

        public void AddConnection(IOrganizationService service, string name, params EntityReference[] array)
        {
            Relationship ship = new Relationship(name);
            AssociateRequest request = new AssociateRequest();
            request.Relationship = ship;
            request.Target = new EntityReference() { LogicalName = entityName, Id = userId };
            request.RelatedEntities = new EntityReferenceCollection();
            request.RelatedEntities.AddRange(array);
            service.Execute(request);
        }

        public void RemoveConnection(IOrganizationService service, string name, params EntityReference[] array)
        {
            Relationship ship = new Relationship(name);
            DisassociateRequest request = new DisassociateRequest();
            request.Relationship = ship;
            request.Target = new EntityReference() { LogicalName = entityName, Id = userId };
            request.RelatedEntities = new EntityReferenceCollection();
            request.RelatedEntities.AddRange(array);
            service.Execute(request);
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值