using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Threading.Tasks; using Oqtane.Services; using Oqtane.Shared; namespace [Owner].Module.[Module].Services { public class [Module]Service : ServiceBase, I[Module]Service { public [Module]Service(HttpClient http, SiteState siteState) : base(http, siteState) { } private string Apiurl => CreateApiUrl("[Module]"); public async Task> Get[Module]sAsync(int ModuleId) { List [Module]s = await GetJsonAsync>(CreateAuthorizationPolicyUrl($"{Apiurl}?moduleid={ModuleId}", EntityNames.Module, ModuleId), Enumerable.Empty().ToList()); return [Module]s.OrderBy(item => item.Name).ToList(); } public async Task Get[Module]Async(int [Module]Id, int ModuleId) { return await GetJsonAsync(CreateAuthorizationPolicyUrl($"{Apiurl}/{[Module]Id}/{ModuleId}", EntityNames.Module, ModuleId)); } public async Task Add[Module]Async(Models.[Module] [Module]) { return await PostJsonAsync(CreateAuthorizationPolicyUrl($"{Apiurl}", EntityNames.Module, [Module].ModuleId), [Module]); } public async Task Update[Module]Async(Models.[Module] [Module]) { return await PutJsonAsync(CreateAuthorizationPolicyUrl($"{Apiurl}/{[Module].[Module]Id}", EntityNames.Module, [Module].ModuleId), [Module]); } public async Task Delete[Module]Async(int [Module]Id, int ModuleId) { await DeleteAsync(CreateAuthorizationPolicyUrl($"{Apiurl}/{[Module]Id}/{ModuleId}", EntityNames.Module, ModuleId)); } } }