DataQueryName kann optional angegeben werden

This commit is contained in:
Meik
2026-02-05 14:12:54 +01:00
parent f7130eebac
commit c647b81350
8 changed files with 69 additions and 51 deletions

View File

@@ -713,7 +713,7 @@
</Table-Columns> </Table-Columns>
</Table> </Table>
<Table Name="M42Wpm-Ticket-QuickCalls" Type="Selection" Key="id"> <Table Name="M42Wpm-Ticket-QuickCalls" Type="Selection" Key="id">
<Matrix42-DataQueryItems-Template EntityClassName="SPSQuickCallClassBase" EntityTypeNames="SPSQuickCallType" OrderBy="" WhereExpression="Restricted = 0" /> <Matrix42-DataQueryItems-Template EntityClassName="SPSQuickCallClassBase" EntityTypeNames="SPSQuickCallType" OrderBy="" WhereExpression="Restricted = 0" DataQueryName="C4IT - F4SD - Quick Calls" />
<Table-Columns> <Table-Columns>
<Table-Column Name="id" SourceName="Id" Type="guid" /> <Table-Column Name="id" SourceName="Id" Type="guid" />
<Table-Column Name="SysObjectId" SourceName="Sys-ObjectId" Type="guid" /> <Table-Column Name="SysObjectId" SourceName="Sys-ObjectId" Type="guid" />

View File

@@ -290,11 +290,12 @@
<xs:element name="Matrix42-DataQueryItems-Template"> <xs:element name="Matrix42-DataQueryItems-Template">
<xs:complexType> <xs:complexType>
<xs:attribute name="EntityClassName" type="xs:NCName" use="required"/> <xs:attribute name="EntityClassName" type="xs:NCName" use="required"/>
<xs:attribute name="EntityTypeNames" type="ColumnList" use="required"/> <xs:attribute name="EntityTypeNames" type="ColumnList" use="required"/>
<xs:attribute name="OrderBy" type="xs:string " use="optional"/> <xs:attribute name="OrderBy" type="xs:string " use="optional"/>
<xs:attribute name="WhereExpression" type="xs:string " use="optional"/> <xs:attribute name="WhereExpression" type="xs:string " use="optional"/>
</xs:complexType> <xs:attribute name="DataQueryName" type="xs:string" use="optional"/>
</xs:element> </xs:complexType>
</xs:element>
<xs:element name="Table-Columns"> <xs:element name="Table-Columns">
<xs:complexType> <xs:complexType>
@@ -427,4 +428,4 @@
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:schema> </xs:schema>

View File

@@ -2262,15 +2262,16 @@ namespace C4IT.DataHistoryProvider
} }
var _cols = Table.KeyColumns.First().SourceName; var _cols = Table.KeyColumns.First().SourceName;
var _QueryRelationInfo = new cM42DataQueryRelationInfo() var _QueryRelationInfo = new cM42DataQueryRelationInfo()
{ {
EntityClassName = _template.EntityClassName, EntityClassName = _template.EntityClassName,
EntityTypeName = string.Join(",", _template.EntityTypeNames), EntityTypeName = string.Join(",", _template.EntityTypeNames),
search = search, DataQueryName = string.IsNullOrWhiteSpace(_template.DataQueryName) ? null : _template.DataQueryName,
WhereExpression = _whereExpr, search = search,
pageSize = 0, WhereExpression = _whereExpr,
page = 0, pageSize = 0,
totalCounted = true, page = 0,
totalCounted = true,
columns = _cols columns = _cols
}; };
@@ -2320,14 +2321,15 @@ namespace C4IT.DataHistoryProvider
var _cols = Table.KeyColumns.First().SourceName; var _cols = Table.KeyColumns.First().SourceName;
var _QueryRelationInfo = new cM42DataQueryRelationInfo() var _QueryRelationInfo = new cM42DataQueryRelationInfo()
{ {
EntityClassName = _template.EntityClassName, EntityClassName = _template.EntityClassName,
EntityTypeName = string.Join(",", _template.EntityTypeNames), EntityTypeName = string.Join(",", _template.EntityTypeNames),
WhereExpression = _whereExpr, DataQueryName = string.IsNullOrWhiteSpace(_template.DataQueryName) ? null : _template.DataQueryName,
search = search, WhereExpression = _whereExpr,
pageSize = PageSize, search = search,
page = Page, pageSize = PageSize,
page = Page,
columns = _cols columns = _cols
}; };
@@ -4066,14 +4068,16 @@ namespace C4IT.DataHistoryProvider
} }
} }
public class cM42DataQueryRelationInfo public class cM42DataQueryRelationInfo
{ {
public int ClientTimeOffset { get; set; } = 0; public int ClientTimeOffset { get; set; } = 0;
public string EntityClassName { get; set; } public string EntityClassName { get; set; }
public string EntityTypeName { get; set; } public string EntityTypeName { get; set; }
public string AddedRelations { get; set; } = ""; [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public string RemovedRelations { get; set; } = ""; public string DataQueryName { get; set; }
public string WhereExpression { get; set; } = ""; public string AddedRelations { get; set; } = "";
public string RemovedRelations { get; set; } = "";
public string WhereExpression { get; set; } = "";
public cM42QueryFilterGroup AdditionalFilter { get; set; } = new cM42QueryFilterGroup(); public cM42QueryFilterGroup AdditionalFilter { get; set; } = new cM42QueryFilterGroup();
public int pageSize { get; set; } = 20; public int pageSize { get; set; } = 20;
public int page { get; set; } = 0; public int page { get; set; } = 0;

View File

@@ -381,7 +381,7 @@ namespace C4IT.DataHistoryProvider
RetVal |= DoXmlInsertElement(XmlRoot RetVal |= DoXmlInsertElement(XmlRoot
, "DataCluster[@Name='M42Tickets']" , "DataCluster[@Name='M42Tickets']"
, "Table[@Name='M42Wpm-Ticket-QuickCalls']" , "Table[@Name='M42Wpm-Ticket-QuickCalls']"
, "<Table Name=\"M42Wpm-Ticket-QuickCalls\" Type=\"Selection\" Key=\"id\"><Matrix42-DataQueryItems-Template EntityClassName=\"SPSQuickCallClassBase\" EntityTypeNames=\"SPSQuickCallType\" OrderBy=\"\" WhereExpression=\"Restricted = 0\"/><Table-Columns><Table-Column Name=\"id\" SourceName=\"Id\" Type=\"guid\"/><Table-Column Name=\"SysObjectId\" SourceName=\"Sys-ObjectId\" Type=\"guid\"/><Table-Column Name=\"SysName\" SourceName=\"Sys-Name\" Type=\"string\" Cardinal=\"50\"/><Table-Column Name=\"Name\" Type=\"string\" Cardinal=\"300\"/><Table-Column Name=\"Subject\" Type=\"string\" Cardinal=\"1024\"/><Table-Column Name=\"Priority\" Type=\"string\" Cardinal=\"100\"/><Table-Column Name=\"Responsible\" Type=\"string\" Cardinal=\"300\"/><Table-Column Name=\"ResponsibleRole\" Type=\"string\" Cardinal=\"300\"/><Table-Column Name=\"Category\" SourceName=\"Category_Value\" Type=\"guid\"/></Table-Columns></Table>" , "<Table Name=\"M42Wpm-Ticket-QuickCalls\" Type=\"Selection\" Key=\"id\"><Matrix42-DataQueryItems-Template EntityClassName=\"SPSQuickCallClassBase\" EntityTypeNames=\"SPSQuickCallType\" OrderBy=\"\" WhereExpression=\"Restricted = 0\" DataQueryName=\"C4IT - F4SD - Quick Calls\"/><Table-Columns><Table-Column Name=\"id\" SourceName=\"Id\" Type=\"guid\"/><Table-Column Name=\"SysObjectId\" SourceName=\"Sys-ObjectId\" Type=\"guid\"/><Table-Column Name=\"SysName\" SourceName=\"Sys-Name\" Type=\"string\" Cardinal=\"50\"/><Table-Column Name=\"Name\" Type=\"string\" Cardinal=\"300\"/><Table-Column Name=\"Subject\" Type=\"string\" Cardinal=\"1024\"/><Table-Column Name=\"Priority\" Type=\"string\" Cardinal=\"100\"/><Table-Column Name=\"Responsible\" Type=\"string\" Cardinal=\"300\"/><Table-Column Name=\"ResponsibleRole\" Type=\"string\" Cardinal=\"300\"/><Table-Column Name=\"Category\" SourceName=\"Category_Value\" Type=\"guid\"/></Table-Columns></Table>"
, "Table[@Name='M42Wpm-Ticket-Assets']" , "Table[@Name='M42Wpm-Ticket-Assets']"
); );
@@ -516,6 +516,16 @@ namespace C4IT.DataHistoryProvider
} }
} }
var quickCallsTemplate = XmlRoot.SelectSingleNode("DataCluster[@Name='M42Tickets']/Table[@Name='M42Wpm-Ticket-QuickCalls']/Matrix42-DataQueryItems-Template") as XmlElement;
if (quickCallsTemplate != null)
{
if (!string.Equals(quickCallsTemplate.GetAttribute("DataQueryName"), "C4IT - F4SD - Quick Calls", StringComparison.OrdinalIgnoreCase))
{
quickCallsTemplate.SetAttribute("DataQueryName", "C4IT - F4SD - Quick Calls");
RetVal = true;
}
}
var categoriesColumns = XmlRoot.SelectSingleNode("DataCluster[@Name='M42Tickets']/Table[@Name='M42Wpm-Ticket-Categories']/Table-Columns") as XmlElement; var categoriesColumns = XmlRoot.SelectSingleNode("DataCluster[@Name='M42Tickets']/Table[@Name='M42Wpm-Ticket-Categories']/Table-Columns") as XmlElement;
if (categoriesColumns != null) if (categoriesColumns != null)
{ {
@@ -2507,12 +2517,13 @@ namespace C4IT.DataHistoryProvider
} }
public class cDataHistoryConfigQueryTemplateM42DataQueryItems : cDataHistoryConfigQueryTemplate public class cDataHistoryConfigQueryTemplateM42DataQueryItems : cDataHistoryConfigQueryTemplate
{ {
public string EntityClassName { get; private set; } = null; public string EntityClassName { get; private set; } = null;
public List<string> EntityTypeNames { get; private set; } = null; public List<string> EntityTypeNames { get; private set; } = null;
public string OrderBy { get; private set; } = null; public string OrderBy { get; private set; } = null;
public string WhereExpression { get; private set; } = null; public string WhereExpression { get; private set; } = null;
public string DataQueryName { get; private set; } = null;
internal cDataHistoryConfigQueryTemplateM42DataQueryItems(XmlElement XNode, cXmlParser Parser) : internal cDataHistoryConfigQueryTemplateM42DataQueryItems(XmlElement XNode, cXmlParser Parser) :
@@ -2544,10 +2555,11 @@ namespace C4IT.DataHistoryProvider
EntityTypeNames.Add(_e2); EntityTypeNames.Add(_e2);
} }
OrderBy = cXmlParser.GetStringFromXmlAttribute(XNode2, "OrderBy"); OrderBy = cXmlParser.GetStringFromXmlAttribute(XNode2, "OrderBy");
WhereExpression = cXmlParser.GetStringFromXmlAttribute(XNode2, "WhereExpression"); WhereExpression = cXmlParser.GetStringFromXmlAttribute(XNode2, "WhereExpression");
DataQueryName = cXmlParser.GetStringFromXmlAttribute(XNode2, "DataQueryName");
Parser.LeaveElement("Matrix42-DataQueryItems-Template");
Parser.LeaveElement("Matrix42-DataQueryItems-Template");
IsValid = true; IsValid = true;
} }

View File

@@ -713,7 +713,7 @@
</Table-Columns> </Table-Columns>
</Table> </Table>
<Table Name="M42Wpm-Ticket-QuickCalls" Type="Selection" Key="id"> <Table Name="M42Wpm-Ticket-QuickCalls" Type="Selection" Key="id">
<Matrix42-DataQueryItems-Template EntityClassName="SPSQuickCallClassBase" EntityTypeNames="SPSQuickCallType" OrderBy="" WhereExpression="Restricted = 0" /> <Matrix42-DataQueryItems-Template EntityClassName="SPSQuickCallClassBase" EntityTypeNames="SPSQuickCallType" OrderBy="" WhereExpression="Restricted = 0" DataQueryName="C4IT - F4SD - Quick Calls" />
<Table-Columns> <Table-Columns>
<Table-Column Name="id" SourceName="Id" Type="guid" /> <Table-Column Name="id" SourceName="Id" Type="guid" />
<Table-Column Name="SysObjectId" SourceName="Sys-ObjectId" Type="guid" /> <Table-Column Name="SysObjectId" SourceName="Sys-ObjectId" Type="guid" />

View File

@@ -713,7 +713,7 @@
</Table-Columns> </Table-Columns>
</Table> </Table>
<Table Name="M42Wpm-Ticket-QuickCalls" Type="Selection" Key="id"> <Table Name="M42Wpm-Ticket-QuickCalls" Type="Selection" Key="id">
<Matrix42-DataQueryItems-Template EntityClassName="SPSQuickCallClassBase" EntityTypeNames="SPSQuickCallType" OrderBy="" WhereExpression="Restricted = 0" /> <Matrix42-DataQueryItems-Template EntityClassName="SPSQuickCallClassBase" EntityTypeNames="SPSQuickCallType" OrderBy="" WhereExpression="Restricted = 0" DataQueryName="C4IT - F4SD - Quick Calls" />
<Table-Columns> <Table-Columns>
<Table-Column Name="id" SourceName="Id" Type="guid" /> <Table-Column Name="id" SourceName="Id" Type="guid" />
<Table-Column Name="SysObjectId" SourceName="Sys-ObjectId" Type="guid" /> <Table-Column Name="SysObjectId" SourceName="Sys-ObjectId" Type="guid" />

View File

@@ -290,11 +290,12 @@
<xs:element name="Matrix42-DataQueryItems-Template"> <xs:element name="Matrix42-DataQueryItems-Template">
<xs:complexType> <xs:complexType>
<xs:attribute name="EntityClassName" type="xs:NCName" use="required"/> <xs:attribute name="EntityClassName" type="xs:NCName" use="required"/>
<xs:attribute name="EntityTypeNames" type="ColumnList" use="required"/> <xs:attribute name="EntityTypeNames" type="ColumnList" use="required"/>
<xs:attribute name="OrderBy" type="xs:string " use="optional"/> <xs:attribute name="OrderBy" type="xs:string " use="optional"/>
<xs:attribute name="WhereExpression" type="xs:string " use="optional"/> <xs:attribute name="WhereExpression" type="xs:string " use="optional"/>
</xs:complexType> <xs:attribute name="DataQueryName" type="xs:string" use="optional"/>
</xs:element> </xs:complexType>
</xs:element>
<xs:element name="Table-Columns"> <xs:element name="Table-Columns">
<xs:complexType> <xs:complexType>
@@ -427,4 +428,4 @@
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:schema> </xs:schema>