Separate ticket overview capabilities from counts

This commit is contained in:
Meik
2026-07-20 09:34:40 +02:00
parent bed1de3e07
commit af679472db
4 changed files with 56 additions and 22 deletions

View File

@@ -393,8 +393,7 @@ namespace C4IT.F4SD
"ServiceRequestsCritical",
"ServiceRequestsNewInfo",
"UnassignedTickets",
"UnassignedTicketsCritical",
"TicketAndServiceRequestsEnabled"
"UnassignedTicketsCritical"
};
public class cF4SDTicket : cF4SDTicketSummary
@@ -453,10 +452,19 @@ namespace C4IT.F4SD
}
public class TicketOverviewCapabilities
{
[JsonProperty("ticketAndServiceRequestsEnabled")]
public bool TicketAndServiceRequestsEnabled { get; set; } = true;
}
public class TicketOverviewCountsResult
{
[JsonProperty("counts")]
public Dictionary<string, int> Counts { get; set; } = new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
[JsonProperty("capabilities")]
public TicketOverviewCapabilities Capabilities { get; set; } = new TicketOverviewCapabilities();
}
public class TicketOverviewCountsByRoleResult
@@ -545,7 +553,7 @@ namespace C4IT.F4SD
}
}
return new TicketOverviewCountsResult { Counts = counts };
return CreateTicketOverviewCountsResult(counts);
}
catch (Exception E)
{
@@ -601,7 +609,7 @@ namespace C4IT.F4SD
}
}
return new TicketOverviewCountsResult { Counts = counts };
return CreateTicketOverviewCountsResult(counts);
}
catch (Exception E)
{
@@ -1424,13 +1432,22 @@ namespace C4IT.F4SD
private static int CountTicketOverviewEntries(IEnumerable<TicketOverviewEntry> entries, string key)
{
if (string.Equals(key?.Trim(), "TicketAndServiceRequestsEnabled", StringComparison.OrdinalIgnoreCase))
return ticketAndServiceRequestEnabled() ? 1 : 0;
return (entries ?? Enumerable.Empty<TicketOverviewEntry>())
.Count(entry => MatchesTicketOverviewKey(entry, key));
}
private static TicketOverviewCountsResult CreateTicketOverviewCountsResult(Dictionary<string, int> counts)
{
return new TicketOverviewCountsResult
{
Counts = counts ?? new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase),
Capabilities = new TicketOverviewCapabilities
{
TicketAndServiceRequestsEnabled = ticketAndServiceRequestEnabled()
}
};
}
private static bool GetBoolValue(object value)
{
if (value == null || value is DBNull)