Improve HtmlText module performance

This commit is contained in:
Shaun Walker
2019-08-16 09:49:26 -04:00
parent 9cda80f7e9
commit 0c57813bf8
9 changed files with 128 additions and 38 deletions

View File

@ -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);