fix: load ticket history through journal portal api

This commit is contained in:
Meik
2026-07-01 00:50:23 +02:00
parent 45b8e1d223
commit 258ca8a837
3 changed files with 123 additions and 22 deletions

View File

@@ -1408,29 +1408,9 @@ namespace C4IT.F4SD
try
{
await Task.Delay(0);
List<cTicketJournalItem> journalEntries = new List<cTicketJournalItem>();
var entries = LoadJournalEntries(activityEOID);
LogEntry($"{entries.Count} Journal entries found for ObjectID={activityEOID}", LogLevels.Debug);
for (int i = 0; i < entries.Count; i++)
{
Matrix42.Contracts.Platform.Data.JournalEntryInfo item = entries[i];
var text = item.Text ?? string.Empty;
var createdDate = item.CreatedDate ?? DateTime.MinValue;
LogEntry($"Journal entry {i + 1}/{entries.Count}: ID={item.Id}, CreatedDate={createdDate}, CreatedBy={item.Creator}, Header={item.Header}", LogLevels.Debug);
journalEntries.Add(new cTicketJournalItem()
{
JournalId = item.Id,
ActivityObjectId = activityEOID,
CreatedBy = item.Creator,
CreationDate = createdDate,
DescriptionHtml = text,
Description = string.IsNullOrEmpty(text) ? string.Empty : Matrix42.Common.Html.HtmlConverter.ConvertHtmlToPlainText(text),
Header = item.Header,
IsVisibleForUser = item.VisibleInPortal
});
}
return journalEntries;
return CreateTicketJournalItems(activityEOID, entries);
}
catch (MissingMethodException E)
{
@@ -1447,6 +1427,32 @@ namespace C4IT.F4SD
}
}
internal static List<cTicketJournalItem> CreateTicketJournalItems(Guid activityEOID, IReadOnlyList<Matrix42.Contracts.Platform.Data.JournalEntryInfo> entries)
{
List<cTicketJournalItem> journalEntries = new List<cTicketJournalItem>();
for (int i = 0; i < entries.Count; i++)
{
Matrix42.Contracts.Platform.Data.JournalEntryInfo item = entries[i];
var text = item.Text ?? string.Empty;
var createdDate = item.CreatedDate ?? DateTime.MinValue;
LogEntry($"Journal entry {i + 1}/{entries.Count}: ID={item.Id}, CreatedDate={createdDate}, CreatedBy={item.Creator}, Header={item.Header}", LogLevels.Debug);
journalEntries.Add(new cTicketJournalItem()
{
JournalId = item.Id,
ActivityObjectId = activityEOID,
CreatedBy = item.Creator,
CreationDate = createdDate,
DescriptionHtml = text,
Description = string.IsNullOrEmpty(text) ? string.Empty : Matrix42.Common.Html.HtmlConverter.ConvertHtmlToPlainText(text),
Header = item.Header,
IsVisibleForUser = item.VisibleInPortal
});
}
return journalEntries;
}
private static IReadOnlyList<Matrix42.Contracts.Platform.Data.JournalEntryInfo> LoadJournalEntries(Guid activityEOID)
{
var journalService = F4SDM42WebApiController.defaultInstance.GetJournalServiceInstance();