コード例 #1
0
ファイル: WeChatOrganizeBLL.cs プロジェクト: paddy235/ERCHTMS
        /// <summary>
        /// 同步部门
        /// </summary>
        /// <param name="organizeListJson">机构列表Json</param>
        /// <returns></returns>
        public void Synchronization(string organizeListJson)
        {
            List <WeChatDeptRelationEntity> weChatDeptRelationList = new List <WeChatDeptRelationEntity>();
            List <OrganizeEntity>           organizelist           = organizeListJson.ToList <OrganizeEntity>();

            #region  除
            IEnumerable <WeChatDeptRelationEntity> DeletedList = this.GetDeletedList(organizelist);
            foreach (var item in DeletedList)
            {
                DepartmentDelete departmentDelete = new DepartmentDelete();
                departmentDelete.id = item.WeChatDeptId.ToString();
                int IsOk = departmentDelete.Send().errcode;
                if (IsOk == 0)
                {
                    service.RemoveForm(item.DeptRelationId);
                }
            }
            #endregion

            #region 添加、编辑
            foreach (OrganizeEntity departmentEntity in organizelist)
            {
                WeChatDeptRelationEntity weChatDeptRelationEntity = service.GetEntity(departmentEntity.OrganizeId);
                if (weChatDeptRelationEntity == null)
                {
                    #region 添加
                    DepartmentCreate departmentCreate = new DepartmentCreate();
                    departmentCreate.name     = departmentEntity.FullName;
                    departmentCreate.parentid = departmentEntity.ParentId == "0" ? "1" : weChatDeptRelationList.Find(t => t.DeptId == departmentEntity.ParentId).WeChatDeptId.ToString();
                    string WeChatDeptId = departmentCreate.Send().id;
                    if (WeChatDeptId != null)
                    {
                        weChatDeptRelationEntity = new WeChatDeptRelationEntity();
                        weChatDeptRelationEntity.DeptRelationId = departmentEntity.OrganizeId;
                        weChatDeptRelationEntity.DeptId         = departmentEntity.OrganizeId;
                        weChatDeptRelationEntity.DeptName       = departmentEntity.FullName;
                        weChatDeptRelationEntity.WeChatDeptId   = WeChatDeptId.ToInt();//企业号创建部门的返回Id
                        weChatDeptRelationList.Add(weChatDeptRelationEntity);
                        service.SaveForm("", weChatDeptRelationEntity);
                    }
                    #endregion
                }
                else
                {
                    #region 编辑
                    weChatDeptRelationList.Add(weChatDeptRelationEntity);
                    DepartmentUpdate departmentUpdate = new DepartmentUpdate();
                    departmentUpdate.name     = departmentEntity.FullName;
                    departmentUpdate.parentid = departmentEntity.ParentId == "0" ? "1" : weChatDeptRelationList.Find(t => t.DeptId == departmentEntity.ParentId).WeChatDeptId.ToString();
                    departmentUpdate.id       = weChatDeptRelationEntity.WeChatDeptId.ToString();
                    int IsOk = departmentUpdate.Send().errcode;
                    if (IsOk == 0)
                    {
                        service.SaveForm(weChatDeptRelationEntity.DeptRelationId, weChatDeptRelationEntity);
                    }
                    #endregion
                }
            }
            #endregion
        }
コード例 #2
0
        /// <summary>
        /// 保存成员(并自动添加企业号成员)
        /// </summary>
        /// <param name="userIds">成员Id</param>
        /// <returns></returns>
        public void SaveMember(string[] userIds, out string msg)
        {
            List <UserEntity> usreList = userBLL.GetList().ToList();
            List <WeChatDeptRelationEntity> departmentList = weChatOrganizeBLL.GetList().ToList();
            int succeed = 0;
            int error   = 0;

            foreach (var userId in userIds)
            {
                try
                {
                    UserEntity userEntity = usreList.Find(t => t.UserId == userId);
                    WeChatDeptRelationEntity weChatDeptRelationEntity = departmentList.Find(t => t.DeptId == userEntity.DepartmentId);


                    UserCreate userCreate = new UserCreate();
                    userCreate.userid   = userEntity.Account;
                    userCreate.name     = userEntity.RealName;
                    userCreate.position = userEntity.PostName;
                    userCreate.mobile   = userEntity.Mobile;
                    userCreate.gender   = userEntity.Gender == 1 ? "1" : "2";
                    userCreate.email    = userEntity.Email;
                    userCreate.weixinid = userEntity.WeChat;
                    string departmentId = weChatDeptRelationEntity.WeChatDeptId.ToString();
                    userCreate.department = new List <string>()
                    {
                        departmentId
                    };
                    var result = userCreate.Send();
                    if (result.errcode == 0)
                    {
                        UserInvite userInvite = new UserInvite();
                        userInvite.userid = userCreate.userid;
                        result            = userInvite.Send();
                    }

                    WeChatUserRelationEntity weChatUserRelationEntity = new WeChatUserRelationEntity();
                    weChatUserRelationEntity.UserRelationId = userCreate.userid;
                    weChatUserRelationEntity.UserId         = userCreate.userid;
                    weChatUserRelationEntity.DeptId         = weChatDeptRelationEntity.DeptId;
                    weChatUserRelationEntity.DeptName       = weChatDeptRelationEntity.DeptName;
                    weChatUserRelationEntity.WeChatDeptId   = departmentId.ToInt();
                    weChatUserRelationEntity.SyncState      = result.errcode.ToString();
                    weChatUserRelationEntity.SyncLog        = result.errmsg;
                    service.SaveForm("", weChatUserRelationEntity);

                    succeed++;
                }
                catch (System.Exception)
                {
                    error++;
                }
            }
            msg = "成功:" + succeed + " ;错误:" + error;
        }
コード例 #3
0
        /// <summary>
        /// 同步成员
        /// </summary>
        /// <param name="userIds">成员Id</param>
        /// <returns></returns>
        public void Synchronization(string[] userIds)
        {
            List <UserEntity> usreList = userBLL.GetList().ToList();
            List <WeChatDeptRelationEntity> departmentList = weChatOrganizeBLL.GetList().ToList();

            foreach (var userId in userIds)
            {
                UserEntity userEntity = usreList.Find(t => t.UserId == userId);
                WeChatDeptRelationEntity weChatDeptRelationEntity = departmentList.Find(t => t.DeptId == userEntity.DepartmentId);

                #region  步更新信息
                UserUpdate userUpdate = new UserUpdate();
                userUpdate.userid   = userEntity.Account;
                userUpdate.name     = userEntity.RealName;
                userUpdate.position = userEntity.PostName;
                userUpdate.mobile   = userEntity.Mobile;
                userUpdate.gender   = userEntity.Gender == 1 ? "1" : "2";
                userUpdate.email    = userEntity.Email;
                userUpdate.weixinid = userEntity.WeChat;
                string departmentId = weChatDeptRelationEntity.WeChatDeptId.ToString();
                userUpdate.department = new List <string>()
                {
                    departmentId
                };
                userUpdate.enable = userEntity.EnabledMark.ToInt();
                var result = userUpdate.Send();

                #endregion

                #region  步邀请关注
                UserGet userGet = new UserGet();
                userGet.userid = userEntity.Account;
                var status = userGet.Send();
                #endregion

                WeChatUserRelationEntity weChatUserRelationEntity = new WeChatUserRelationEntity();
                weChatUserRelationEntity.UserId       = userUpdate.userid;
                weChatUserRelationEntity.DeptId       = weChatDeptRelationEntity.DeptId;
                weChatUserRelationEntity.DeptName     = weChatDeptRelationEntity.DeptName;
                weChatUserRelationEntity.WeChatDeptId = departmentId.ToInt();
                weChatUserRelationEntity.SyncState    = status.status.ToString();
                weChatUserRelationEntity.SyncLog      = status.errmsg;
                service.SaveForm(userEntity.Account, weChatUserRelationEntity);
            }
        }