public CachedQuotaService(DbQuotaService service, QuotaServiceCache quotaServiceCache) : this() { Service = service ?? throw new ArgumentNullException("service"); QuotaServiceCache = quotaServiceCache; Cache = quotaServiceCache.Cache; CacheNotify = quotaServiceCache.CacheNotify; }
private void Sync(object _) { try { var tenant = CoreContext.TenantManager.GetTenants().OrderByDescending(t => t.Version).FirstOrDefault(); if (tenant != null) { using (var wcfClient = new TariffSyncClient()) { var quotaService = new DbQuotaService(ConfigurationManager.ConnectionStrings[config.ConnectionStringName]); var oldtariffs = quotaService.GetTenantQuotas().ToDictionary(t => t.Id); // save new foreach (var tariff in wcfClient.GetTariffs(tenant.Version, CoreContext.Configuration.GetKey(tenant.TenantId))) { quotaService.SaveTenantQuota(tariff); oldtariffs.Remove(tariff.Id); } // remove old foreach (var tariff in oldtariffs.Values) { tariff.Visible = false; quotaService.SaveTenantQuota(tariff); } } } } catch (Exception error) { log.Error(error); } }
public TariffSync(TenantManager tenantManager, DbRegistry dbRegistry, CoreSettings coreSettings, DbQuotaService dbQuotaService) { TenantManager = tenantManager; DbRegistry = dbRegistry; CoreSettings = coreSettings; DbQuotaService = dbQuotaService; }
public CachedQuotaService(DbQuotaService service, QuotaServiceCache quotaServiceCache) { this.service = service ?? throw new ArgumentNullException("service"); QuotaServiceCache = quotaServiceCache; cache = quotaServiceCache.Cache; interval = new TrustInterval(); CacheExpiration = TimeSpan.FromMinutes(10); cacheNotify = quotaServiceCache.CacheNotify; }
public TariffSyncService( IServiceProvider serviceProvider, IConfiguration configuration, DbQuotaService dbQuotaService, IOptionsMonitor <ILog> options) { config = TariffSyncServiceSection.GetSection(); ServiceProvider = serviceProvider; Configuration = configuration; DbQuotaService = dbQuotaService; log = options.CurrentValue; }
// server part of service public IEnumerable <TenantQuota> GetTariffs(int version, string key) { lock (quotaServices) { if (!quotaServices.ContainsKey(version)) { var cs = ConfigurationManager.ConnectionStrings[config.ConnectionStringName + version] ?? ConfigurationManager.ConnectionStrings[config.ConnectionStringName]; quotaServices[version] = new DbQuotaService(cs).GetTenantQuotas(); } return(quotaServices[version]); } }
// server part of service public IEnumerable <TenantQuota> GetTariffs(int version, string key) { lock (quotaServices) { if (!quotaServices.ContainsKey(version)) { var cs = Configuration.GetConnectionStrings(config.ConnectionStringName + version) ?? Configuration.GetConnectionStrings(config.ConnectionStringName); quotaServices[version] = DbQuotaService.GetTenantQuotas(); } return(quotaServices[version]); } }