/// <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); }
/// <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); }
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); }
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); }
/// <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); }
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()); } }