/// <summary> /// 从钉钉同步角色和用户 /// </summary> /// <param name="DdOper"></param> public static void SyncUserRole(IDdOper DdOper) { SunginDataContext sc = new SunginDataContext(); UserProvider uProvider = new UserProvider(DdOper); RoleProvider rProvider = new RoleProvider(DdOper); RoleOper rOper = new RoleOper(); UserOper uOper = new UserOper(); var userList = DataQuery.GetAllRecords <User>(); var roleList = rProvider.GetRoles("管理系统"); rOper.UpdateRoles(roleList); //根据返回的roleList更新数据库 List <IUserRole> urList = new List <IUserRole>(); roleList.ForEach(role => { var ruleUserList = rProvider.GetRoleUserList(role.RoleId); if (ruleUserList != null) { ruleUserList.ForEach(u => { var user = uProvider.GetUserInfo(u.Userid); if (userList.Count(c => c.DdId == u.Userid) == 0) { //没有该用户,添加该用户 uOper.AddUser(user); } urList.Add(new UserRole { RoleId = role.RoleId, DdId = u.Userid, RoleName = role.RoleName, UserName = user.UserName, }); }); } }); new UrOper().UpdateRoles(urList); //同步UserRole表 }