/// <summary> /// 查询一个用户及其角色和权限 /// </summary> /// <param name="UserName">用户名</param> /// <returns></returns> public User FindOneWithRAndP(String UserName) { User user = null; try { BsonDocument UserDoc = dh.FindOne("users", new BsonDocument { { "UserName", UserName } }); if (UserDoc != null) { user = new User(UserDoc); user.UserRole = urs.FindOne(UserDoc["UserRole"].AsObjectId); user.UserPowers = ups.GetAll(UserDoc["UserPowers"].AsBsonArray); } } catch (Exception e) { Console.Write(e.Message); } return user; }
/// <summary> /// 根据查询条件查询用户 /// </summary> /// <param name="Query">查询条件</param> /// <returns>返回用户集合</returns> private BsonArray GetUsersToArray(BsonDocument Query) { BsonArray UserList = new BsonArray(); List<BsonDocument> UserListDoc = dh.GetAllData("users", Query); foreach (BsonDocument UserDoc in UserListDoc) { User user = new User(UserDoc); user.UserRole = urs.FindOne(UserDoc["UserRole"].AsObjectId); user.UserPowers = ups.GetAll(UserDoc["UserPowers"].AsBsonArray); UserList.Add(user.ToBsonDocument()); } return UserList; }