public async Task Restore(Repositories.IBaseRepository <T> _templates) { var templates = await _templates.Get(); foreach (var item in templates) { await _redisStore.Set(item.Id.ToCacheKey(""), item, null); } }
public async Task <T> Get(Repositories.IBaseRepository <T> _templates, string key) { string[] keys = key.Split('_'); var template = await _redisStore.Get <T>(key); if (template == null) { var item = await _templates.Get(keys[0]); if (item.Version != keys[1] && !string.IsNullOrWhiteSpace(keys[1])) { item.TemplateBody = item.Versions.FirstOrDefault(x => x.VersionNumber == keys[1]).TemplateBody; } return(item); } return(template); }