public TenantQuota SaveTenantQuota(TenantQuota quota) { quota = service.SaveTenantQuota(quota); var store = GetTenantQuotasInernal(); store[quota.Id] = quota; return(quota); }
public TenantQuota SaveTenantQuota(TenantQuota quota) { var q = service.SaveTenantQuota(quota); cacheNotify.Publish(new QuotaCacheItem { Key = QuotaServiceCache.KEY_QUOTA }, CacheNotifyAction.Any); return(q); }
public TenantQuota SaveTenantQuota(TenantQuota quota) { if (!CoreContext.Configuration.Standalone) { throw new NotImplementedException(); } quota = quotaService.SaveTenantQuota(quota); return(quota); }
public TenantQuota SaveTenantQuota(TenantQuota quota) { quota = quotaService.SaveTenantQuota(quota); return(quota); }
private Tariff CalculateTariff(int tenantId, Tariff tariff) { tariff.State = TariffState.Paid; var q = quotaService.GetTenantQuota(tariff.QuotaId); if (q == null || q.GetFeature("old")) { tariff.QuotaId = Tenant.DEFAULT_TENANT; q = quotaService.GetTenantQuota(tariff.QuotaId); } var delay = 0; if (q != null && q.Trial) { tariff.State = TariffState.Trial; if (tariff.DueDate == DateTime.MinValue || tariff.DueDate == DateTime.MaxValue) { var tenant = tenantService.GetTenant(tenantId); if (tenant != null) { var fromDate = tenant.CreatedDateTime < tenant.VersionChanged ? tenant.VersionChanged : tenant.CreatedDateTime; var trialPeriod = GetPeriod("TrialPeriod", DEFAULT_TRIAL_PERIOD); if (fromDate == DateTime.MinValue) { fromDate = DateTime.UtcNow.Date; } tariff.DueDate = trialPeriod != default ? fromDate.Date.AddDays(trialPeriod) : DateTime.MaxValue; } else { tariff.DueDate = DateTime.MaxValue; } } } else { delay = paymentDelay; } if (tariff.DueDate != DateTime.MinValue && tariff.DueDate.Date < DateTime.Today && delay > 0) { tariff.State = TariffState.Delay; tariff.DelayDueDate = tariff.DueDate.Date.AddDays(delay); } if (tariff.DueDate == DateTime.MinValue || tariff.DueDate != DateTime.MaxValue && tariff.DueDate.Date.AddDays(delay) < DateTime.Today) { tariff.State = TariffState.NotPaid; if ((q == null || !q.Trial) && config.Standalone) { if (q != null) { var defaultQuota = quotaService.GetTenantQuota(Tenant.DEFAULT_TENANT); if (defaultQuota.CountPortals != q.CountPortals) { defaultQuota.CountPortals = q.CountPortals; quotaService.SaveTenantQuota(defaultQuota); } } var unlimTariff = Tariff.CreateDefault(); unlimTariff.LicenseDate = tariff.DueDate; tariff = unlimTariff; } } tariff.Prolongable = tariff.DueDate == DateTime.MinValue || tariff.DueDate == DateTime.MaxValue || tariff.State == TariffState.Trial || new DateTime(tariff.DueDate.Year, tariff.DueDate.Month, 1) <= new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, 1).AddMonths(1); return(tariff); }