using Oqtane.Models; using System.Threading.Tasks; using System.Net.Http; using System.Linq; using Microsoft.AspNetCore.Components; using System.Collections.Generic; using Oqtane.Shared; namespace Oqtane.Services { public class JobLogService : ServiceBase, IJobLogService { private readonly HttpClient http; private readonly SiteState _siteState; private readonly NavigationManager _navigationManager; public JobLogService(HttpClient http, SiteState sitestate, NavigationManager NavigationManager) { http = http; _siteState = sitestate; _navigationManager = NavigationManager; } private string apiurl { get { return CreateApiUrl(_siteState.Alias, _navigationManager.Uri, "JobLog"); } } public async Task> GetJobLogsAsync() { List Joblogs = await http.GetJsonAsync>(apiurl); return Joblogs.OrderBy(item => item.StartDate).ToList(); } public async Task GetJobLogAsync(int JobLogId) { return await http.GetJsonAsync(apiurl + "/" + JobLogId.ToString()); } public async Task AddJobLogAsync(JobLog Joblog) { return await http.PostJsonAsync(apiurl, Joblog); } public async Task UpdateJobLogAsync(JobLog Joblog) { return await http.PutJsonAsync(apiurl + "/" + Joblog.JobLogId.ToString(), Joblog); } public async Task DeleteJobLogAsync(int JobLogId) { await http.DeleteAsync(apiurl + "/" + JobLogId.ToString()); } } }