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;
 }
Exemple #3
0
 public void LoadCache(ICachePersistence persistence)
 {
     cachedAccount.CachedMails = cachedAccount.CachedMails.Union(persistence.GetPersistentCache(identifier)?.CachedMails).ToList();
 }
Exemple #4
0
 public void SaveCache(ICachePersistence persistence)
 {
     persistence.SavePersistence(cachedAccount);
 }