Esempio n. 1
0
        /// <summary>
        /// 同步部门
        /// </summary>
        /// <param name="keyword">关键字</param>
        /// <returns></returns>
        public ActionResult Sync()
        {
            //获取微信部门数据
            WXDepartmentListEntity wXDepartmentList = GetDepartmentList("");

            if (wXDepartmentList.errcode != 0)
            {
                return(Fail("微信接口错误码" + wXDepartmentList.errcode + ",错误信息" + wXDepartmentList.errmsg));
            }
            else
            {
                Dictionary <string, string> dir = new Dictionary <string, string>();
                foreach (var item in wXDepartmentList.department)
                {
                    dir.Add(item.id.ToString(), item.name);
                }
                var data = companyIBLL.GetWeChatList("");
                foreach (var item in data)
                {
                    WX_DepartmentEntity entity = new WX_DepartmentEntity();
                    if (dir.ContainsKey(item.F_EnCode))
                    {
                        //在微信中修改部门
                        entity.F_WXId = item.F_EnCode.ToInt();
                        entity.F_Name = item.F_FullName;
                        var parentEntity = data.Find(i => i.F_CompanyId == item.F_ParentId);
                        if (parentEntity != null)
                        {
                            entity.F_ParentId = parentEntity.F_EnCode.ToInt();
                        }
                        else
                        {
                            entity.F_ParentId = 1;
                        }
                        var res = UpdateDepartment(entity);
                        if (res.errcode != 0)
                        {
                            item.F_Description = "微信接口错误码" + res.errcode + ",错误信息" + res.errmsg;
                            companyIBLL.SaveEntity(item.F_CompanyId, item);
                            //return Fail("微信接口错误码" + res.errcode + ",错误信息" + res.errmsg);
                            continue;
                        }
                    }
                    else
                    {
                        entity.F_WXId = item.F_EnCode.ToInt();
                        entity.F_Name = item.F_FullName + "1";
                        var parentEntity = data.Find(i => i.F_CompanyId == item.F_ParentId);
                        if (parentEntity != null)
                        {
                            entity.F_ParentId = parentEntity.F_EnCode.ToInt();
                        }
                        else
                        {
                            entity.F_ParentId = 1;
                        }
                        //在微信中创建部门
                        var res = CreateDepartment(entity);
                        if (res.errcode != 0)
                        {
                            item.F_Description = "微信接口错误码" + res.errcode + ",错误信息" + res.errmsg;
                            companyIBLL.SaveEntity(item.F_CompanyId, item);
                            //return Fail("微信接口错误码" + res.errcode + ",错误信息" + res.errmsg);
                            continue;
                        }
                    }
                }
                return(Success(data));
            }
        }