Refactor quick action output handling and extend case note support

This commit is contained in:
Meik
2026-07-17 18:34:59 +02:00
parent 1db0da9a40
commit 0fef3ad49c
32 changed files with 755 additions and 805 deletions

View File

@@ -3,13 +3,11 @@ using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using C4IT.F4SD.DisplayFormatting;
using C4IT.FASD.Base;
using C4IT.MultiLanguage;
using FasdDesktopUi.Basics.Models;
using FasdDesktopUi.Basics.UserControls;
using static C4IT.Logging.cLogManager;
using static FasdDesktopUi.Basics.UserControls.QuickActionStatusMonitor;
using FasdDesktopUi.Basics.Models.QuickActionOutput;
namespace FasdDesktopUi.Basics.Services.ProtocollService
{
@@ -155,7 +153,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
return errorMessage;
}
private static string GetQuickActionAsciiOutput(cFasdQuickAction quickActionDefinition, QuickActionStatusMonitor.cQuickActionOutput quickActionOutput)
private static string GetQuickActionAsciiOutput(cFasdQuickAction quickActionDefinition, cQuickActionOutput quickActionOutput)
{
string output = string.Empty;
@@ -166,7 +164,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
switch (quickActionOutput)
{
case QuickActionStatusMonitor.cQuickActionOutputSingle singleOutput:
case cQuickActionOutputSingle singleOutput:
{
if (singleOutput.Value is null)
return output;
@@ -177,7 +175,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
break;
}
case QuickActionStatusMonitor.cQuickActionOutputList listOutput:
case cQuickActionOutputList listOutput:
{
output += AsciiSeperator;
output += cMultiLanguageSupport.GetItem("QuickAction.Copy.Output") + "\n";
@@ -219,7 +217,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
break;
}
case QuickActionStatusMonitor.cQuickActionOutputObject objectOutput:
case cQuickActionOutputObject objectOutput:
{
output += AsciiSeperator;
output += cMultiLanguageSupport.GetItem("QuickAction.Copy.Output") + "\n";
@@ -259,7 +257,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
return output;
}
private static string GetQuickActionAsciiValueComparisonString(List<QuickActionStatusMonitor.cQuickActionMeasureValue> measureValues)
private static string GetQuickActionAsciiValueComparisonString(List<cQuickActionMeasureValue> measureValues)
{
string output = string.Empty;
@@ -365,7 +363,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
return errorMessage;
}
private static string GetQuickActionHtmlOutput(cFasdQuickAction quickActionDefinition, QuickActionStatusMonitor.cQuickActionOutput quickActionOutput)
private static string GetQuickActionHtmlOutput(cFasdQuickAction quickActionDefinition, cQuickActionOutput quickActionOutput)
{
string output = string.Empty;
@@ -378,7 +376,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
switch (quickActionOutput)
{
case QuickActionStatusMonitor.cQuickActionOutputSingle singleOutput:
case cQuickActionOutputSingle singleOutput:
{
if (singleOutput.Value is null)
return output;
@@ -387,7 +385,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
output += "<p>" + cMultiLanguageSupport.GetItem("QuickAction.Copy.Output.Html") + " " + displayValue + "</p>";
break;
}
case QuickActionStatusMonitor.cQuickActionOutputList listOutput:
case cQuickActionOutputList listOutput:
{
output += "<p>" + cMultiLanguageSupport.GetItem("QuickAction.Copy.Output.Html") + "</p>";
@@ -436,7 +434,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
output += "</table>";
break;
}
case QuickActionStatusMonitor.cQuickActionOutputObject objectOutput:
case cQuickActionOutputObject objectOutput:
{
output += "<p>" + cMultiLanguageSupport.GetItem("QuickAction.Copy.Output.Html") + "</p>";
@@ -479,7 +477,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
return output;
}
private static string GetQuickActionHtmlValueComparison(List<QuickActionStatusMonitor.cQuickActionMeasureValue> measureValues)
private static string GetQuickActionHtmlValueComparison(List<cQuickActionMeasureValue> measureValues)
{
string output = string.Empty;

View File

@@ -105,7 +105,7 @@ namespace FasdDesktopUi.Basics.Services.RemoteDesktop
{
ProcessStartInfo info = new ProcessStartInfo(GetViewerPath())
{
Arguments = $"-connectionId {connectionDetails.ConnectionId} -phoenixServiceUrl {connectionDetails.PhoenixServiceUrl} -secret {connectionDetails.Secret}"
Arguments = $"-connectionId {connectionDetails.ConnectionId} -phoenixServiceUrl {connectionDetails.PhoenixServiceUrl} -secret {connectionDetails.Secret} -hideAi {!cFasdCockpitConfig.Instance.Global.UseAiAnalyzer}"
};
Process process = Process.Start(info);

View File

@@ -3,6 +3,7 @@ using C4IT.FASD.Cockpit.Communication;
using C4IT.Logging;
using FasdDesktopUi.Basics.CustomEvents;
using FasdDesktopUi.Basics.Enums;
using FasdDesktopUi.Basics.Helper;
using FasdDesktopUi.Basics.Models;
using FasdDesktopUi.Basics.Services.Models;
using FasdDesktopUi.Basics.Services.SupportCase.Controllers;
@@ -11,6 +12,7 @@ using FasdDesktopUi.Pages.DetailsPage.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static C4IT.Logging.cLogManager;
@@ -24,6 +26,11 @@ namespace FasdDesktopUi.Basics.Services.SupportCase.Processors
internal const string AgentDeviceIdNamedParameterName = "F4SD_Agent_DeviceId";
internal const string AgentUserIdNamedParameterName = "F4SD_Agent_UserId";
internal const string AgentOrganisationCodeNamedParameterName = "F4SD_Agent_OrganisationId";
internal const string CaseNotesNamedParameterName = "F4SD_CaseNotes";
internal const string CaseNotesHtmlNamedParameterName = "F4SD_CaseNotesHtml";
internal const string QuickActionProtocolNamedParameterName = "F4SD_QuickActionProtocol";
internal const string QuickActionProtocolLastNamedParameterName = "F4SD_QuickActionProtocolLast";
private ISupportCase _supportCase;
public cSupportCaseDataProvider SupportCaseDataProviderArtifact { get => _supportCase?.SupportCaseDataProviderArtifact; }
@@ -134,6 +141,16 @@ namespace FasdDesktopUi.Basics.Services.SupportCase.Processors
}
_namedParameterCache[relation][AgentOrganisationCodeNamedParameterName] = cCockpitConfiguration.Instance.agentApiConfiguration.OrganizationCode;
// todo insert quick action protocoll
StringBuilder caseNotesStringBuilder = new StringBuilder();
cRichTextBoxHelper.TraverseBlockAsUnicode(SupportCaseDataProviderArtifact.CaseNotes.Blocks, caseNotesStringBuilder);
_namedParameterCache[relation][CaseNotesNamedParameterName] = caseNotesStringBuilder.ToString();
StringBuilder caseNotesHtmlStringBuilder = new StringBuilder();
cRichTextBoxHelper.TraverseBlockAsHtml(SupportCaseDataProviderArtifact.CaseNotes.Blocks, caseNotesHtmlStringBuilder);
_namedParameterCache[relation][CaseNotesHtmlNamedParameterName] = caseNotesHtmlStringBuilder.ToString();
}
}