@page "/scheduling/history" @using CredentialManager.Models @using CredentialManager.Services Storico Esecuzioni

Storico Esecuzioni Schedulazioni

Torna alle Schedulazioni
@if (executionHistory == null) {
Caricamento...
} else if (!executionHistory.Any()) {
Nessuna esecuzione trovata nello storico.
} else {
Statistiche
@executionHistory.Count(e => e.Status == "success")
Successo
@executionHistory.Count(e => e.Status == "failed")
Fallite
@executionHistory.Count(e => e.Status == "running")
In corso
Record Processati
@executionHistory.Where(e => e.Status == "success").Sum(e => e.RecordsProcessed)
Totale record elaborati con successo
@foreach (var execution in executionHistory.OrderByDescending(e => e.StartTime)) { }
Data/Ora Inizio Profilo Schedulazione Durata Status Record Trigger Azioni
@execution.StartTime.ToString("dd/MM/yyyy HH:mm:ss")
@if (execution.EndTime.HasValue) { Fine: @execution.EndTime.Value.ToString("HH:mm:ss") }
@execution.ProfileName
@if (!string.IsNullOrEmpty(execution.SourceInfo) || !string.IsNullOrEmpty(execution.DestinationInfo)) { @if (!string.IsNullOrEmpty(execution.SourceInfo)) {
S: @execution.SourceInfo
} @if (!string.IsNullOrEmpty(execution.DestinationInfo)) {
D: @execution.DestinationInfo
}
}
@execution.Schedule?.Name
ID: @execution.ScheduleId
@if (execution.Duration.HasValue) { @FormatDuration(execution.Duration.Value) } else if (execution.Status == "running") { In corso... } else { - } "success", "failed" => "danger", "running" => "primary", "cancelled" => "warning", _ => "secondary" })"> @execution.GetStatusDisplayText()
@execution.RecordsProcessed
@if (execution.RecordsWithErrors.HasValue && execution.RecordsWithErrors.Value > 0) { @execution.RecordsWithErrors errori }
@execution.TriggerType.ToUpper()
@if (!string.IsNullOrEmpty(execution.TriggeredBy)) { @execution.TriggeredBy }
}