Rename activity filter configuration to ticket filters

This commit is contained in:
Drechsler, Meik
2026-07-23 12:46:46 +02:00
parent 275d884bfe
commit 52e74deb57
9 changed files with 64 additions and 60 deletions

View File

@@ -25,7 +25,7 @@ namespace C4IT.DataHistoryProvider
private const string constConfigRootElement = "F4SD-Global-Configuration";
public cConfigHelperParameterList Parameters { get; private set; } = null;
public cActivityFilterPolicy ActivityFilters { get; private set; } = new cActivityFilterPolicy();
public cTicketFilterPolicy TicketFilters { get; private set; } = new cTicketFilterPolicy();
private cDataHistoryConfigInfrastructure InfrastructureConfig = null;
@@ -111,8 +111,8 @@ namespace C4IT.DataHistoryProvider
if (_ticketProcessingEntry != null)
_result.Items[_ticketProcessingEntry.Name] = _ticketProcessingEntry;
continue;
case "ActivityFilters":
ActivityFilters = getActivityFilters(_item, Parser);
case "TicketFilters":
TicketFilters = getTicketFilters(_item, Parser);
continue;
}
@@ -166,20 +166,20 @@ namespace C4IT.DataHistoryProvider
return _result;
}
private static cActivityFilterPolicy getActivityFilters(XmlElement node, cXmlParser parser)
private static cTicketFilterPolicy getTicketFilters(XmlElement node, cXmlParser parser)
{
var result = new cActivityFilterPolicy();
var result = new cTicketFilterPolicy();
foreach (XmlElement filterNode in node.SelectNodes("Filter").OfType<XmlElement>())
{
parser.EnterElement(filterNode.Name);
try
{
if (!Enum.TryParse(filterNode.GetAttribute("Match"), true, out enumActivityFilterMatch match))
match = enumActivityFilterMatch.exclude;
if (!Enum.TryParse(filterNode.GetAttribute("EmptyHandling"), true, out enumActivityFilterEmptyHandling emptyHandling))
emptyHandling = enumActivityFilterEmptyHandling.include;
if (!Enum.TryParse(filterNode.GetAttribute("Match"), true, out enumTicketFilterMatch match))
match = enumTicketFilterMatch.exclude;
if (!Enum.TryParse(filterNode.GetAttribute("EmptyHandling"), true, out enumTicketFilterEmptyHandling emptyHandling))
emptyHandling = enumTicketFilterEmptyHandling.include;
var filter = new cActivityFilter
var filter = new cTicketFilter
{
Provider = filterNode.GetAttribute("Provider"),
Field = filterNode.GetAttribute("Field"),
@@ -190,7 +190,7 @@ namespace C4IT.DataHistoryProvider
foreach (XmlElement valueNode in filterNode.SelectNodes("Value").OfType<XmlElement>())
{
filter.Values.Add(new cActivityFilterValue
filter.Values.Add(new cTicketFilterValue
{
ID = valueNode.GetAttribute("ID"),
Name = valueNode.GetAttribute("Name")
@@ -208,7 +208,7 @@ namespace C4IT.DataHistoryProvider
return result;
}
private string getDefaultActivityFiltersXml()
private string getDefaultTicketFiltersXml()
{
var queueOption = InfrastructureConfig?.M42Wpm?.ActivityQueueFilterOption
?? enumActivityQueueFilterOptions.showAll;
@@ -216,11 +216,11 @@ namespace C4IT.DataHistoryProvider
?? new List<cApiM42TicketQueueInfo>();
var enableQueueFilter = queueOption != enumActivityQueueFilterOptions.showAll && queues.Count > 0;
var emptyHandling = queueOption == enumActivityQueueFilterOptions.onlyListedQueues
? enumActivityFilterEmptyHandling.exclude
: enumActivityFilterEmptyHandling.include;
? enumTicketFilterEmptyHandling.exclude
: enumTicketFilterEmptyHandling.include;
var xml = new StringBuilder();
xml.Append("<ActivityFilters>");
xml.Append("<TicketFilters>");
xml.AppendFormat(
"<Filter Provider=\"Matrix42\" Field=\"Queue\" Enabled=\"{0}\" Match=\"include\" EmptyHandling=\"{1}\">",
enableQueueFilter.ToString().ToLowerInvariant(),
@@ -243,7 +243,7 @@ namespace C4IT.DataHistoryProvider
xml.Append("<Value ID=\"1676de08-27f3-550c-b410-5610e807aa02\" Name=\"HR Service Management\" />");
xml.Append("<Value ID=\"ed7dde08-199e-c27b-b410-562b64037aa1\" Name=\"Gebäudemanagement\" />");
xml.Append("</Filter>");
xml.Append("</ActivityFilters>");
xml.Append("</TicketFilters>");
return xml.ToString();
}
@@ -582,12 +582,16 @@ namespace C4IT.DataHistoryProvider
);
RetVal |= DoXmlInsertElement(XmlRoot
, "TicketConfiguration"
, "ActivityFilters"
, getDefaultActivityFiltersXml()
, "TicketFilters"
, getDefaultTicketFiltersXml()
);
RetVal |= DoXmlRemoveElement(XmlRoot
, "TicketConfiguration"
, "OpenActivitiesExternally"
RetVal |= DoXmlRemoveElement(XmlRoot
, "TicketConfiguration"
, "ActivityFilters"
);
RetVal |= DoXmlRemoveElement(XmlRoot
, "TicketConfiguration"
, "OpenActivitiesExternally"
);
RetVal |= DoXmlInsertElement(XmlRoot
, "TicketConfiguration"