aktueller stand

This commit is contained in:
Meik
2025-11-13 17:35:09 +01:00
parent 5856ff4df8
commit 567584faf0
32 changed files with 1253 additions and 1762 deletions

View File

@@ -386,221 +386,6 @@ namespace FasdDesktopUi.Basics
return false;
}
#region Ascii
public static string GetQuickActionAsciiString(cQuickActionCopyData copyData, cFasdQuickAction quickActionDefinition)
{
string output = string.Empty;
try
{
output += GetQuickActionAsciiDescriptionString(copyData.Name, copyData.AffectedDeviceName, copyData.WasRunningOnAffectedDevice, copyData.ExecutionTime, copyData.QuickActionOutput?.ResultCode);
output += GetQuickActionAsciiErrorString(copyData.QuickActionOutput?.ErrorDescription);
output += GetQuickActionAsciiOutputString(copyData.QuickActionOutput, quickActionDefinition);
output += GetQuickActionAsciiValueComparisonString(copyData.MeasureValues);
}
catch (Exception E)
{
LogException(E);
}
return output;
}
private static string GetQuickActionAsciiDescriptionString(string quickActionName, string deviceName, bool wasRunningOnAffectedDevice, DateTime executionTime, enumQuickActionSuccess? quickActionStatus)
{
string output = string.Empty;
try
{
var quickActionStatusString = string.Empty;
switch (quickActionStatus)
{
case null:
case enumQuickActionSuccess.successfull:
quickActionStatusString = cMultiLanguageSupport.GetItem("QuickAction.Copy.RevisionStatus.Successfull");
break;
case enumQuickActionSuccess.error:
quickActionStatusString = cMultiLanguageSupport.GetItem("QuickAction.Copy.RevisionStatus.Error");
break;
}
var rawDescription = wasRunningOnAffectedDevice ? cMultiLanguageSupport.GetItem("QuickAction.Remote.Copy.Description") : cMultiLanguageSupport.GetItem("QuickAction.Local.Copy.Description");
output = string.Format(rawDescription, quickActionName, deviceName, executionTime.ToString("g", new CultureInfo(cFasdCockpitConfig.Instance.SelectedLanguage)), quickActionStatusString);
}
catch (Exception E)
{
LogException(E);
}
return output;
}
private static string GetQuickActionAsciiErrorString(string errorMessage)
{
string output = string.Empty;
try
{
if (!string.IsNullOrWhiteSpace(errorMessage))
output = "\n\n" + errorMessage;
}
catch (Exception E)
{
LogException(E);
}
return output;
}
private static string GetQuickActionAsciiOutputString(QuickActionStatusMonitor.cQuickActionOutput quickActionOutput, cFasdQuickAction quickActionDefinition)
{
string output = string.Empty;
try
{
if (!string.IsNullOrWhiteSpace(quickActionOutput?.ErrorDescription))
return output;
switch (quickActionOutput)
{
case QuickActionStatusMonitor.cQuickActionOutputSingle singleOutput:
{
if (singleOutput.Value is null)
return output;
output += "\n\n";
output += cMultiLanguageSupport.GetItem("QuickAction.Copy.Output") + " ";
output += singleOutput.GetDisplayValue(quickActionDefinition.ColumnOutputFormattings);
break;
}
case QuickActionStatusMonitor.cQuickActionOutputList listOutput:
{
output += "\n\n";
output += cMultiLanguageSupport.GetItem("QuickAction.Copy.Output") + "\n";
foreach (var value in listOutput.Values[0])
{
if (ShouldHideQuickActionOutput(value.Key, quickActionDefinition))
continue;
if (quickActionDefinition.ColumnOutputFormattings?.TryGetValue(value.Key, out var outputFormatting) ?? false)
output += outputFormatting.Names.GetValue();
else
output += value.Key;
output += " | ";
}
for (int i = 0; i < listOutput.Values.Count; i++)
{
output += "\n";
for (int j = 0; j < listOutput.Values[i].Count; j++)
{
string valueKey = listOutput.Values[0][j].Key;
if (ShouldHideQuickActionOutput(valueKey, quickActionDefinition))
continue;
string displayValue = listOutput.GetDisplayValue(i, j, quickActionDefinition.ColumnOutputFormattings);
if (string.IsNullOrWhiteSpace(displayValue))
continue;
output += displayValue;
output += " | ";
}
}
break;
}
case QuickActionStatusMonitor.cQuickActionOutputObject objectOutput:
{
output += "\n\n";
output += cMultiLanguageSupport.GetItem("QuickAction.Copy.Output") + "\n";
for (int i = 0; i < objectOutput.Values.Count; i++)
{
var value = objectOutput.Values[i];
if (ShouldHideQuickActionOutput(value.Key, quickActionDefinition))
continue;
string columnTitle = string.Empty;
if (quickActionDefinition.ColumnOutputFormattings?.TryGetValue(value.Key, out var outputFormatting) ?? false)
columnTitle = outputFormatting.Names.GetValue();
else
columnTitle = value.Key;
if (!string.IsNullOrEmpty(columnTitle))
output += $"{columnTitle}: ";
string displayValue = objectOutput.GetDisplayValue(i, quickActionDefinition.ColumnOutputFormattings);
output += !string.IsNullOrWhiteSpace(displayValue) ? displayValue : null;
output += "\n";
}
break;
}
}
}
catch (Exception E)
{
LogException(E);
}
return output;
}
private static string GetQuickActionAsciiValueComparisonString(List<QuickActionStatusMonitor.cQuickActionMeasureValue> measureValues)
{
string output = string.Empty;
try
{
if (measureValues is null || measureValues.Count <= 0)
return output;
output += "\n\n" + cMultiLanguageSupport.GetItem("QuickAction.Copy.Measure");
RawValueFormatter.SetDefaultCulture(new System.Globalization.CultureInfo(cFasdCockpitConfig.Instance.SelectedLanguage));
foreach (var measureValue in measureValues)
{
try
{
string value = RawValueFormatter.GetDisplayValue(measureValue.Value, measureValue.Display);
string postValue = RawValueFormatter.GetDisplayValue(measureValue.PostValue, measureValue.Display);
string difference = string.Empty;
if (measureValue.Difference != null)
difference = $" (∆ {RawValueFormatter.GetDisplayValue(measureValue.Difference, measureValue.Display)})";
output += "\n" + measureValue.Names.GetValue(cF4SDCockpitXmlConfig.Instance.HealthCardConfig.ProtocollLanguage) + ": " + value + " ➜ " + postValue + difference;
}
catch (Exception E)
{
LogException(E);
}
}
}
catch (Exception E)
{
LogException(E);
}
return output;
}
#endregion
#region Html
public static string GetHtmlFrame(string Content)
{
var strLen1 = (Content.Length + 142).ToString("D10");
@@ -618,229 +403,6 @@ namespace FasdDesktopUi.Basics
return RetVal;
}
public static string GetQuickActionHtmlString(cQuickActionCopyData copyData, cFasdQuickAction quickActionDefinition)
{
string output = string.Empty;
try
{
output += GetQuickActionHtmlDescriptionString(copyData.Name, copyData.AffectedDeviceName, copyData.WasRunningOnAffectedDevice, copyData.ExecutionTime, copyData.QuickActionOutput?.ResultCode);
output += GetQuickActionHtmlErrorString(copyData.QuickActionOutput?.ErrorDescription);
output += GetQuickActionHtmlOutputString(copyData.QuickActionOutput, quickActionDefinition);
output += GetQuickActionHtmlValueComparisonString(copyData.MeasureValues);
}
catch (Exception E)
{
LogException(E);
}
return output;
}
private static string GetQuickActionHtmlDescriptionString(string quickActionName, string deviceName, bool wasRunningOnAffectedDevice, DateTime executionTime, enumQuickActionSuccess? quickActionStatus)
{
string output = string.Empty;
try
{
var quickActionStatusString = string.Empty;
switch (quickActionStatus)
{
case null:
case enumQuickActionSuccess.successfull:
quickActionStatusString = cMultiLanguageSupport.GetItem("QuickAction.Copy.RevisionStatus.Successfull");
break;
case enumQuickActionSuccess.error:
quickActionStatusString = cMultiLanguageSupport.GetItem("QuickAction.Copy.RevisionStatus.Error");
break;
}
var rawDescription = wasRunningOnAffectedDevice ? cMultiLanguageSupport.GetItem("QuickAction.Remote.Copy.Description.Html") : cMultiLanguageSupport.GetItem("QuickAction.Local.Copy.Description.Html");
output = string.Format(rawDescription, quickActionName, deviceName, executionTime.ToString("g", new CultureInfo(cFasdCockpitConfig.Instance.SelectedLanguage)), quickActionStatusString);
}
catch (Exception E)
{
LogException(E);
}
return output;
}
private static string GetQuickActionHtmlErrorString(string errorMessage)
{
string output = string.Empty;
try
{
if (!string.IsNullOrWhiteSpace(errorMessage))
output = "<br/><p style=\"color:red\">" + errorMessage + "</p>";
}
catch (Exception E)
{
LogException(E);
}
return output;
}
public static string GetQuickActionHtmlOutputString(QuickActionStatusMonitor.cQuickActionOutput quickActionOutput, cFasdQuickAction quickActionDefinition)
{
string output = string.Empty;
try
{
if (!string.IsNullOrWhiteSpace(quickActionOutput?.ErrorDescription))
return output;
output += "<br/>";
switch (quickActionOutput)
{
case QuickActionStatusMonitor.cQuickActionOutputSingle singleOutput:
{
if (singleOutput.Value is null)
return output;
var displayValue = singleOutput.GetDisplayValue(quickActionDefinition?.ColumnOutputFormattings);
output += "<p>" + cMultiLanguageSupport.GetItem("QuickAction.Copy.Output.Html") + " " + displayValue + "</p>";
break;
}
case QuickActionStatusMonitor.cQuickActionOutputList listOutput:
{
output += "<p>" + cMultiLanguageSupport.GetItem("QuickAction.Copy.Output.Html") + "</p>";
output += "<table border=\"1\">";
output += "<tr>";
foreach (var value in listOutput.Values[0])
{
if (ShouldHideQuickActionOutput(value.Key, quickActionDefinition))
continue;
string headingValue = value.Key;
if (quickActionDefinition.ColumnOutputFormattings?.TryGetValue(value.Key, out var outputFormatting) ?? false)
headingValue = outputFormatting.Names.GetValue();
output += "<th align=\"left\">";
output += headingValue;
output += "</th>";
}
output += "</tr>";
for (int i = 0; i < listOutput.Values.Count; i++)
{
output += "<tr>";
for (int j = 0; j < listOutput.Values[i].Count; j++)
{
string valueKey = listOutput.Values[0][j].Key;
if (ShouldHideQuickActionOutput(valueKey, quickActionDefinition))
continue;
string displayValue = listOutput.GetDisplayValue(i, j, quickActionDefinition.ColumnOutputFormattings);
if (string.IsNullOrWhiteSpace(displayValue))
continue;
output += "<td>";
output += displayValue;
output += "</td>";
}
output += "</tr>";
}
output += "</table>";
break;
}
case QuickActionStatusMonitor.cQuickActionOutputObject objectOutput:
{
output += "<p>" + cMultiLanguageSupport.GetItem("QuickAction.Copy.Output.Html") + "</p>";
output += "<table border=\"1\">";
for (int i = 0; i < objectOutput.Values.Count; i++)
{
var value = objectOutput.Values[i];
if (ShouldHideQuickActionOutput(value.Key, quickActionDefinition))
continue;
string headingValue = value.Key;
if (quickActionDefinition.ColumnOutputFormattings?.TryGetValue(value.Key, out var outputFormatting) ?? false)
headingValue = outputFormatting.Names.GetValue();
output += "<tr>";
output += "<td>";
output += headingValue;
output += "</td>";
output += "<td>";
string displayValue = objectOutput.GetDisplayValue(i, quickActionDefinition.ColumnOutputFormattings);
output += !string.IsNullOrWhiteSpace(displayValue) ? displayValue : null;
output += "</td>";
output += "</tr>";
}
output += "</table>";
break;
}
}
}
catch (Exception E)
{
LogException(E);
}
return output;
}
public static string GetQuickActionHtmlValueComparisonString(List<QuickActionStatusMonitor.cQuickActionMeasureValue> measureValues)
{
string output = string.Empty;
try
{
if (measureValues is null || measureValues.Count <= 0)
return output;
output += "<p>" + cMultiLanguageSupport.GetItem("QuickAction.Copy.Measure.Html") + "</p>";
RawValueFormatter.SetDefaultCulture(new System.Globalization.CultureInfo(cFasdCockpitConfig.Instance.SelectedLanguage));
foreach (var measureValue in measureValues)
{
try
{
string value = RawValueFormatter.GetDisplayValue(measureValue.Value, measureValue.Display);
string postValue = RawValueFormatter.GetDisplayValue(measureValue.PostValue, measureValue.Display);
string difference = string.Empty;
if (measureValue.Difference != null)
difference = $" (∆ {RawValueFormatter.GetDisplayValue(measureValue.Difference, measureValue.Display)})";
output += "<p>";
output += "<b>" + measureValue.Names.GetValue(cF4SDCockpitXmlConfig.Instance.HealthCardConfig.ProtocollLanguage) + ": </b>" + value + " ➜ " + postValue + difference;
output += "</p>";
}
catch (Exception E)
{
LogException(E);
}
}
}
catch (Exception E)
{
LogException(E);
}
return output;
}
#endregion
#endregion
#region ToolTipHandling