aktueller stand
This commit is contained in:
@@ -87,14 +87,23 @@ namespace C4IT.DataHistoryProvider
|
||||
}
|
||||
|
||||
// check for special parameters
|
||||
switch (_item.Name)
|
||||
{
|
||||
case "InformationClassSearchPriority":
|
||||
var _val = getInformationClassSearchPriority(_item, Parser);
|
||||
if (_val != null)
|
||||
_result.Items[_val.Name] = _val;
|
||||
continue;
|
||||
}
|
||||
switch (_item.Name)
|
||||
{
|
||||
case "InformationClassSearchPriority":
|
||||
var _val = getInformationClassSearchPriority(_item, Parser);
|
||||
if (_val != null)
|
||||
_result.Items[_val.Name] = _val;
|
||||
continue;
|
||||
case "OpenActivitiesExternally":
|
||||
var _openActivitiesEntry = getOpenActivitiesExternallyEntry(_item);
|
||||
if (_openActivitiesEntry != null)
|
||||
_result.Items[_openActivitiesEntry.Name] = _openActivitiesEntry;
|
||||
|
||||
var _overrideValues = getOpenActivitiesExternallyOverrides(_item, Parser);
|
||||
if (_overrideValues != null && _overrideValues.ValueList != null && _overrideValues.ValueList.Count > 0)
|
||||
_result.Items[_overrideValues.Name] = _overrideValues;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (_attPolicy != null && _attValue != null && _ElementCount == 0)
|
||||
{
|
||||
@@ -148,8 +157,8 @@ namespace C4IT.DataHistoryProvider
|
||||
return _result;
|
||||
}
|
||||
|
||||
private cConfigHelperParameterEntry getInformationClassSearchPriority(XmlElement XNode, cXmlParser Parser)
|
||||
{
|
||||
private cConfigHelperParameterEntry getInformationClassSearchPriority(XmlElement XNode, cXmlParser Parser)
|
||||
{
|
||||
|
||||
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
|
||||
|
||||
@@ -222,7 +231,124 @@ namespace C4IT.DataHistoryProvider
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static cConfigHelperParameterEntry getOpenActivitiesExternallyEntry(XmlElement XNode)
|
||||
{
|
||||
var _policy = cXmlParser.GetEnumFromAttribute<enumConfigPolicy>(XNode, "Policy", enumConfigPolicy.Default);
|
||||
var _value = cXmlParser.GetStringFromXmlAttribute(XNode, "Value", String.Empty);
|
||||
|
||||
if (string.IsNullOrWhiteSpace(_value))
|
||||
return null;
|
||||
|
||||
return new cConfigHelperParameterEntry()
|
||||
{
|
||||
Name = "OpenActivitiesExternally",
|
||||
Value = _value,
|
||||
Policy = _policy.ToString(),
|
||||
};
|
||||
}
|
||||
|
||||
private cConfigHelperParameterEntry getOpenActivitiesExternallyOverrides(XmlElement XNode, cXmlParser Parser)
|
||||
{
|
||||
|
||||
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
|
||||
|
||||
try
|
||||
{
|
||||
var _xNodes = XNode.ChildNodes;
|
||||
var _policy = cXmlParser.GetEnumFromAttribute<enumConfigPolicy>(XNode, "Policy", enumConfigPolicy.Default);
|
||||
var _result = new List<string>();
|
||||
|
||||
foreach (var _xNode in _xNodes)
|
||||
{
|
||||
if (!(_xNode is XmlElement _item))
|
||||
continue;
|
||||
|
||||
Parser.EnterElement(_item.Name);
|
||||
|
||||
try
|
||||
{
|
||||
if (_item.Name != "OpenActivityOverride")
|
||||
{
|
||||
var _msg = $"Invalid entry in F4SD-Global-Configuration.xml: {_item.Name}, should be <OpenActivityOverride/>";
|
||||
Parser.AddMessage(_item, _msg, LogLevels.Warning);
|
||||
LogEntry(_msg, LogLevels.Warning);
|
||||
continue;
|
||||
}
|
||||
|
||||
var activityType = cXmlParser.GetStringFromXmlAttribute(_item, "ActivityType", String.Empty)?.Trim();
|
||||
if (string.IsNullOrWhiteSpace(activityType))
|
||||
{
|
||||
var _msg = $"Missing ActivityType attribute value in entry {_item.Name}";
|
||||
Parser.AddMessage(_item, _msg, LogLevels.Warning);
|
||||
LogEntry(_msg, LogLevels.Warning);
|
||||
continue;
|
||||
}
|
||||
|
||||
var valueText = cXmlParser.GetStringFromXmlAttribute(_item, "Value", String.Empty)?.Trim();
|
||||
if (string.IsNullOrWhiteSpace(valueText))
|
||||
{
|
||||
var _msg = $"Missing Value attribute value in entry {_item.Name} ({activityType})";
|
||||
Parser.AddMessage(_item, _msg, LogLevels.Warning);
|
||||
LogEntry(_msg, LogLevels.Warning);
|
||||
continue;
|
||||
}
|
||||
|
||||
var normalizedValue = valueText.ToLowerInvariant();
|
||||
bool? parsedValue = null;
|
||||
switch (normalizedValue)
|
||||
{
|
||||
case "true":
|
||||
case "1":
|
||||
case "yes":
|
||||
parsedValue = true;
|
||||
break;
|
||||
case "false":
|
||||
case "0":
|
||||
case "no":
|
||||
parsedValue = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!parsedValue.HasValue)
|
||||
{
|
||||
var _msg = $"Invalid Value attribute value ({valueText}) in entry {_item.Name} ({activityType})";
|
||||
Parser.AddMessage(_item, _msg, LogLevels.Warning);
|
||||
LogEntry(_msg, LogLevels.Warning);
|
||||
continue;
|
||||
}
|
||||
|
||||
_result.Add($"{activityType}={(parsedValue.Value ? "true" : "false")}");
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Parser.LeaveElement(_item.Name);
|
||||
}
|
||||
}
|
||||
|
||||
return new cConfigHelperParameterEntry()
|
||||
{
|
||||
Name = "OpenActivitiesExternallyOverrides",
|
||||
ValueList = _result,
|
||||
Policy = _policy.ToString()
|
||||
};
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (CM != null) LogMethodEnd(CM);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public override bool DoXmlUpdates(XmlElement XmlRoot, bool withM42Config = false, bool withIntuneConfig = false, bool withMobileDeviceConfig = false, bool withCitrixConfig = false)
|
||||
{
|
||||
@@ -295,13 +421,8 @@ namespace C4IT.DataHistoryProvider
|
||||
);
|
||||
RetVal |= DoXmlInsertElement(XmlRoot
|
||||
, "TicketConfiguration"
|
||||
, "OpenTicketsExternally"
|
||||
, "<OpenTicketsExternally Policy=\"Hidden\" Value=\"false\" />"
|
||||
);
|
||||
RetVal |= DoXmlInsertElement(XmlRoot
|
||||
, "TicketConfiguration"
|
||||
, "OpenIncidentsExternally"
|
||||
, "<OpenIncidentsExternally Policy=\"Hidden\" Value=\"false\" />"
|
||||
, "OpenActivitiesExternally"
|
||||
, "<OpenActivitiesExternally Policy=\"Hidden\" Value=\"false\" />"
|
||||
);
|
||||
RetVal |= DoXmlInsertElement(XmlRoot
|
||||
, "TicketConfiguration"
|
||||
|
||||
Reference in New Issue
Block a user