aktueller Stand
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using C4IT.F4SD.DisplayFormatting;
|
||||
using C4IT.F4SD.SupportCaseProtocoll.Models;
|
||||
using C4IT.FASD.Base;
|
||||
using C4IT.MultiLanguage;
|
||||
using FasdDesktopUi.Basics.Models;
|
||||
@@ -11,17 +11,26 @@ using static FasdDesktopUi.Basics.UserControls.QuickActionStatusMonitor;
|
||||
|
||||
namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
{
|
||||
internal class QuickActionProtocollEntry : IProtocollEntry
|
||||
internal static class QuickActionProtocollEntryOutput
|
||||
{
|
||||
private readonly cFasdQuickAction _quickActionDefinition;
|
||||
private readonly cQuickActionCopyData _quickActionCopyData;
|
||||
|
||||
const string AsciiSeperator = "\n\n";
|
||||
|
||||
public QuickActionProtocollEntry(cFasdQuickAction quickActionDefinition, cQuickActionCopyData quickActionCopyData)
|
||||
public static QuickActionProtocollEntry GetQuickActionProtocollEntry(cFasdQuickAction quickActionDefinition, cQuickActionCopyData quickActionCopyData)
|
||||
{
|
||||
_quickActionDefinition = quickActionDefinition;
|
||||
_quickActionCopyData = quickActionCopyData;
|
||||
string ascii = GetAscii(quickActionDefinition, quickActionCopyData);
|
||||
string html = GetHtml(quickActionDefinition, quickActionCopyData);
|
||||
|
||||
return new QuickActionProtocollEntry(ascii, html)
|
||||
{
|
||||
Id = quickActionDefinition.Id,
|
||||
Name = quickActionDefinition.Name,
|
||||
ExecutionTypeId = (int)quickActionDefinition.ExecutionType,
|
||||
WasRunningOnAffectedDevice = quickActionCopyData.WasRunningOnAffectedDevice,
|
||||
AffectedDeviceName = quickActionCopyData.AffectedDeviceName,
|
||||
ResultCode = (int?)quickActionCopyData.QuickActionOutput?.ResultCode,
|
||||
ErrorMessage = quickActionCopyData.QuickActionOutput?.ErrorDescription,
|
||||
MeasureValues = GetQuickActionHtmlValueComparison(quickActionCopyData.MeasureValues)
|
||||
};
|
||||
}
|
||||
|
||||
internal static cQuickActionCopyData GetCopyData(cFasdQuickAction quickActionDefinition, cSupportCaseDataProvider dataProvider, bool wasRunningOnAffectedDevice, cQuickActionOutput quickActionOutput, List<cQuickActionMeasureValue> measureValues)
|
||||
@@ -51,38 +60,21 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
return quickActionCopyData;
|
||||
}
|
||||
|
||||
internal cQuickActionResult GetResult()
|
||||
{
|
||||
return new cQuickActionResult()
|
||||
{
|
||||
QuickActionId = _quickActionDefinition.Id,
|
||||
QuickActionName = _quickActionDefinition.Name,
|
||||
QuickActionExecutionType = (int)_quickActionDefinition.ExecutionType,
|
||||
wasRunningOnAffectedDevice = _quickActionCopyData.WasRunningOnAffectedDevice,
|
||||
AffectedDeviceName = _quickActionCopyData.AffectedDeviceName,
|
||||
ExecutionTime = DateTime.UtcNow,
|
||||
ResultCode = (int?)(_quickActionCopyData.QuickActionOutput?.ResultCode),
|
||||
ErrorMessage = _quickActionCopyData.QuickActionOutput?.ErrorDescription,
|
||||
Output = GetQuickActionHtmlOutput(_quickActionCopyData.QuickActionOutput),
|
||||
MeasureValues = GetQuickActionHtmlValueComparison(_quickActionCopyData.MeasureValues)
|
||||
};
|
||||
}
|
||||
private static string GetAscii(cFasdQuickAction quickActionDefinition, cQuickActionCopyData quickActionCopyData) => GetQuickActionAscii(quickActionDefinition, quickActionCopyData);
|
||||
|
||||
public string GetAscii() => GetQuickActionAscii(_quickActionCopyData);
|
||||
private static string GetHtml(cFasdQuickAction quickActionDefinition, cQuickActionCopyData quickActionCopyData) => GetQuickActionHtml(quickActionDefinition, quickActionCopyData);
|
||||
|
||||
public string GetHtml() => GetQuickActionHtml(_quickActionCopyData);
|
||||
|
||||
private bool ShouldHideQuickActionOutput(string outputValueKey)
|
||||
private static bool ShouldHideQuickActionOutput(cFasdQuickAction quickActionDefinition, string outputValueKey)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (_quickActionDefinition.ColumnOutputFormattings is null)
|
||||
if (quickActionDefinition.ColumnOutputFormattings is null)
|
||||
return false;
|
||||
|
||||
if (!_quickActionDefinition.ShowAllOutputContent && !_quickActionDefinition.ColumnOutputFormattings.ContainsKey(outputValueKey))
|
||||
if (!quickActionDefinition.ShowAllOutputContent && !quickActionDefinition.ColumnOutputFormattings.ContainsKey(outputValueKey))
|
||||
return true;
|
||||
|
||||
if (_quickActionDefinition.ColumnOutputFormattings.TryGetValue(outputValueKey, out var columnFormatting))
|
||||
if (quickActionDefinition.ColumnOutputFormattings.TryGetValue(outputValueKey, out var columnFormatting))
|
||||
return columnFormatting.Hidden;
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -95,19 +87,19 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
|
||||
#region Ascii
|
||||
|
||||
private string GetQuickActionAscii(cQuickActionCopyData copyData)
|
||||
private static string GetQuickActionAscii(cFasdQuickAction quickActionDefinition, cQuickActionCopyData copyData)
|
||||
{
|
||||
string ascii = string.Empty;
|
||||
|
||||
ascii += GetQuickActionAsciiDescription(copyData.Name, copyData.AffectedDeviceName, copyData.WasRunningOnAffectedDevice, copyData.ExecutionTime, copyData.QuickActionOutput?.ResultCode);
|
||||
ascii += GetQuickActionAsciiError(copyData.QuickActionOutput?.ErrorDescription);
|
||||
ascii += GetQuickActionAsciiOutput(copyData.QuickActionOutput);
|
||||
ascii += GetQuickActionAsciiOutput(quickActionDefinition, copyData.QuickActionOutput);
|
||||
ascii += GetQuickActionAsciiValueComparisonString(copyData.MeasureValues);
|
||||
|
||||
return ascii;
|
||||
}
|
||||
|
||||
private string GetQuickActionAsciiDescription(string quickActionName, string deviceName, bool wasRunningOnAffectedDevice, DateTime executionTime, enumQuickActionSuccess? quickActionStatus)
|
||||
private static string GetQuickActionAsciiDescription(string quickActionName, string deviceName, bool wasRunningOnAffectedDevice, DateTime executionTime, enumQuickActionSuccess? quickActionStatus)
|
||||
{
|
||||
string asciiDescription = string.Empty;
|
||||
try
|
||||
@@ -136,7 +128,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
return asciiDescription;
|
||||
}
|
||||
|
||||
private string GetQuickActionAsciiError(string errorMessage)
|
||||
private static string GetQuickActionAsciiError(string errorMessage)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(errorMessage))
|
||||
errorMessage.Insert(0, AsciiSeperator);
|
||||
@@ -144,7 +136,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
private string GetQuickActionAsciiOutput(QuickActionStatusMonitor.cQuickActionOutput quickActionOutput)
|
||||
private static string GetQuickActionAsciiOutput(cFasdQuickAction quickActionDefinition, QuickActionStatusMonitor.cQuickActionOutput quickActionOutput)
|
||||
{
|
||||
string output = string.Empty;
|
||||
|
||||
@@ -162,7 +154,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
|
||||
output += AsciiSeperator;
|
||||
output += cMultiLanguageSupport.GetItem("QuickAction.Copy.Output") + " ";
|
||||
output += singleOutput.GetDisplayValue(_quickActionDefinition.ColumnOutputFormattings);
|
||||
output += singleOutput.GetDisplayValue(quickActionDefinition.ColumnOutputFormattings);
|
||||
|
||||
break;
|
||||
}
|
||||
@@ -174,10 +166,10 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
|
||||
foreach (var value in listOutput.Values[0])
|
||||
{
|
||||
if (ShouldHideQuickActionOutput(value.Key))
|
||||
if (ShouldHideQuickActionOutput(quickActionDefinition, value.Key))
|
||||
continue;
|
||||
|
||||
if (_quickActionDefinition.ColumnOutputFormattings?.TryGetValue(value.Key, out var outputFormatting) ?? false)
|
||||
if (quickActionDefinition.ColumnOutputFormattings?.TryGetValue(value.Key, out var outputFormatting) ?? false)
|
||||
output += outputFormatting.Names.GetValue();
|
||||
else
|
||||
output += value.Key;
|
||||
@@ -193,10 +185,10 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
{
|
||||
string valueKey = listOutput.Values[0][j].Key;
|
||||
|
||||
if (ShouldHideQuickActionOutput(valueKey))
|
||||
if (ShouldHideQuickActionOutput(quickActionDefinition, valueKey))
|
||||
continue;
|
||||
|
||||
string displayValue = listOutput.GetDisplayValue(i, j, _quickActionDefinition.ColumnOutputFormattings);
|
||||
string displayValue = listOutput.GetDisplayValue(i, j, quickActionDefinition.ColumnOutputFormattings);
|
||||
|
||||
if (string.IsNullOrWhiteSpace(displayValue))
|
||||
continue;
|
||||
@@ -217,12 +209,12 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
{
|
||||
var value = objectOutput.Values[i];
|
||||
|
||||
if (ShouldHideQuickActionOutput(value.Key))
|
||||
if (ShouldHideQuickActionOutput(quickActionDefinition, value.Key))
|
||||
continue;
|
||||
|
||||
string columnTitle = string.Empty;
|
||||
|
||||
if (_quickActionDefinition.ColumnOutputFormattings?.TryGetValue(value.Key, out var outputFormatting) ?? false)
|
||||
if (quickActionDefinition.ColumnOutputFormattings?.TryGetValue(value.Key, out var outputFormatting) ?? false)
|
||||
columnTitle = outputFormatting.Names.GetValue();
|
||||
else
|
||||
columnTitle = value.Key;
|
||||
@@ -230,7 +222,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
if (!string.IsNullOrEmpty(columnTitle))
|
||||
output += $"{columnTitle}: ";
|
||||
|
||||
string displayValue = objectOutput.GetDisplayValue(i, _quickActionDefinition.ColumnOutputFormattings);
|
||||
string displayValue = objectOutput.GetDisplayValue(i, quickActionDefinition.ColumnOutputFormattings);
|
||||
output += !string.IsNullOrWhiteSpace(displayValue) ? displayValue : null;
|
||||
|
||||
output += "\n";
|
||||
@@ -248,7 +240,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
return output;
|
||||
}
|
||||
|
||||
private string GetQuickActionAsciiValueComparisonString(List<QuickActionStatusMonitor.cQuickActionMeasureValue> measureValues)
|
||||
private static string GetQuickActionAsciiValueComparisonString(List<QuickActionStatusMonitor.cQuickActionMeasureValue> measureValues)
|
||||
{
|
||||
string output = string.Empty;
|
||||
|
||||
@@ -260,6 +252,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
output += AsciiSeperator + cMultiLanguageSupport.GetItem("QuickAction.Copy.Measure");
|
||||
|
||||
cUtility.RawValueFormatter.SetDefaultCulture(new System.Globalization.CultureInfo(cFasdCockpitConfig.Instance.SelectedLanguage));
|
||||
cUtility.RawValueFormatter.SetDefaultTimeZone(TimeZoneInfo.Local);
|
||||
|
||||
foreach (var measureValue in measureValues)
|
||||
{
|
||||
@@ -292,7 +285,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
|
||||
#region Html
|
||||
|
||||
private string GetQuickActionHtml(cQuickActionCopyData copyData)
|
||||
private static string GetQuickActionHtml(cFasdQuickAction quickActionDefinition, cQuickActionCopyData copyData)
|
||||
{
|
||||
string output = string.Empty;
|
||||
|
||||
@@ -300,7 +293,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
{
|
||||
output += GetQuickActionHtmlDescription(copyData.Name, copyData.AffectedDeviceName, copyData.WasRunningOnAffectedDevice, copyData.ExecutionTime, copyData.QuickActionOutput?.ResultCode);
|
||||
output += GetQuickActionHtmlError(copyData.QuickActionOutput?.ErrorDescription);
|
||||
output += GetQuickActionHtmlOutput(copyData.QuickActionOutput);
|
||||
output += GetQuickActionHtmlOutput(quickActionDefinition, copyData.QuickActionOutput);
|
||||
output += GetQuickActionHtmlValueComparison(copyData.MeasureValues);
|
||||
}
|
||||
catch (Exception E)
|
||||
@@ -311,7 +304,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
return output;
|
||||
}
|
||||
|
||||
private string GetQuickActionHtmlDescription(string quickActionName, string deviceName, bool wasRunningOnAffectedDevice, DateTime executionTime, enumQuickActionSuccess? quickActionStatus)
|
||||
private static string GetQuickActionHtmlDescription(string quickActionName, string deviceName, bool wasRunningOnAffectedDevice, DateTime executionTime, enumQuickActionSuccess? quickActionStatus)
|
||||
{
|
||||
string output = string.Empty;
|
||||
try
|
||||
@@ -348,7 +341,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
return errorMessage;
|
||||
}
|
||||
|
||||
private string GetQuickActionHtmlOutput(QuickActionStatusMonitor.cQuickActionOutput quickActionOutput)
|
||||
private static string GetQuickActionHtmlOutput(cFasdQuickAction quickActionDefinition, QuickActionStatusMonitor.cQuickActionOutput quickActionOutput)
|
||||
{
|
||||
string output = string.Empty;
|
||||
|
||||
@@ -366,7 +359,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
if (singleOutput.Value is null)
|
||||
return output;
|
||||
|
||||
var displayValue = singleOutput.GetDisplayValue(_quickActionDefinition?.ColumnOutputFormattings);
|
||||
var displayValue = singleOutput.GetDisplayValue(quickActionDefinition?.ColumnOutputFormattings);
|
||||
output += "<p>" + cMultiLanguageSupport.GetItem("QuickAction.Copy.Output.Html") + " " + displayValue + "</p>";
|
||||
break;
|
||||
}
|
||||
@@ -379,11 +372,11 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
|
||||
foreach (var value in listOutput.Values[0])
|
||||
{
|
||||
if (ShouldHideQuickActionOutput(value.Key))
|
||||
if (ShouldHideQuickActionOutput(quickActionDefinition, value.Key))
|
||||
continue;
|
||||
|
||||
string headingValue = value.Key;
|
||||
if (_quickActionDefinition.ColumnOutputFormattings?.TryGetValue(value.Key, out var outputFormatting) ?? false)
|
||||
if (quickActionDefinition.ColumnOutputFormattings?.TryGetValue(value.Key, out var outputFormatting) ?? false)
|
||||
headingValue = outputFormatting.Names.GetValue();
|
||||
|
||||
output += "<th align=\"left\">";
|
||||
@@ -400,10 +393,10 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
for (int j = 0; j < listOutput.Values[i].Count; j++)
|
||||
{
|
||||
string valueKey = listOutput.Values[0][j].Key;
|
||||
if (ShouldHideQuickActionOutput(valueKey))
|
||||
if (ShouldHideQuickActionOutput(quickActionDefinition, valueKey))
|
||||
continue;
|
||||
|
||||
string displayValue = listOutput.GetDisplayValue(i, j, _quickActionDefinition.ColumnOutputFormattings);
|
||||
string displayValue = listOutput.GetDisplayValue(i, j, quickActionDefinition.ColumnOutputFormattings);
|
||||
|
||||
if (string.IsNullOrWhiteSpace(displayValue))
|
||||
continue;
|
||||
@@ -429,11 +422,11 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
{
|
||||
var value = objectOutput.Values[i];
|
||||
|
||||
if (ShouldHideQuickActionOutput(value.Key))
|
||||
if (ShouldHideQuickActionOutput(quickActionDefinition, value.Key))
|
||||
continue;
|
||||
|
||||
string headingValue = value.Key;
|
||||
if (_quickActionDefinition.ColumnOutputFormattings?.TryGetValue(value.Key, out var outputFormatting) ?? false)
|
||||
if (quickActionDefinition.ColumnOutputFormattings?.TryGetValue(value.Key, out var outputFormatting) ?? false)
|
||||
headingValue = outputFormatting.Names.GetValue();
|
||||
|
||||
output += "<tr>";
|
||||
@@ -442,7 +435,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
output += "</td>";
|
||||
|
||||
output += "<td>";
|
||||
string displayValue = objectOutput.GetDisplayValue(i, _quickActionDefinition.ColumnOutputFormattings);
|
||||
string displayValue = objectOutput.GetDisplayValue(i, quickActionDefinition.ColumnOutputFormattings);
|
||||
output += !string.IsNullOrWhiteSpace(displayValue) ? displayValue : null;
|
||||
output += "</td>";
|
||||
|
||||
@@ -462,7 +455,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
return output;
|
||||
}
|
||||
|
||||
private string GetQuickActionHtmlValueComparison(List<QuickActionStatusMonitor.cQuickActionMeasureValue> measureValues)
|
||||
private static string GetQuickActionHtmlValueComparison(List<QuickActionStatusMonitor.cQuickActionMeasureValue> measureValues)
|
||||
{
|
||||
string output = string.Empty;
|
||||
|
||||
@@ -474,6 +467,7 @@ namespace FasdDesktopUi.Basics.Services.ProtocollService
|
||||
output += "<p>" + cMultiLanguageSupport.GetItem("QuickAction.Copy.Measure.Html") + "</p>";
|
||||
|
||||
cUtility.RawValueFormatter.SetDefaultCulture(new System.Globalization.CultureInfo(cFasdCockpitConfig.Instance.SelectedLanguage));
|
||||
cUtility.RawValueFormatter.SetDefaultTimeZone(TimeZoneInfo.Local);
|
||||
|
||||
foreach (var measureValue in measureValues)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user