/// <inheritdoc cref="IParameterManager.GetSiteConfigurationAsync"/> public async Task <SiteConfigurationInfo> GetSiteConfigurationAsync() { if (!_cacheEngine.GetCacheObject(SiteConfiguration.SiteConfigCacheKey, out SiteConfigurationInfo siteConfig)) { siteConfig = _cacheEngine.SetCacheObject(SiteConfiguration.SiteConfigCacheKey, await LoadSiteConfigurationAsync()); if (siteConfig is not null && siteConfig.CacheActivated) { _cacheEngine.EnableCache(); } else { _cacheEngine.DisableCache(); } }
public IActionResult Update([FromBody] SiteConfigurationModel model) { SiteConfigurationInfo conf = new SiteConfigurationInfo(); conf.Title = model.Title; conf.Description = model.Description; conf.HostUrl = model.HostUrl; conf.CacheActivated = model.CacheActivated; conf.SmtpHost = model.SmtpHost; conf.SmtpPort = int.Parse(model.SmtpPort); conf.SmtpCredentialsUser = model.SmtpCredentialsUser; conf.SmtpCredentialsPassword = model.SmtpCredentialsPassword; conf.SmtpEnableSsl = model.SmtpEnableSsl; conf.EmailSender = model.EmailSender; conf.RequireConfirmedEmail = model.RequireConfirmedEmail; conf.Theme = model.Theme; conf.CookieUsePolicyUrl = model.CookieUsePolicyUrl; conf.ConsentNotice = model.ConsentNotice; conf.CheckConsentNeeded = model.CheckConsentNeeded; // Cache if (model.CacheActivated) { _cacheEngine.EnableCache(); _cacheEngine.ClearSiteConfig(); } else { _cacheEngine.DisableCache(); } _parameterManager.SaveSiteConfiguration(conf); _cacheEngine.ClearAllCache(); return(Ok()); }