31 lines
993 B
C#
31 lines
993 B
C#
using Longbow.Cache;
|
|
using MongoDB.Driver;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Bootstrap.Client.DataAccess.MongoDB
|
|
{
|
|
class UserHelper
|
|
{
|
|
/// <summary>
|
|
/// 获取所有用户缓存数据键值
|
|
/// </summary>
|
|
public const string RetrieveUsersDataKey = "UserHelper-RetrieveUsers";
|
|
|
|
/// <summary>
|
|
/// 查询所有用户
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static IEnumerable<User> Retrieves() => CacheManager.GetOrAdd(RetrieveUsersDataKey, key =>
|
|
{
|
|
var project = Builders<User>.Projection.Include(u => u.Id)
|
|
.Include(u => u.UserName)
|
|
.Include(u => u.DisplayName)
|
|
.Include(u => u.Groups)
|
|
.Include(u => u.Roles)
|
|
.Include(u => u.ApprovedTime);
|
|
return DbManager.Users.Find(user => user.ApprovedTime != DateTime.MinValue).Project<User>(project).ToList();
|
|
});
|
|
}
|
|
}
|