aktueller Stand

This commit is contained in:
Meik
2026-02-05 13:49:54 +01:00
parent 7ba20b3aa6
commit 825ddf05d4
29 changed files with 60439 additions and 58884 deletions

View File

@@ -27,6 +27,8 @@ namespace C4IT.FASD.Cockpit.Communication
private readonly Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable> MockupPickup = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>();
private readonly Dictionary<string, string> CategoryNameLookup = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
#region Ticketübersicht
private readonly Dictionary<string, Dictionary<string, List<TicketOverviewRelationDefinition>>> TicketOverviewRelations =
@@ -41,16 +43,17 @@ namespace C4IT.FASD.Cockpit.Communication
if (LoadMockupData(out var loadedData))
MockupData = loadedData;
MockupPickup = LoadMockupPickup();
LoadTicketOverviewRelations();
LoadGeneratedTickets();
}
MockupPickup = LoadMockupPickup();
BuildCategoryLookup();
LoadTicketOverviewRelations();
LoadGeneratedTickets();
}
public override bool IsDemo() => true;
private Dictionary<Guid, cFasdApiSearchResultCollection> SearchCache = new Dictionary<Guid, cFasdApiSearchResultCollection>();
private Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable> LoadMockupPickup()
private Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable> LoadMockupPickup()
{
var CM = MethodBase.GetCurrentMethod();
LogMethodBegin(CM);
@@ -99,6 +102,50 @@ namespace C4IT.FASD.Cockpit.Communication
return null;
}
private void BuildCategoryLookup()
{
CategoryNameLookup.Clear();
if (MockupPickup == null || !MockupPickup.TryGetValue("M42Wpm-Ticket-Categories", out var table))
return;
if (table?.Columns == null)
return;
if (!table.Columns.TryGetValue("id", out var idColumn))
return;
if (!table.Columns.TryGetValue("Name", out var nameColumn))
return;
for (int i = 0; i < idColumn.Values.Count; i++)
{
var id = idColumn.Values[i]?.ToString();
if (string.IsNullOrWhiteSpace(id))
continue;
var name = i < nameColumn.Values.Count ? nameColumn.Values[i]?.ToString() : null;
if (string.IsNullOrWhiteSpace(name))
continue;
CategoryNameLookup[id] = name;
}
}
private string ResolveCategoryDisplayName(string categoryIdOrName)
{
if (string.IsNullOrWhiteSpace(categoryIdOrName))
return categoryIdOrName;
if (!Guid.TryParse(categoryIdOrName, out _))
return categoryIdOrName;
if (CategoryNameLookup.TryGetValue(categoryIdOrName, out var name))
return name;
return categoryIdOrName;
}
#region Ticketübersicht
private void LoadTicketOverviewRelations()
@@ -905,10 +952,21 @@ namespace C4IT.FASD.Cockpit.Communication
{
await Task.Delay(250);
var selectedData = MockupData.FirstOrDefault(data => requestData.Identities.Any(identity => identity.Id == data.SampleDataId));
if (selectedData is null)
return output;
var selectedData = MockupData.FirstOrDefault(data => requestData.Identities.Any(identity => identity.Id == data.SampleDataId));
if (selectedData is null)
{
var ticketIdentity = requestData.Identities?
.FirstOrDefault(identity => identity.Class is enumFasdInformationClass.Ticket);
if (ticketIdentity != null)
{
selectedData = MockupData.FirstOrDefault(data =>
data?.Tickets != null && data.Tickets.Any(ticket => ticket?.Id == ticketIdentity.Id));
}
}
if (selectedData is null)
return output;
output = selectedData.GetHealthCardData();
var ticketRequest = requestData.Identities.FirstOrDefault(data => data.Class is enumFasdInformationClass.Ticket);
@@ -950,14 +1008,15 @@ namespace C4IT.FASD.Cockpit.Communication
["AffectedUser"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.AffectedUser } },
["AssetName"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.Asset } },
["CreationDaysSinceNow"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.CreationDaysSinceNow } },
["CreationDate"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.CreationDate.ToUniversalTime() } },
["ClosingDaysSinceNow"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.ClosingDaysSinceNow } },
["ClosingDate"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.ClosingDate } },
["Category"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.Category } },
["CreationSource"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.CreationSource.ToString() } },
["Description"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.Description?.ToString() } },
["DescriptionHtml"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.DescriptionHtml?.ToString() } },
["Summary"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.Summary.ToString() } },
["CreationDate"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.CreationDate.ToUniversalTime() } },
["ClosingDaysSinceNow"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.ClosingDaysSinceNow } },
["ClosingDate"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.ClosingDate } },
["Category"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { ResolveCategoryDisplayName(selectedTicket.Category) } },
["CategoryId"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.Category } },
["CreationSource"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.CreationSource.ToString() } },
["Description"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.Description?.ToString() } },
["DescriptionHtml"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.DescriptionHtml?.ToString() } },
["Summary"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.Summary.ToString() } },
["Solution"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.Solution?.ToString() } },
["SolutionHtml"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.SolutionHtml?.ToString() } },
};