EnVisageOnline/Beta/Source/EnVisage/Code/Cache/ProjectAccessCache.cs

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);
}
}
}
}