コード例 #1
0
ファイル: DingDingService.cs プロジェクト: chow19/OpenAuth
 public void DDCreateDept(CreateDeptRequest model)
 {
     try
     {
         string           Url      = string.Format("https://oapi.dingtalk.com/department/create?access_token={0}", DDHelper.GetToken());
         string           response = Infrastructure.Web.WebHelper.HttpWebRequestJson(Url, model.GetParametersToJosn());
         CreateDeptRespon res      = response.ToObject <CreateDeptRespon>();
         if (res.Errcode == 0)
         {
             _Orgapp.SetStatus(model.SourceIdentifier, 0, res.Id.ToString(), true);
         }
         else
         {
             _Orgapp.SetStatus(model.SourceIdentifier, 1, res.Errmsg, false);
         }
     }
     catch (Exception ex)
     {
         _Orgapp.SetStatus(model.SourceIdentifier, 2, ex.Message, false);
     }
 }
コード例 #2
0
ファイル: SyncController.cs プロジェクト: chow19/OpenAuth
        /// <summary>
        /// 执行同步组织
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        private bool SyncOrgHandler(Org item)
        {
            var  response = new Response <bool>();
            bool IsParent = false;

            if (string.IsNullOrEmpty(item.ParentId))
            {
                IsParent = true;
            }
            string Parentid = "1";

            if (IsParent)
            {
                Parentid = "1";
            }
            else
            {//获取父部门的sourceId
                var o = OrgApp.Get(item.ParentId);
                Parentid = o.DD_Id;
                if (string.IsNullOrEmpty(Parentid))
                {
                    return(false);
                }
            }
            if (item.DD_SyncMethod == "add")
            {
                CreateDeptRequest model = new CreateDeptRequest();
                model.DeptHiding       = false;
                model.Name             = item.Name;
                model.Order            = item.SortNo.ToString();
                model.OuterDept        = false;
                model.Parentid         = Parentid;
                model.SourceIdentifier = item.Id;

                DingDingService.DDCreateDept(model);
            }
            else if (item.DD_SyncMethod == "update")
            {
                //更新只更新名称 父节点
                DelDeptRequest d = new DelDeptRequest();
                d.Id = item.DD_Id;
                var resOrg = DingDingService.DDGetDept(d);
                if (resOrg == null)
                {
                    return(false);
                }
                UpdateDeptRequest model = new UpdateDeptRequest();
                model.Id       = Ext.ToLong(item.DD_Id);
                model.Name     = item.Name;
                model.Parentid = Parentid;
                // model.SourceIdentifier = item.Id;
                model.Order                 = resOrg.Order.ToString();
                model.AutoAddUser           = resOrg.AutoAddUser;
                model.CreateDeptGroup       = resOrg.CreateDeptGroup;
                model.DeptHiding            = resOrg.DeptHiding;
                model.DeptManagerUseridList = resOrg.DeptManagerUseridList;
                model.DeptPerimits          = resOrg.DeptPerimits;
                model.OrgDeptOwner          = resOrg.OrgDeptOwner;
                model.OuterDept             = resOrg.OuterDept;
                model.OuterPermitDepts      = resOrg.OuterPermitDepts;
                model.OuterPermitUsers      = resOrg.OuterPermitUsers;
                model.SourceIdentifier      = item.Id;
                model.UserPerimits          = resOrg.UserPerimits;

                DingDingService.DDUpdateDept(model);
            }
            else if (item.DD_SyncMethod == "del")
            {
                DelDeptRequest model = new DelDeptRequest();
                model.Id = item.DD_Id;
                DingDingService.DDDelDept(model);
            }
            else
            {
                return(false);
            }

            return(true);
        }