refactoring, enhancements, and some fixes
This commit is contained in:
		@ -1,5 +1,3 @@
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Net.Http;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Oqtane.Services;
 | 
			
		||||
@ -9,34 +7,35 @@ namespace Oqtane.Modules.HtmlText.Services
 | 
			
		||||
{
 | 
			
		||||
    public class HtmlTextService : ServiceBase, IHtmlTextService, IService
 | 
			
		||||
    {        
 | 
			
		||||
        private readonly SiteState _siteState;
 | 
			
		||||
        public HtmlTextService(HttpClient http, SiteState siteState) : base(http, siteState) {}
 | 
			
		||||
 | 
			
		||||
        public HtmlTextService(HttpClient http, SiteState siteState) : base(http)
 | 
			
		||||
        {
 | 
			
		||||
            _siteState = siteState;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private string ApiUrl => CreateApiUrl("HtmlText", _siteState.Alias);
 | 
			
		||||
        private string ApiUrl => CreateApiUrl("HtmlText");
 | 
			
		||||
 | 
			
		||||
        public async Task<Models.HtmlText> GetHtmlTextAsync(int moduleId)
 | 
			
		||||
        {
 | 
			
		||||
            var htmltext = await GetJsonAsync<List<Models.HtmlText>>(CreateAuthorizationPolicyUrl($"{ApiUrl}/{moduleId}", new Dictionary<string, int>() { { EntityNames.Module, moduleId } }));
 | 
			
		||||
            return htmltext.FirstOrDefault();
 | 
			
		||||
            AddAuthorizationPolicyHeader(EntityNames.Module, moduleId);
 | 
			
		||||
            return await GetJsonAsync<Models.HtmlText>($"{ApiUrl}/{moduleId}");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public async Task AddHtmlTextAsync(Models.HtmlText htmlText)
 | 
			
		||||
        {
 | 
			
		||||
            await PostJsonAsync(CreateAuthorizationPolicyUrl($"{ApiUrl}", new Dictionary<string, int>() { { EntityNames.Module, htmlText.ModuleId } }), htmlText);
 | 
			
		||||
            AddAntiForgeryToken();
 | 
			
		||||
            AddAuthorizationPolicyHeader(EntityNames.Module, htmlText.ModuleId);
 | 
			
		||||
            await PostJsonAsync($"{ApiUrl}", htmlText);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public async Task UpdateHtmlTextAsync(Models.HtmlText htmlText)
 | 
			
		||||
        {
 | 
			
		||||
            await PutJsonAsync(CreateAuthorizationPolicyUrl($"{ApiUrl}/{htmlText.HtmlTextId}", new Dictionary<string, int>() { { EntityNames.Module, htmlText.ModuleId } }), htmlText);
 | 
			
		||||
            AddAntiForgeryToken();
 | 
			
		||||
            AddAuthorizationPolicyHeader(EntityNames.Module, htmlText.ModuleId);
 | 
			
		||||
            await PutJsonAsync($"{ApiUrl}/{htmlText.HtmlTextId}", htmlText);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public async Task DeleteHtmlTextAsync(int moduleId)
 | 
			
		||||
        {
 | 
			
		||||
            await DeleteAsync(CreateAuthorizationPolicyUrl($"{ApiUrl}/{moduleId}", new Dictionary<string, int>() { { EntityNames.Module, moduleId } }));
 | 
			
		||||
            AddAntiForgeryToken();
 | 
			
		||||
            AddAuthorizationPolicyHeader(EntityNames.Module, moduleId);
 | 
			
		||||
            await DeleteAsync($"{ApiUrl}/{moduleId}");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user