@namespace Oqtane.Modules.Admin.Jobs @inherits ModuleBase @inject IJobLogService JobLogService @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer @if (_jobLogs == null) {

@SharedLocalizer["Loading"]

} else {

@SharedLocalizer["Name"] @SharedLocalizer["Status"] @Localizer["Started"] @Localizer["Finished"]
@context.Job.Name @DisplayStatus(context.Job.IsExecuting, context.Succeeded) @context.StartDate @context.FinishDate @((MarkupString)context.Notes)
} @code { private List _jobLogs; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; protected override async Task OnParametersSetAsync() { await GetJobLogs(); } private async Task GetJobLogs() { _jobLogs = await JobLogService.GetJobLogsAsync(); if (PageState.QueryString.ContainsKey("id")) { _jobLogs = _jobLogs.Where(item => item.JobId == Int32.Parse(PageState.QueryString["id"])).ToList(); } _jobLogs = _jobLogs.OrderByDescending(item => item.JobLogId).ToList(); } private string DisplayStatus(bool isExecuting, bool? succeeded) { var status = string.Empty; if (isExecuting) { status = Localizer["Executing"]; } else { if (succeeded != null && succeeded.Value) { status = Localizer["Succeeded"]; } else { status = Localizer["Failed"]; } } return status; } private async Task Refresh() { ShowProgressIndicator(); await GetJobLogs(); HideProgressIndicator(); } }