Improve HtmlText module performance
This commit is contained in:
		| @ -6,6 +6,22 @@ namespace Oqtane.Services | ||||
| { | ||||
|     public interface ISettingService | ||||
|     { | ||||
|         Task<List<Setting>> GetHostSettingsAsync(); | ||||
|  | ||||
|         Task<Setting> UpdateHostSettingsAsync(List<Setting> HostSettings, string SettingName, string SettingValue); | ||||
|  | ||||
|         Task<List<Setting>> GetSiteSettingsAsync(int SiteId); | ||||
|  | ||||
|         Task<Setting> UpdateSiteSettingsAsync(List<Setting> SiteSettings, int SiteId, string SettingName, string SettingValue); | ||||
|  | ||||
|         Task<List<Setting>> GetPageSettingsAsync(int PageId); | ||||
|  | ||||
|         Task<Setting> UpdatePageSettingsAsync(List<Setting> PageSettings, int PageId, string SettingName, string SettingValue); | ||||
|  | ||||
|         Task<List<Setting>> GetPageModuleSettingsAsync(int PageModuleId); | ||||
|  | ||||
|         Task<Setting> UpdatePageModuleSettingsAsync(List<Setting> PageModuleSettings, int PageModuleId, string SettingName, string SettingValue); | ||||
|  | ||||
|         Task<List<Setting>> GetModuleSettingsAsync(int ModuleId); | ||||
|  | ||||
|         Task<Setting> UpdateModuleSettingsAsync(List<Setting> ModuleSettings, int ModuleId, string SettingName, string SettingValue); | ||||
|  | ||||
| @ -5,7 +5,6 @@ using System.Linq; | ||||
| using Microsoft.AspNetCore.Components; | ||||
| using System.Collections.Generic; | ||||
| using Oqtane.Shared; | ||||
| using System; | ||||
|  | ||||
| namespace Oqtane.Services | ||||
| { | ||||
| @ -27,6 +26,106 @@ namespace Oqtane.Services | ||||
|             get { return CreateApiUrl(sitestate.Alias, urihelper.GetAbsoluteUri(), "Setting"); } | ||||
|         } | ||||
|  | ||||
|         public async Task<List<Setting>> GetHostSettingsAsync() | ||||
|         { | ||||
|             return await GetSettingsAsync("Host", -1); | ||||
|         } | ||||
|  | ||||
|         public async Task<Setting> UpdateHostSettingsAsync(List<Setting> HostSettings, string SettingName, string SettingValue) | ||||
|         { | ||||
|             Setting setting = HostSettings.Where(item => item.SettingName == SettingName).FirstOrDefault(); | ||||
|             if (setting == null) | ||||
|             { | ||||
|                 setting = new Setting(); | ||||
|                 setting.EntityName = "Host"; | ||||
|                 setting.EntityId = -1; | ||||
|                 setting.SettingName = SettingName; | ||||
|                 setting.SettingValue = SettingValue; | ||||
|                 setting = await AddSettingAsync(setting); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 setting.SettingValue = SettingValue; | ||||
|                 setting = await UpdateSettingAsync(setting); | ||||
|             } | ||||
|             return setting; | ||||
|         } | ||||
|  | ||||
|         public async Task<List<Setting>> GetSiteSettingsAsync(int SiteId) | ||||
|         { | ||||
|             return await GetSettingsAsync("Site", SiteId); | ||||
|         } | ||||
|  | ||||
|         public async Task<Setting> UpdateSiteSettingsAsync(List<Setting> SiteSettings, int SiteId, string SettingName, string SettingValue) | ||||
|         { | ||||
|             Setting setting = SiteSettings.Where(item => item.SettingName == SettingName).FirstOrDefault(); | ||||
|             if (setting == null) | ||||
|             { | ||||
|                 setting = new Setting(); | ||||
|                 setting.EntityName = "Site"; | ||||
|                 setting.EntityId = SiteId; | ||||
|                 setting.SettingName = SettingName; | ||||
|                 setting.SettingValue = SettingValue; | ||||
|                 setting = await AddSettingAsync(setting); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 setting.SettingValue = SettingValue; | ||||
|                 setting = await UpdateSettingAsync(setting); | ||||
|             } | ||||
|             return setting; | ||||
|         } | ||||
|  | ||||
|         public async Task<List<Setting>> GetPageSettingsAsync(int PageId) | ||||
|         { | ||||
|             return await GetSettingsAsync("Page", PageId); | ||||
|         } | ||||
|  | ||||
|         public async Task<Setting> UpdatePageSettingsAsync(List<Setting> PageSettings, int PageId, string SettingName, string SettingValue) | ||||
|         { | ||||
|             Setting setting = PageSettings.Where(item => item.SettingName == SettingName).FirstOrDefault(); | ||||
|             if (setting == null) | ||||
|             { | ||||
|                 setting = new Setting(); | ||||
|                 setting.EntityName = "Page"; | ||||
|                 setting.EntityId = PageId; | ||||
|                 setting.SettingName = SettingName; | ||||
|                 setting.SettingValue = SettingValue; | ||||
|                 setting = await AddSettingAsync(setting); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 setting.SettingValue = SettingValue; | ||||
|                 setting = await UpdateSettingAsync(setting); | ||||
|             } | ||||
|             return setting; | ||||
|         } | ||||
|  | ||||
|         public async Task<List<Setting>> GetPageModuleSettingsAsync(int PageModuleId) | ||||
|         { | ||||
|             return await GetSettingsAsync("PageModule", PageModuleId); | ||||
|         } | ||||
|  | ||||
|         public async Task<Setting> UpdatePageModuleSettingsAsync(List<Setting> PageModuleSettings, int PageModuleId, string SettingName, string SettingValue) | ||||
|         { | ||||
|             Setting setting = PageModuleSettings.Where(item => item.SettingName == SettingName).FirstOrDefault(); | ||||
|             if (setting == null) | ||||
|             { | ||||
|                 setting = new Setting(); | ||||
|                 setting.EntityName = "PageModule"; | ||||
|                 setting.EntityId = PageModuleId; | ||||
|                 setting.SettingName = SettingName; | ||||
|                 setting.SettingValue = SettingValue; | ||||
|                 setting = await AddSettingAsync(setting); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 setting.SettingValue = SettingValue; | ||||
|                 setting = await UpdateSettingAsync(setting); | ||||
|             } | ||||
|             return setting; | ||||
|         } | ||||
|  | ||||
|         public async Task<List<Setting>> GetModuleSettingsAsync(int ModuleId) | ||||
|         { | ||||
|             return await GetSettingsAsync("Module", ModuleId); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Shaun Walker
					Shaun Walker