private static string GenerateClassificationJson(GeneralConfigItem config, string cacheFilename) { var mailsync = new MailSync(config.Host, config.Port, config.Username, config.Password, config.MailBox, config.Assignments.Select(t => t.ConvertBack()).ToList()); ICachePersistence cache = null; if (cacheFilename != null) { cache = new JsonCachePersistence(cacheFilename); mailsync.CacheService.LoadCache(cache); } var assignments = (from ass in mailsync.Assignments select new AssignmentUpdateItemDto() { Name = ass.Name, Items = (from u in mailsync.Classify(ass) select u.SerializeJson()).ToList() }).ToList(); if (cacheFilename != null) { mailsync.CacheService.SaveCache(cache); } return(JsonConvert.SerializeObject(assignments)); }
public AccessTokenClient(IConfiguration configuration, ICachePersistence cachepersistence) { appConfiguration = configuration; cachePersistence = cachepersistence; }
public void LoadCache(ICachePersistence persistence) { cachedAccount.CachedMails = cachedAccount.CachedMails.Union(persistence.GetPersistentCache(identifier)?.CachedMails).ToList(); }
public void SaveCache(ICachePersistence persistence) { persistence.SavePersistence(cachedAccount); }