35 lines
720 B
C#
35 lines
720 B
C#
using EnVisage.Models.Cache;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
|
|
namespace EnVisage.Code.Cache
|
|
{
|
|
public class ProjectAccessCache : Cache<UserProjectAccess>
|
|
{
|
|
protected override string CACHE_KEY
|
|
{
|
|
get
|
|
{
|
|
return "ProjectAccess";
|
|
}
|
|
}
|
|
|
|
protected override void SetValuesToCache()
|
|
{
|
|
using (EnVisageEntities context = new EnVisageEntities())
|
|
{
|
|
var value = context.ProjectAccesses.AsNoTracking().
|
|
Select(p => new UserProjectAccess
|
|
{
|
|
PrincipalId = p.PrincipalId,
|
|
ProjectId = p.ProjectId,
|
|
Read = p.Read,
|
|
Write = p.Write
|
|
}).ToList();
|
|
CacheManager.Instance.AddToCache(CACHE_KEY, value);
|
|
}
|
|
}
|
|
}
|
|
} |