@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() { var jobId = -1; if (PageState.QueryString.ContainsKey("id")) { jobId = int.Parse(PageState.QueryString["id"]); } _jobLogs = await JobLogService.GetJobLogsAsync(jobId); } 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(); } }