using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Threading.Tasks; using Oqtane.Services; using Oqtane.Shared; namespace AdamGais.Module.AnmeldeTool.Services { public class AnmeldeToolService : ServiceBase, IAnmeldeToolService { public AnmeldeToolService(HttpClient http, SiteState siteState) : base(http, siteState) { } private string Apiurl => CreateApiUrl("AnmeldeTool"); public async Task> GetAnmeldeToolsAsync(int ModuleId) { List AnmeldeTools = await GetJsonAsync>(CreateAuthorizationPolicyUrl($"{Apiurl}?moduleid={ModuleId}", EntityNames.Module, ModuleId), Enumerable.Empty().ToList()); return AnmeldeTools.OrderBy(item => item.Name).ToList(); } public async Task GetAnmeldeToolAsync(int AnmeldeToolId, int ModuleId) { return await GetJsonAsync(CreateAuthorizationPolicyUrl($"{Apiurl}/{AnmeldeToolId}/{ModuleId}", EntityNames.Module, ModuleId)); } public async Task AddAnmeldeToolAsync(Models.AnmeldeTool AnmeldeTool) { return await PostJsonAsync(CreateAuthorizationPolicyUrl($"{Apiurl}", EntityNames.Module, AnmeldeTool.ModuleId), AnmeldeTool); } public async Task UpdateAnmeldeToolAsync(Models.AnmeldeTool AnmeldeTool) { return await PutJsonAsync(CreateAuthorizationPolicyUrl($"{Apiurl}/{AnmeldeTool.AnmeldeToolId}", EntityNames.Module, AnmeldeTool.ModuleId), AnmeldeTool); } public async Task DeleteAnmeldeToolAsync(int AnmeldeToolId, int ModuleId) { await DeleteAsync(CreateAuthorizationPolicyUrl($"{Apiurl}/{AnmeldeToolId}/{ModuleId}", EntityNames.Module, ModuleId)); } } }