@page "/portal/rapporter/support" @attribute [Authorize] @using SQLInsight.Hub.Support @inject PortalQueries Queries Supportrapport · SQLInsight Hub @if (_report is null) { return; }

Supportrapport

Sager oprettet og lukket i perioden, åbne sager nu og hvor hurtigt sagerne blev løst. Løsningstid er tiden fra oprettelse til lukning for sager lukket i perioden. Tider er UTC.

Hent CSV
@_report.Total.Createdoprettet
@_report.Total.Closedlukket
@_report.Total.OpenNowåbne nu
@SupportReport.Duration(_report.Total.MedianResolution)median løsningstid
@SupportReport.Duration(_report.Total.AverageResolution)gennemsnitlig løsningstid

Pr. kunde

@if (_report.Customers.Count == 0) {

Ingen sager i perioden.

} else { @foreach (var c in _report.Customers.Append(_report.Total)) { }
KundeOprettetLukketÅbne nu GennemsnitMedianÆldste åbneOprettet af kunden
@if (c.CustomerId is { } id) { @c.Customer } else { @c.Customer } @c.Created @c.Closed @c.OpenNow @SupportReport.Duration(c.AverageResolution) @SupportReport.Duration(c.MedianResolution) @SupportReport.Duration(c.OldestOpenAge) @(c.CustomerCreatedShare is { } share ? share.ToString("P0", Danish) : "–")
}

Sager i perioden

@if (_report.Cases.Count == 0) {

Ingen.

} else { @foreach (var c in _report.Cases) { }
SagKundeTitelKildeOprettetLukketLøsningstid
@c.Reference @c.Customer @c.Title @(c.Source == SQLInsight.Contracts.SupportCaseSources.Customer ? "Kunde" : "SEOSoft") @c.CreatedAt.ToString("yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture) @c.ClosedAt?.ToString("yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture) @(c.ClosedAt is null ? "åben" : SupportReport.Duration(c.ResolutionTime))
}
@code { private static readonly CultureInfo Danish = CultureInfo.GetCultureInfo("da-DK"); [SupplyParameterFromQuery] public DateTime? Fra { get; set; } [SupplyParameterFromQuery] public DateTime? Til { get; set; } [SupplyParameterFromQuery] public int? Kunde { get; set; } private SupportReportResult? _report; private IReadOnlyList<(int Id, string Name)> _customers = []; private string CsvUrl => $"/portal/actions/reports/support.csv?fra={_report!.From:yyyy-MM-dd}&til={_report.To.AddDays(-1):yyyy-MM-dd}{(Kunde is { } k ? $"&kunde={k}" : "")}"; protected override async Task OnInitializedAsync() { var (from, to) = SupportReportPeriod.Resolve(Fra, Til, Queries.Now); _report = await Queries.SupportReportAsync(from, to, Kunde); _customers = await Queries.CustomerNamesAsync(); } }