public virtual void DeleteList(List <T> entities) { foreach (T entity in entities) { GenericList.Remove(entity); } memoryCache.Set(GenericType.ToString(), GenericList); }
public BaseMemoryRepository(IMemoryCache memoryCache) { this.memoryCache = memoryCache; GenericType = typeof(T); GenericList = memoryCache.GetOrCreate(GenericType.ToString(), entry => { return(new List <T>()); }); }
public SkillMemoryRepository(IMemoryCache memoryCache) : base(memoryCache) { this.memoryCache = memoryCache; SkillType = typeof(Skill); SkillList = memoryCache.GetOrCreate(GenericType.ToString(), entry => { return(new List <Skill>()); }); }
public virtual void Save(T entity) { int id = (int)entity.GetType().GetProperty("Id").GetValue(entity); if (id != 0) { T old = GenericList.Where(t => (int)t.GetType().GetProperty("Id").GetValue(t) == id).Single(); GenericList.Remove(old); } else { foreach (var property in entity.GetType().GetProperties()) { if (property.Name.EndsWith("Id")) { entity.GetType().GetProperty(property.Name).SetValue(entity, GenericList.Count + 1); } } } GenericList.Add(entity); memoryCache.Set(GenericType.ToString(), GenericList); }
public sealed override string ToString() { string s = GenericType.ToString(); s += "["; string sep = ""; foreach (TypeName genericTypeArgument in GenericArguments) { s += sep; sep = ","; AssemblyQualifiedTypeName assemblyQualifiedTypeArgument = genericTypeArgument as AssemblyQualifiedTypeName; if (assemblyQualifiedTypeArgument == null || assemblyQualifiedTypeArgument.AssemblyName == null) { s += genericTypeArgument.ToString(); } else { s += "[" + genericTypeArgument.ToString() + "]"; } } s += "]"; return(s); }
public virtual void AddRangeAndSave(List <T> entityList) { GenericList.AddRange(entityList); memoryCache.Set(GenericType.ToString(), GenericList); }
public virtual void Delete(T entity) { GenericList.Remove(entity); memoryCache.Set(GenericType.ToString(), GenericList); }