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>
<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-Column Name="id" SourceName="Id" Type="guid" />
<Table-Column Name="SysObjectId" SourceName="Sys-ObjectId" Type="guid" />

View File

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

View File

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

View File

@@ -381,7 +381,7 @@ namespace C4IT.DataHistoryProvider
RetVal |= DoXmlInsertElement(XmlRoot
, "DataCluster[@Name='M42Tickets']"
, "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']"
);
@@ -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;
if (categoriesColumns != null)
{
@@ -2507,12 +2517,13 @@ namespace C4IT.DataHistoryProvider
}
public class cDataHistoryConfigQueryTemplateM42DataQueryItems : cDataHistoryConfigQueryTemplate
{
public string EntityClassName { get; private set; } = null;
public List<string> EntityTypeNames { get; private set; } = null;
public string OrderBy { get; private set; } = null;
public string WhereExpression { get; private set; } = null;
public class cDataHistoryConfigQueryTemplateM42DataQueryItems : cDataHistoryConfigQueryTemplate
{
public string EntityClassName { get; private set; } = null;
public List<string> EntityTypeNames { get; private set; } = null;
public string OrderBy { get; private set; } = null;
public string WhereExpression { get; private set; } = null;
public string DataQueryName { get; private set; } = null;
internal cDataHistoryConfigQueryTemplateM42DataQueryItems(XmlElement XNode, cXmlParser Parser) :
@@ -2544,10 +2555,11 @@ namespace C4IT.DataHistoryProvider
EntityTypeNames.Add(_e2);
}
OrderBy = cXmlParser.GetStringFromXmlAttribute(XNode2, "OrderBy");
WhereExpression = cXmlParser.GetStringFromXmlAttribute(XNode2, "WhereExpression");
Parser.LeaveElement("Matrix42-DataQueryItems-Template");
OrderBy = cXmlParser.GetStringFromXmlAttribute(XNode2, "OrderBy");
WhereExpression = cXmlParser.GetStringFromXmlAttribute(XNode2, "WhereExpression");
DataQueryName = cXmlParser.GetStringFromXmlAttribute(XNode2, "DataQueryName");
Parser.LeaveElement("Matrix42-DataQueryItems-Template");
IsValid = true;
}

View File

@@ -713,7 +713,7 @@
</Table-Columns>
</Table>
<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-Column Name="id" SourceName="Id" Type="guid" />
<Table-Column Name="SysObjectId" SourceName="Sys-ObjectId" Type="guid" />

View File

@@ -713,7 +713,7 @@
</Table-Columns>
</Table>
<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-Column Name="id" SourceName="Id" Type="guid" />
<Table-Column Name="SysObjectId" SourceName="Sys-ObjectId" Type="guid" />

View File

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