示例#1
0
 /// <summary>
 /// 新增子部门
 /// </summary>
 /// <param name="NewDepartmentName">新增子部門的名字</param>
 /// <param name="errMsg">返回錯誤信息</param>
 /// <returns>返回操作結果</returns>
 public bool AddChildDepartment(string NewDepartmentName, string UserID, ref string errMsg)
 {
     try
     {
         QYConfig.RegistWX();
         var accessToken = AccessTokenContainer.GetToken(QYConfig.CorpId);
         var result      = MailListApi.CreateDepartment(accessToken, NewDepartmentName, int.Parse(DepartmentID));
         if (result.errcode.ToString() == "请求成功")
         {
             if (DepartmentDA.AddDepartment(result.id.ToString(), DepartmentID, NewDepartmentName, "1", UserID))
             {
                 QYDepartmentBL newdep = GetByWXID(result.id.ToString());
                 Departments.Add(newdep);
                 return(true);
             }
             else
             {
                 errMsg = "数据库新增部门失败";
                 return(false);
             }
         }
         else
         {
             Logger.Log4Net.Error(result.errcode + ":" + result.errmsg);
             errMsg = result.errcode + ":" + result.errmsg;
         }
     }
     catch (Exception e)
     {
         Logger.Log4Net.Error("add department error:" + e);
         errMsg = "操作失敗:" + e.Message;
         return(false);
     }
     return(false);
 }
示例#2
0
        /// <summary>
        /// 根据部门获取该部门下所有的Member
        /// </summary>
        /// <param name="DepPKID">部门在数据库的主键ID</param>
        /// <returns></returns>
        public static List <QYMemberBL> GetMemberAllByDep(QYDepartmentBL department)
        {
            List <string> l = GetAllDepID(department);

            QYMemberDA        MembertDA = new QYMemberDA();
            List <QYMemberBL> members   = MembertDA.TableToEntity <QYMemberBL>(MembertDA.GetMemberByDepPKIDs(l));

            if (members.Count > 0)
            {
                QYConfig.RegistWX();

                var             accessToken = AccessTokenContainer.GetToken(QYConfig.CorpId);
                var             mlist       = MailListApi.GetDepartmentMemberInfo(accessToken, int.Parse(members.First().DepartMent.DepartmentID), 1, 0).userlist;
                GetMemberResult item;
                for (int i = 0; i < members.Count; i++)
                {
                    item = mlist.Find(p => p.userid == members[i].UserId);
                    if (item != null)
                    {
                        if (item.status.ToString() != members[i].Status || item.avatar != members[i].Avatar)
                        {
                            members[i].Status = item.status.ToString();
                            members[i].Avatar = item.avatar;
                            string errMsg = "";
                            members[i].UpdateMember("1", ref errMsg);
                        }
                    }
                }
            }
            return(members);
        }
示例#3
0
        public QYDepartmentBL GetAllDepartments()
        {
            List <QYDepartmentBL> AllDepartment = DepartmentDA.TableToEntity <QYDepartmentBL>(DepartmentDA.GetAllDepartmentData());
            QYDepartmentBL        Department    = AllDepartment.Find(p => p.ParentDepartmentID == "0");

            Department.Departments = GetDepartmentsByParent(Department.DepartmentID, AllDepartment);

            return(Department);
        }
示例#4
0
        public QYDepartmentBL GetByWXID(string id)
        {
            List <QYDepartmentBL> AllDepartment = DepartmentDA.TableToEntity <QYDepartmentBL>(DepartmentDA.GetAllDepartmentData());
            QYDepartmentBL        Department    = AllDepartment.Find(p => p.DepartmentID == (id));

            Department.Departments = GetDepartmentsByParent(Department.DepartmentID, AllDepartment);

            return(Department);
        }
示例#5
0
        /// <summary>
        /// 迭代取出department下所有子department的PKID
        /// </summary>
        /// <param name="dep"></param>
        /// <returns></returns>
        static List <string> GetAllDepID(QYDepartmentBL dep)
        {
            List <string> l = new List <string>();

            l.Add(dep.ID.ToString());
            for (int i = 0; i < dep.Departments.Count; i++)
            {
                l.AddRange(GetAllDepID(dep.Departments[i]));
            }
            return(l);
        }
示例#6
0
        public static void DownloadDatafromWX()
        {
            QYConfig.RegistWX();
            var accessToken = AccessTokenContainer.GetToken(QYConfig.CorpId);
            var result      = MailListApi.GetDepartmentList(accessToken);

            for (int i = 0; i < result.department.Count; i++)
            {
                DepartmentDA.AddDepartment(result.department[i].id.ToString(), result.department[i].parentid.ToString(), result.department[i].name, "1", "1");
            }
            QYDepartmentBL d = GetAllDepartments();
            var            l = MailListApi.GetDepartmentMemberInfo(accessToken, 1, 1, 0);

            for (int i = 0; i < l.userlist.Count; i++)
            {
                QYMemberDA     mda = new QYMemberDA();
                QYDepartmentBL p   = QYDepartmentBL.GetByWXID(l.userlist[i].department[0].ToString());
                mda.AddMember(l.userlist[i].userid, l.userlist[i].name, l.userlist[i].position, l.userlist[i].mobile, l.userlist[i].email, l.userlist[i].weixinid,
                              l.userlist[i].avatar, l.userlist[i].status.ToString(), "1", p.ID.ToString());
            }
        }