aktueller Stand
This commit is contained in:
@@ -268,7 +268,41 @@ namespace C4IT.FASD.Cockpit.Communication
|
||||
return ticket;
|
||||
}
|
||||
|
||||
public override async Task<List<cF4sdApiSearchResultRelation>> GetTicketOverviewRelations(string key, bool useRoleScope, int count)
|
||||
public override Task<Dictionary<string, int>> GetTicketOverviewCounts(IEnumerable<string> keys, bool useRoleScope)
|
||||
{
|
||||
var scopeKey = useRoleScope ? "Role" : "Personal";
|
||||
var comparer = StringComparer.OrdinalIgnoreCase;
|
||||
var result = new Dictionary<string, int>(comparer);
|
||||
|
||||
var requestedKeys = keys == null
|
||||
? TicketOverviewRelations.Keys.ToList()
|
||||
: keys.Where(k => !string.IsNullOrWhiteSpace(k)).Distinct(comparer).ToList();
|
||||
|
||||
if (requestedKeys.Count == 0)
|
||||
requestedKeys.AddRange(TicketOverviewRelations.Keys);
|
||||
|
||||
foreach (var key in requestedKeys)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(key))
|
||||
continue;
|
||||
|
||||
if (TicketOverviewRelations.TryGetValue(key, out var scopeDictionary) &&
|
||||
scopeDictionary != null &&
|
||||
scopeDictionary.TryGetValue(scopeKey, out var definitions) &&
|
||||
definitions != null)
|
||||
{
|
||||
result[key] = definitions.Count;
|
||||
}
|
||||
else
|
||||
{
|
||||
result[key] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return Task.FromResult(result);
|
||||
}
|
||||
|
||||
public override async Task<List<cF4sdApiSearchResultRelation>> GetTicketOverviewRelations(string key, bool useRoleScope, int count)
|
||||
{
|
||||
var CM = MethodBase.GetCurrentMethod();
|
||||
LogMethodBegin(CM);
|
||||
@@ -821,14 +855,14 @@ namespace C4IT.FASD.Cockpit.Communication
|
||||
output.Add(new cF4sdApiSearchResultRelation() { id = Guid.NewGuid(), Name = "C4-CK007", DisplayName = "C4-CK007", LastUsed = DateTime.UtcNow, Type = enumF4sdSearchResultClass.Computer, UsingLevel = 1, Identities = new cF4sdIdentityList() { new cF4sdIdentityEntry() { Class = enumFasdInformationClass.User, Id = resultIds.First() }, new cF4sdIdentityEntry() { Class = enumFasdInformationClass.Computer, Id = Guid.NewGuid() } } });
|
||||
break;
|
||||
case constGuidTimoTicket:
|
||||
output.Add(new cF4sdApiSearchResultRelation() { id = Guid.Parse(constGuidTimoTicketComputer), Name = "C4-TT007", DisplayName = "C4-TT007", LastUsed = DateTime.UtcNow.AddSeconds(-31), Type = enumF4sdSearchResultClass.Computer, UsingLevel = 1, Identities = new cF4sdIdentityList() { new cF4sdIdentityEntry() { Class = enumFasdInformationClass.User, Id = Guid.Parse(constGuidTimoTicket) }, new cF4sdIdentityEntry() { Class = enumFasdInformationClass.Computer, Id = Guid.Parse(constGuidTimoTicketComputer) } } });
|
||||
output.Add(new cF4sdApiSearchResultRelation() { id = Guid.NewGuid(), Name = "C4-NB00015", DisplayName = "C4-NB00015", LastUsed = DateTime.UtcNow.AddHours(-10), Type = enumF4sdSearchResultClass.Computer, UsingLevel = 0.6, Identities = new cF4sdIdentityList() { new cF4sdIdentityEntry() { Class = enumFasdInformationClass.User, Id = Guid.Parse(constGuidTimoTicket) }, new cF4sdIdentityEntry() { Class = enumFasdInformationClass.Computer, Id = Guid.NewGuid() } } });
|
||||
output.Add(new cF4sdApiSearchResultRelation() { id = Guid.Parse(constGuidTimoTicketComputer), Name = "C4-TT007", DisplayName = "C4-TT007", LastUsed = DateTime.UtcNow.AddSeconds(-31), Type = enumF4sdSearchResultClass.Computer, UsingLevel = 1, Identities = new cF4sdIdentityList() { new cF4sdIdentityEntry() { Class = enumFasdInformationClass.User, Id = Guid.Parse(constGuidTimoTicket) }, new cF4sdIdentityEntry() { Class = enumFasdInformationClass.Computer, Id = Guid.Parse(constGuidTimoTicketComputer) } }, Infos = new Dictionary<string, string>() });
|
||||
output.Add(new cF4sdApiSearchResultRelation() { id = Guid.NewGuid(), Name = "C4-NB00015", DisplayName = "C4-NB00015", LastUsed = DateTime.UtcNow.AddHours(-10), Type = enumF4sdSearchResultClass.Computer, UsingLevel = 0.6, Identities = new cF4sdIdentityList() { new cF4sdIdentityEntry() { Class = enumFasdInformationClass.User, Id = Guid.Parse(constGuidTimoTicket) }, new cF4sdIdentityEntry() { Class = enumFasdInformationClass.Computer, Id = Guid.NewGuid() } }, Infos = new Dictionary<string, string>() });
|
||||
|
||||
var demoTickets = await GetDemoTicketData(new cF4sdHealthCardRawDataRequest() { Identities = new cF4sdIdentityList() { new cF4sdIdentityEntry() { Class = enumFasdInformationClass.User, Id = Guid.Parse(constGuidTimoTicket) }, new cF4sdIdentityEntry() { Class = enumFasdInformationClass.Computer, Id = Guid.NewGuid() } } });
|
||||
|
||||
foreach (var demoTicket in demoTickets)
|
||||
{
|
||||
output.Add(new cF4sdApiSearchResultRelation() { id = demoTicket.Id, Name = demoTicket.Name, DisplayName = demoTicket.Name, Infos = new Dictionary<string, string>() { ["Summary"] = demoTicket.Summary, ["StatusId"] = ((int)demoTicket.Status).ToString(), ["Asset"] = demoTicket.Asset }, Type = enumF4sdSearchResultClass.Ticket, Identities = new cF4sdIdentityList() { new cF4sdIdentityEntry() { Class = enumFasdInformationClass.User, Id = Guid.Parse(constGuidTimoTicket) }, new cF4sdIdentityEntry() { Class = enumFasdInformationClass.Ticket, Id = demoTicket.Id } } });
|
||||
output.Add(new cF4sdApiSearchResultRelation() { id = demoTicket.Id, Name = demoTicket.Name, DisplayName = demoTicket.Name, Infos = new Dictionary<string, string>() { ["Summary"] = demoTicket.Summary, ["Status"] = demoTicket.Status.ToString(), ["StatusId"] = ((int)demoTicket.Status).ToString(), ["Asset"] = demoTicket.Asset }, Type = enumF4sdSearchResultClass.Ticket, Identities = new cF4sdIdentityList() { new cF4sdIdentityEntry() { Class = enumFasdInformationClass.User, Id = Guid.Parse(constGuidTimoTicket) }, new cF4sdIdentityEntry() { Class = enumFasdInformationClass.Ticket, Id = demoTicket.Id } } });
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -855,6 +889,7 @@ namespace C4IT.FASD.Cockpit.Communication
|
||||
LogMethodBegin(CM);
|
||||
|
||||
var output = new cF4SDHealthCardRawData();
|
||||
cF4SDHealthCardRawData.cHealthCardTable outputTable;
|
||||
|
||||
try
|
||||
{
|
||||
@@ -890,47 +925,52 @@ namespace C4IT.FASD.Cockpit.Communication
|
||||
}
|
||||
|
||||
|
||||
output.Tables["M42Wpm-Tickets"] = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
outputTable = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
{
|
||||
Name = "M42Wpm-Tickets",
|
||||
InformationClass = enumFasdInformationClass.Ticket,
|
||||
IsStatic = true,
|
||||
Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>()
|
||||
{
|
||||
["name"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.Name } },
|
||||
["Status"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { ticketStatusString } },
|
||||
["Priority"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.Priority } },
|
||||
["AffectedUser"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.AffectedUser } },
|
||||
["AssetName"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.Asset } },
|
||||
["CreationDaysSinceNow"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.CreationDaysSinceNow } },
|
||||
["CreationDate"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.CreationDate.ToUniversalTime() } },
|
||||
["ClosingDaysSinceNow"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.ClosingDaysSinceNow } },
|
||||
["ClosingDate"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.ClosingDate } },
|
||||
["Category"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.Category } },
|
||||
["CreationSource"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.CreationSource.ToString() } },
|
||||
["Description"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.Description?.ToString() } },
|
||||
["DescriptionHtml"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.DescriptionHtml?.ToString() } },
|
||||
["Summary"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.Summary.ToString() } },
|
||||
["Solution"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.Solution?.ToString() } },
|
||||
["SolutionHtml"] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { Values = new List<object>() { selectedTicket.SolutionHtml?.ToString() } },
|
||||
}
|
||||
};
|
||||
|
||||
output.Tables["M42Wpm-Ticket-History"] = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
outputTable.Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>()
|
||||
{
|
||||
["name"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.Name } },
|
||||
["Status"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { ticketStatusString } },
|
||||
["Priority"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.Priority } },
|
||||
["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() } },
|
||||
["Solution"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.Solution?.ToString() } },
|
||||
["SolutionHtml"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { Values = new List<object>() { selectedTicket.SolutionHtml?.ToString() } },
|
||||
};
|
||||
|
||||
output.Tables["M42Wpm-Tickets"] = outputTable;
|
||||
|
||||
outputTable = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
{
|
||||
Name = "M42Wpm-Ticket-History",
|
||||
InformationClass = enumFasdInformationClass.Ticket,
|
||||
IsStatic = false,
|
||||
Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>()
|
||||
{
|
||||
["Header"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(),
|
||||
["IsVisibleForUser"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(),
|
||||
["CreationDaysSinceNow"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(),
|
||||
["time"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(),
|
||||
["Description"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(),
|
||||
["DescriptionHtml"] = new cF4SDHealthCardRawData.cHealthCardTableColumn()
|
||||
}
|
||||
IsStatic = false
|
||||
};
|
||||
outputTable.Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>()
|
||||
{
|
||||
["Header"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable),
|
||||
["IsVisibleForUser"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable),
|
||||
["CreationDaysSinceNow"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable),
|
||||
["time"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable),
|
||||
["Description"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable),
|
||||
["DescriptionHtml"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable)
|
||||
};
|
||||
|
||||
output.Tables["M42Wpm-Ticket-History"] = outputTable;
|
||||
|
||||
foreach (var journalItem in selectedTicket.JournalItems)
|
||||
{
|
||||
@@ -944,55 +984,63 @@ namespace C4IT.FASD.Cockpit.Communication
|
||||
|
||||
foreach (var directLink in selectedTicket.DirectLinks)
|
||||
{
|
||||
output.Tables["M42Wpm-Tickets"].Columns[directLink.Key] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = directLink.Key, IsIncomplete = false, Values = new List<object>() { directLink.Value } };
|
||||
outputTable = output.Tables["M42Wpm-Tickets"];
|
||||
if (outputTable?.Columns != null)
|
||||
outputTable.Columns[directLink.Key] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable) { ColumnName = directLink.Key, IsIncomplete = false, Values = new List<object>() { directLink.Value } };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
output.Tables.Add("sequenceTable", new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
outputTable = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
{
|
||||
IsIncomplete = true,
|
||||
IsStatic = false,
|
||||
StartingIndex = 7,
|
||||
Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>()
|
||||
StartingIndex = 7
|
||||
};
|
||||
outputTable.Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>()
|
||||
{
|
||||
["sequenceColumn"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable)
|
||||
{
|
||||
["sequenceColumn"] = new cF4SDHealthCardRawData.cHealthCardTableColumn()
|
||||
{
|
||||
ColumnName = "sequenceColumn",
|
||||
Values = new List<object>() { 1, 0 }
|
||||
}
|
||||
ColumnName = "sequenceColumn",
|
||||
Values = new List<object>() { 1, 0 }
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
output.Tables.Add("sequenceTable2", new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
output.Tables.Add("sequenceTable", outputTable);
|
||||
|
||||
outputTable = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
{
|
||||
IsIncomplete = true,
|
||||
IsStatic = false,
|
||||
StartingIndex = 7,
|
||||
Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>()
|
||||
StartingIndex = 7
|
||||
};
|
||||
outputTable.Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>()
|
||||
{
|
||||
["sequenceColumn"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable)
|
||||
{
|
||||
["sequenceColumn"] = new cF4SDHealthCardRawData.cHealthCardTableColumn()
|
||||
{
|
||||
ColumnName = "sequenceColumn",
|
||||
Values = new List<object>() { 8, 1, 0 }
|
||||
}
|
||||
ColumnName = "sequenceColumn",
|
||||
Values = new List<object>() { 8, 1, 0 }
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
output.Tables.Add("sequenceTable3", new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
output.Tables.Add("sequenceTable2", outputTable);
|
||||
|
||||
outputTable = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
{
|
||||
IsIncomplete = false,
|
||||
StartingIndex = 0,
|
||||
IsStatic = true,
|
||||
Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>()
|
||||
IsStatic = true
|
||||
};
|
||||
outputTable.Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>()
|
||||
{
|
||||
["sequenceColumn"] = new cF4SDHealthCardRawData.cHealthCardTableColumn(outputTable)
|
||||
{
|
||||
["sequenceColumn"] = new cF4SDHealthCardRawData.cHealthCardTableColumn()
|
||||
{
|
||||
ColumnName = "sequenceColumn",
|
||||
Values = new List<object>() { "Static" }
|
||||
}
|
||||
ColumnName = "sequenceColumn",
|
||||
Values = new List<object>() { "Static" }
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
output.Tables.Add("sequenceTable3", outputTable);
|
||||
|
||||
output.Id = Guid.NewGuid();
|
||||
|
||||
@@ -1041,49 +1089,61 @@ namespace C4IT.FASD.Cockpit.Communication
|
||||
await Task.Delay(250);
|
||||
lock (CachedHealthCardRawData)
|
||||
{
|
||||
if (!CachedHealthCardRawData.ContainsKey(Id))
|
||||
CachedHealthCardRawData[Id] = new cF4SDHealthCardRawData() { Id = Id, Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>() };
|
||||
if (!CachedHealthCardRawData.TryGetValue(Id, out var _rawData))
|
||||
{
|
||||
_rawData = new cF4SDHealthCardRawData() { Id = Id, Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>() };
|
||||
CachedHealthCardRawData[Id] = _rawData;
|
||||
}
|
||||
|
||||
if (CachedHealthCardRawData[Id].Tables is null)
|
||||
CachedHealthCardRawData[Id].Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>();
|
||||
if (_rawData.Tables is null)
|
||||
_rawData.Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>();
|
||||
|
||||
if (!CachedHealthCardRawData[Id].Tables.ContainsKey(tableOne))
|
||||
CachedHealthCardRawData[Id].Tables[tableOne] = new cF4SDHealthCardRawData.cHealthCardTable() { Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>() };
|
||||
if (!_rawData.Tables.TryGetValue(tableOne, out var _table))
|
||||
{
|
||||
_table = new cF4SDHealthCardRawData.cHealthCardTable() { Name = tableOne, Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>() };
|
||||
_rawData.Tables[tableOne] = _table;
|
||||
}
|
||||
|
||||
if (!CachedHealthCardRawData[Id].Tables[tableOne].Columns.ContainsKey(columnName))
|
||||
CachedHealthCardRawData[Id].Tables[tableOne].Columns[columnName] = new cF4SDHealthCardRawData.cHealthCardTableColumn();
|
||||
if (!_table.Columns.ContainsKey(columnName))
|
||||
_table.Columns[columnName] = new cF4SDHealthCardRawData.cHealthCardTableColumn(_table);
|
||||
|
||||
CachedHealthCardRawData[Id].Tables[tableOne].StartingIndex = 3;
|
||||
CachedHealthCardRawData[Id].Tables[tableOne].IsIncomplete = true;
|
||||
_table.StartingIndex = 3;
|
||||
_table.IsIncomplete = true;
|
||||
|
||||
if (CachedHealthCardRawData[Id].Tables[tableOne].Columns[columnName].Values.Count < 3)
|
||||
CachedHealthCardRawData[Id].Tables[tableOne].Columns[columnName].Values.AddRange(new List<object>() { 5, 4, 3, 2, 1, 0 });
|
||||
if (_table.Columns[columnName].Values.Count < 3)
|
||||
_table.Columns[columnName].Values.AddRange(new List<object>() { 5, 4, 3, 2, 1, 0 });
|
||||
else
|
||||
CachedHealthCardRawData[Id].Tables[tableOne].Columns[columnName].Values.InsertRange(3, new List<object>() { 5, 4, 3, 2, 1, 0 });
|
||||
_table.Columns[columnName].Values.InsertRange(3, new List<object>() { 5, 4, 3, 2, 1, 0 });
|
||||
}
|
||||
|
||||
await Task.Delay(250);
|
||||
lock (CachedHealthCardRawData)
|
||||
{
|
||||
if (!CachedHealthCardRawData.ContainsKey(Id))
|
||||
CachedHealthCardRawData[Id] = new cF4SDHealthCardRawData() { Id = Id, Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>() };
|
||||
if (!CachedHealthCardRawData.TryGetValue(Id, out var _rawData))
|
||||
{
|
||||
_rawData = new cF4SDHealthCardRawData() { Id = Id, Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>() };
|
||||
CachedHealthCardRawData[Id] = _rawData;
|
||||
}
|
||||
|
||||
if (CachedHealthCardRawData[Id].Tables is null)
|
||||
CachedHealthCardRawData[Id].Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>();
|
||||
if (_rawData.Tables is null)
|
||||
_rawData.Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>();
|
||||
|
||||
if (!CachedHealthCardRawData[Id].Tables.ContainsKey(tableTwo))
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo] = new cF4SDHealthCardRawData.cHealthCardTable() { Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>() };
|
||||
if (!_rawData.Tables.TryGetValue(tableTwo, out var _table))
|
||||
{
|
||||
_table = new cF4SDHealthCardRawData.cHealthCardTable() { Name = tableTwo, Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>() };
|
||||
_rawData.Tables[tableTwo] = _table;
|
||||
}
|
||||
|
||||
if (!CachedHealthCardRawData[Id].Tables[tableTwo].Columns.ContainsKey(columnName))
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo].Columns[columnName] = new cF4SDHealthCardRawData.cHealthCardTableColumn();
|
||||
if (!_table.Columns.ContainsKey(columnName))
|
||||
_table.Columns[columnName] = new cF4SDHealthCardRawData.cHealthCardTableColumn(_table);
|
||||
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo].StartingIndex = 2;
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo].IsIncomplete = true;
|
||||
_table.StartingIndex = 2;
|
||||
_table.IsIncomplete = true;
|
||||
|
||||
if (CachedHealthCardRawData[Id].Tables[tableTwo].Columns[columnName].Values.Count < 2)
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo].Columns[columnName].Values.AddRange(new List<object>() { 0, 3, 1, 2, 3, 8, 1, 0 });
|
||||
if (_table.Columns[columnName].Values.Count < 2)
|
||||
_table.Columns[columnName].Values.AddRange(new List<object>() { 0, 3, 1, 2, 3, 8, 1, 0 });
|
||||
else
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo].Columns[columnName].Values.InsertRange(2, new List<object>() { 0, 3, 1, 2, 3, 8, 1, 0 });
|
||||
_table.Columns[columnName].Values.InsertRange(2, new List<object>() { 0, 3, 1, 2, 3, 8, 1, 0 });
|
||||
}
|
||||
|
||||
await Task.Delay(500);
|
||||
@@ -1092,61 +1152,79 @@ namespace C4IT.FASD.Cockpit.Communication
|
||||
const string numericalTable = "agnt-computer-event-numerical";
|
||||
const string processorColumn = "ProcessorUsage";
|
||||
|
||||
if (!CachedHealthCardRawData.ContainsKey(Id))
|
||||
CachedHealthCardRawData[Id] = new cF4SDHealthCardRawData() { Id = Id, Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>() };
|
||||
if (!CachedHealthCardRawData.TryGetValue(Id, out var _rawData))
|
||||
{
|
||||
_rawData = new cF4SDHealthCardRawData() { Id = Id, Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>() };
|
||||
CachedHealthCardRawData[Id] = _rawData;
|
||||
}
|
||||
|
||||
if (CachedHealthCardRawData[Id].Tables is null)
|
||||
CachedHealthCardRawData[Id].Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>();
|
||||
if (_rawData.Tables is null)
|
||||
_rawData.Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>();
|
||||
|
||||
if (!CachedHealthCardRawData[Id].Tables.ContainsKey(numericalTable))
|
||||
CachedHealthCardRawData[Id].Tables[numericalTable] = new cF4SDHealthCardRawData.cHealthCardTable() { Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>() };
|
||||
if (!_rawData.Tables.TryGetValue(numericalTable, out var _table))
|
||||
{
|
||||
_table = new cF4SDHealthCardRawData.cHealthCardTable() { Name = numericalTable, Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>() };
|
||||
_rawData.Tables[numericalTable] = _table;
|
||||
}
|
||||
|
||||
if (!CachedHealthCardRawData[Id].Tables[numericalTable].Columns.ContainsKey(processorColumn))
|
||||
CachedHealthCardRawData[Id].Tables[numericalTable].Columns[processorColumn] = new cF4SDHealthCardRawData.cHealthCardTableColumn();
|
||||
if (!_table.Columns.ContainsKey(processorColumn))
|
||||
_table.Columns[processorColumn] = new cF4SDHealthCardRawData.cHealthCardTableColumn(_table);
|
||||
|
||||
CachedHealthCardRawData[Id].Tables[numericalTable].IsIncomplete = false;
|
||||
CachedHealthCardRawData[Id].Tables[numericalTable].Columns[processorColumn].IsIncomplete = false;
|
||||
CachedHealthCardRawData[Id].Tables[numericalTable].Columns[processorColumn].Values = new List<object>() { 12.0, 20.0, 18.0, 15.0, 18.0, 19.0, 20.0, 26.0, 17.0, 11.0, 18.0, 16.0, 16.0, 14.0, 15.0 };
|
||||
_table.IsIncomplete = false;
|
||||
_table.Columns[processorColumn].IsIncomplete = false;
|
||||
_table.Columns[processorColumn].Values = new List<object>() { 12.0, 20.0, 18.0, 15.0, 18.0, 19.0, 20.0, 26.0, 17.0, 11.0, 18.0, 16.0, 16.0, 14.0, 15.0 };
|
||||
}
|
||||
|
||||
await Task.Delay(250);
|
||||
lock (CachedHealthCardRawData)
|
||||
{
|
||||
if (!CachedHealthCardRawData.ContainsKey(Id))
|
||||
CachedHealthCardRawData[Id] = new cF4SDHealthCardRawData() { Id = Id, Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>() };
|
||||
if (!CachedHealthCardRawData.TryGetValue(Id, out var _rawData))
|
||||
{
|
||||
_rawData = new cF4SDHealthCardRawData() { Id = Id, Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>() };
|
||||
CachedHealthCardRawData[Id] = _rawData;
|
||||
}
|
||||
|
||||
if (CachedHealthCardRawData[Id].Tables is null)
|
||||
CachedHealthCardRawData[Id].Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>();
|
||||
if (_rawData.Tables is null)
|
||||
_rawData.Tables = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTable>();
|
||||
|
||||
if (!CachedHealthCardRawData[Id].Tables.ContainsKey(tableOne))
|
||||
CachedHealthCardRawData[Id].Tables[tableOne] = new cF4SDHealthCardRawData.cHealthCardTable() { Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>() };
|
||||
if (!_rawData.Tables.TryGetValue(tableOne, out var _table))
|
||||
{
|
||||
_table = new cF4SDHealthCardRawData.cHealthCardTable() { Name = tableOne, Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>() };
|
||||
_rawData.Tables[tableOne] = _table;
|
||||
}
|
||||
|
||||
if (!CachedHealthCardRawData[Id].Tables[tableOne].Columns.ContainsKey(columnName))
|
||||
CachedHealthCardRawData[Id].Tables[tableOne].Columns[columnName] = new cF4SDHealthCardRawData.cHealthCardTableColumn();
|
||||
if (!_table.Columns.TryGetValue(columnName, out var _column))
|
||||
{
|
||||
_column = new cF4SDHealthCardRawData.cHealthCardTableColumn(_table);
|
||||
_table.Columns[columnName] = _column;
|
||||
}
|
||||
|
||||
CachedHealthCardRawData[Id].Tables[tableOne].StartingIndex = 0;
|
||||
CachedHealthCardRawData[Id].Tables[tableOne].IsIncomplete = false;
|
||||
_table.StartingIndex = 0;
|
||||
_table.IsIncomplete = false;
|
||||
|
||||
if (CachedHealthCardRawData[Id].Tables[tableOne].Columns[columnName].Values.Count < 0)
|
||||
CachedHealthCardRawData[Id].Tables[tableOne].Columns[columnName].Values.AddRange(new List<object>() { 8, 7, 6 });
|
||||
if (_column.Values.Count < 0)
|
||||
_column.Values.AddRange(new List<object>() { 8, 7, 6 });
|
||||
else
|
||||
CachedHealthCardRawData[Id].Tables[tableOne].Columns[columnName].Values.InsertRange(0, new List<object>() { 8, 7, 6 });
|
||||
_column.Values.InsertRange(0, new List<object>() { 8, 7, 6 });
|
||||
|
||||
|
||||
if (!CachedHealthCardRawData[Id].Tables.ContainsKey(tableTwo))
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo] = new cF4SDHealthCardRawData.cHealthCardTable() { Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>() };
|
||||
if (!_rawData.Tables.TryGetValue(tableTwo, out var _table2))
|
||||
{
|
||||
_table2 = new cF4SDHealthCardRawData.cHealthCardTable() { Name = tableTwo, Columns = new Dictionary<string, cF4SDHealthCardRawData.cHealthCardTableColumn>() };
|
||||
_rawData.Tables[tableTwo] = _table2;
|
||||
}
|
||||
|
||||
if (!CachedHealthCardRawData[Id].Tables[tableTwo].Columns.ContainsKey(columnName))
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo].Columns[columnName] = new cF4SDHealthCardRawData.cHealthCardTableColumn();
|
||||
if (!_rawData.Tables[tableTwo].Columns.ContainsKey(columnName))
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo].Columns[columnName] = new cF4SDHealthCardRawData.cHealthCardTableColumn(_table2);
|
||||
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo].StartingIndex = 1;
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo].IsIncomplete = false;
|
||||
_table2.StartingIndex = 1;
|
||||
_table2.IsIncomplete = false;
|
||||
|
||||
|
||||
if (CachedHealthCardRawData[Id].Tables[tableTwo].Columns[columnName].Values.Count < 1)
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo].Columns[columnName].Values.AddRange(new List<object>() { 1 });
|
||||
if (_table2.Columns[columnName].Values.Count < 1)
|
||||
_table2.Columns[columnName].Values.AddRange(new List<object>() { 1 });
|
||||
else
|
||||
CachedHealthCardRawData[Id].Tables[tableTwo].Columns[columnName].Values.InsertRange(1, new List<object>() { 1 });
|
||||
_table2.Columns[columnName].Values.InsertRange(1, new List<object>() { 1 });
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user