35 lines
842 B
C#
35 lines
842 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using EnVisage.Models.Cache;
|
|
|
|
namespace EnVisage.Code.Cache
|
|
{
|
|
public class UsersCache : Cache<User>
|
|
{
|
|
protected override string CACHE_KEY
|
|
{
|
|
get
|
|
{
|
|
return "Users";
|
|
}
|
|
}
|
|
|
|
protected override void SetValuesToCache()
|
|
{
|
|
using (EnVisageEntities context = new EnVisageEntities())
|
|
{
|
|
List<User> list = new List<User>();
|
|
var users = context.AspNetUsers.ToList();
|
|
foreach(var user in users)
|
|
{
|
|
var userRoles = user.AspNetRoles.Select(x => new Guid(x.Id)).ToList();
|
|
list.Add(new User() { Id = new Guid(user.Id), PreferredResourceAllocation = user.PreferredResourceAllocation, Roles = userRoles, PagePreferences = user.PagePreferences });
|
|
}
|
|
|
|
CacheManager.Instance.AddToCache(CACHE_KEY, list);
|
|
}
|
|
}
|
|
}
|
|
} |