aktueller Stand
This commit is contained in:
@@ -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() } },
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user