aktueller stand
This commit is contained in:
@@ -62,39 +62,45 @@
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="C4IT.F4SD.DisplayFormatting, Version=1.0.9509.21303, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\C4IT.F4SD.DisplayFormatting.1.0.0\lib\netstandard2.0\C4IT.F4SD.DisplayFormatting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="C4IT.F4SD.SupportCaseProtocoll, Version=1.0.9516.21165, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\C4IT.F4SD.SupportCaseProtocoll.1.0.0\lib\netstandard2.0\C4IT.F4SD.SupportCaseProtocoll.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MaterialIcons, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MaterialIcons.1.0.3\lib\MaterialIcons.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.7\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.2\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.TimeProvider, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.TimeProvider.9.0.7\lib\net462\Microsoft.Bcl.TimeProvider.dll</HintPath>
|
||||
<Reference Include="Microsoft.Bcl.TimeProvider, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.TimeProvider.10.0.2\lib\net462\Microsoft.Bcl.TimeProvider.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=9.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.7\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
|
||||
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=10.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.10.0.2\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=9.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.9.0.7\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
|
||||
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=10.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.10.0.2\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=8.13.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.8.13.0\lib\net472\Microsoft.IdentityModel.Abstractions.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=8.15.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.8.15.0\lib\net472\Microsoft.IdentityModel.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=8.13.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.JsonWebTokens.8.13.0\lib\net472\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=8.15.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.JsonWebTokens.8.15.0\lib\net472\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Logging, Version=8.13.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Logging.8.13.0\lib\net472\Microsoft.IdentityModel.Logging.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.Logging, Version=8.15.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Logging.8.15.0\lib\net472\Microsoft.IdentityModel.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Tokens, Version=8.13.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Tokens.8.13.0\lib\net472\Microsoft.IdentityModel.Tokens.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.Tokens, Version=8.15.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Tokens.8.15.0\lib\net472\Microsoft.IdentityModel.Tokens.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Administration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>.\Microsoft.Web.Administration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
@@ -102,18 +108,18 @@
|
||||
</Reference>
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Diagnostics.DiagnosticSource, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.9.0.7\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
|
||||
<Reference Include="System.Diagnostics.DiagnosticSource, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.10.0.2\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.DirectoryServices" />
|
||||
<Reference Include="System.DirectoryServices.AccountManagement" />
|
||||
<Reference Include="System.DirectoryServices.Protocols" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=8.13.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IdentityModel.Tokens.Jwt.8.13.0\lib\net472\System.IdentityModel.Tokens.Jwt.dll</HintPath>
|
||||
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=8.15.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IdentityModel.Tokens.Jwt.8.15.0\lib\net472\System.IdentityModel.Tokens.Jwt.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.Pipelines, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IO.Pipelines.9.0.7\lib\net462\System.IO.Pipelines.dll</HintPath>
|
||||
<Reference Include="System.IO.Pipelines, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IO.Pipelines.10.0.2\lib\net462\System.IO.Pipelines.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll</HintPath>
|
||||
@@ -125,11 +131,11 @@
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Text.Encodings.Web, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Encodings.Web.9.0.7\lib\net462\System.Text.Encodings.Web.dll</HintPath>
|
||||
<Reference Include="System.Text.Encodings.Web, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Encodings.Web.10.0.2\lib\net462\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Text.Json, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Json.9.0.7\lib\net462\System.Text.Json.dll</HintPath>
|
||||
<Reference Include="System.Text.Json, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Json.10.0.2\lib\net462\System.Text.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.6.3\lib\net462\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||
@@ -321,6 +327,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="C4IT_2016.ico" />
|
||||
|
||||
Binary file not shown.
@@ -8,7 +8,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
@@ -20,7 +20,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.1" newVersion="10.0.0.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
@@ -32,7 +32,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
@@ -40,15 +40,15 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.TimeProvider" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
@@ -23,7 +23,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.1" newVersion="10.0.0.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
@@ -35,7 +35,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
@@ -43,15 +43,15 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.TimeProvider" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
@@ -762,6 +762,16 @@
|
||||
<Table-Column Name="Description" Type="string" Cardinal="300" />
|
||||
</Table-Columns>
|
||||
</Table>
|
||||
<Table Name="M42Wpm-Ticket-CloseCase-Categories" Type="Selection" Key="id">
|
||||
<Matrix42-DataQueryItems-Template EntityClassName="SPSScCategoryClassBase" EntityTypeNames="SPSScCategoryType" OrderBy="" WhereExpression="Hidden = 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="parent" SourceName="Parent_Value" Type="guid" />
|
||||
</Table-Columns>
|
||||
</Table>
|
||||
<Table Name="M42Wpm-Ticket-Roles" Type="Selection" Key="id">
|
||||
<Matrix42-DataQueryItems-Template EntityClassName="SPSScRoleClassBase" EntityTypeNames="SPSSecurityTypeRole" OrderBy="" WhereExpression="T(SPSSecurityClassRole).ShowInForwardAction = 1 AND T(SPSSecurityClassRole).Queue.ID IS NULL" />
|
||||
<Table-Columns>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<DisableAutomaticTimeTracking Policy="Mandatory" Value="true" />
|
||||
<CompletitionPolicy Policy="Mandatory" Value="IfRequired" />
|
||||
<NotesMandatory Policy="Mandatory" Value="true" />
|
||||
<ShowOverview Policy="Mandatory" Value="true" />
|
||||
<ShowOverview Policy="Mandatory" Value="false" />
|
||||
<OverviewPollingPersonal Policy="Mandatory" Value="10" />
|
||||
<OverviewPollingRole Policy="Mandatory" Value="5" />
|
||||
</TicketConfiguration>
|
||||
|
||||
@@ -948,7 +948,18 @@
|
||||
</StateCategory>
|
||||
<StateCategory Name="BshRegistryKeyExists" IsVisibleByParameter="BshRegistryKeyExists">
|
||||
<State-Info Name="BshRegistryKeyExists" ValueTable="Computation_EmptyConstant" ValueColumn="default" />
|
||||
</StateCategory>
|
||||
<State-Info Name="Printers" ValueTable="agnt-computer-event-string" ValueColumn="BSH_Printers">
|
||||
<Name Lang="DE">Drucker</Name>
|
||||
<State-Details-Valued Format="json">
|
||||
<State-Details-Column Name="Name" Description="Printer name" ValueColumn="Name" Display="STRING">
|
||||
<Description Lang="DE">Druckername</Description>
|
||||
</State-Details-Column>
|
||||
<State-Details-Column Name="Is default" Description="Is selected default printer" ValueColumn="Default" Display="STRING">
|
||||
<Description Lang="DE">Ist Standarddrucker</Description>
|
||||
</State-Details-Column>
|
||||
</State-Details-Valued>
|
||||
</State-Info>
|
||||
</StateCategory>
|
||||
<StateCategory Name="BshRegistryKeyAbsent" IsVisibleByParameter="BshRegistryKeyAbsent">
|
||||
<State-Info Name="BshRegistryKeyAbsent" ValueTable="Computation_EmptyConstant" ValueColumn="default" />
|
||||
</StateCategory>
|
||||
@@ -1051,7 +1062,7 @@
|
||||
<State-Level Name="RAM/Memory free" Display="BYTES" ValueTable="agnt-computer-event-numerical" ValueColumn="MemoryFree" Warning="2147483648" Error="1073741824" Direction="down">
|
||||
<Name Lang="DE">RAM/Arbeitsspeicher frei</Name>
|
||||
</State-Level>
|
||||
<State-Link Reference="RAM_Relative" Hidden="false" />
|
||||
<State-Link Reference="RAM_Relative" />
|
||||
</State-Aggregation>
|
||||
<State-Aggregation Name="Hard disk storage">
|
||||
<Name Lang="DE">Festplatten-Speicher</Name>
|
||||
|
||||
@@ -102,6 +102,13 @@
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="ValuedFormat">
|
||||
<xs:restriction base="xs:NCName">
|
||||
<xs:enumeration value="csv" />
|
||||
<xs:enumeration value="json" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:attributeGroup name="ValuePointer">
|
||||
<xs:attribute name="Name" type="xs:string" use="optional" />
|
||||
<xs:attribute name="ParameterName" type="xs:NCName" use="optional" />
|
||||
@@ -543,7 +550,8 @@
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="State-Details-Base">
|
||||
<xs:attribute name="RowSeparator" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Format" type="ValuedFormat" use="optional"/>
|
||||
<xs:attribute name="RowSeparator" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="ColSeparator" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="StringDecorator" type="Separator" use="optional"/>
|
||||
</xs:extension>
|
||||
|
||||
@@ -76,7 +76,9 @@
|
||||
</AD-Scans>
|
||||
</Active-Directory>
|
||||
<Azure-AD>
|
||||
<Azure-Tenant Domain="c4it365.onmicrosoft.com" TenantID="8f773186-362b-4432-a3e9-d3ad4685f3f1" Credential="AzureAccess" ScanIntuneDevices = "true" WithMobileDevices="true"/>
|
||||
<Azure-Tenant Domain="c4it365.onmicrosoft.com" TenantID="8f773186-362b-4432-a3e9-d3ad4685f3f1" Credential="AzureAccess" ScanIntuneDevices = "true" WithMobileDevices="true">
|
||||
<Azure-Scan-Filter UseConsistencyLevelEventual="true">onPremisesExtensionAttributes/extensionAttribute8 in ('C4IT', 'TS4U') and userType eq 'member' and accountEnabled eq true</Azure-Scan-Filter>
|
||||
</Azure-Tenant>
|
||||
<!--<Azure-Tenant Domain="sd0024.onmicrosoft.com" TenantID="07362148-410e-4636-a9cb-795fba1a5452" Credential="AzureAccess_Dieter"/>-->
|
||||
</Azure-AD>
|
||||
<Matrix42-WPM Server="srvwsm001.imagoverum.com" Credential="M42API-Demo" ClosedTicketHistory="9999" DisplayName="M42 Demo server (imagoverum)" ApiTokenLifetime ="30 days" ActivityQueueFilter="ticketsAndListedQueues">
|
||||
|
||||
@@ -366,7 +366,8 @@
|
||||
<xs:element name="Azure-Tenant">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
<xs:element ref="Azure-Scan-Filter" maxOccurs="1" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Domain" type="xs:string" use="required"/>
|
||||
<xs:attribute name="TenantID" type="guid" use="required"/>
|
||||
<xs:attribute name="Credential" type="xs:NCName" use="required"/>
|
||||
@@ -379,7 +380,11 @@
|
||||
</xs:keyref>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Citrix">
|
||||
<xs:element name="Azure-Scan-Filter">
|
||||
</xs:element>
|
||||
|
||||
|
||||
<xs:element name="Citrix">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/>
|
||||
|
||||
@@ -189,6 +189,9 @@
|
||||
IF NOT EXISTS (SELECT * FROM [main-scans] WHERE [Scan] = 'Default')
|
||||
INSERT INTO [main-scans] ([Scan], [LastTime]) VALUES ('Default','1970-01-01 00:00:00');
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [main-scans] WHERE [Scan] = 'AgentScan-all')
|
||||
INSERT INTO [main-scans] ([Scan], [LastTime]) VALUES ('AgentScan-all','1971-01-01 00:00:00');
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[main-scan-history]') AND type in (N'U'))
|
||||
BEGIN
|
||||
PRINT N'start creating table [main-scan-history]...';
|
||||
@@ -372,6 +375,9 @@
|
||||
IF NOT EXISTS (SELECT * FROM [main-scans] WHERE [Scan] = 'Default')
|
||||
INSERT INTO [main-scans] ([Scan], [LastTime]) VALUES ('Default','1970-01-01 00:00:00');
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM [main-scans] WHERE [Scan] = 'AgentScan-all')
|
||||
INSERT INTO [main-scans] ([Scan], [LastTime]) VALUES ('AgentScan-all','1971-01-01 00:00:00');
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[main-scan-history]') AND type in (N'U'))
|
||||
BEGIN
|
||||
PRINT N'start creating table [main-scan-history]...';
|
||||
@@ -2424,48 +2430,56 @@
|
||||
</Query>
|
||||
<Query Name="CloseUserSession">
|
||||
|
||||
UPDATE [UserSessions]
|
||||
SET [Finish] = @SessionDate
|
||||
WHERE SessionId = @SessionId;
|
||||
IF EXISTS (SELECT TOP 1 * FROM UserSessions WHERE SessionId = @SessionId)
|
||||
BEGIN
|
||||
UPDATE [UserSessions]
|
||||
SET [Finish] = @SessionDate
|
||||
WHERE SessionId = @SessionId;
|
||||
END
|
||||
|
||||
IF NOT EXISTS (SELECT TOP 1 * FROM UserSessions WHERE SessionId = @SessionId) AND EXISTS (SELECT TOP 1 * FROM dbo.Cases WHERE SessionId = @SessionId)
|
||||
BEGIN
|
||||
DECLARE @CurrentTimeStamp DATETIME = GETUTCDATE();
|
||||
INSERT INTO UserSessions
|
||||
( UserId, SessionId, [Start], [Finish] )
|
||||
SELECT TOP 1 UserId,SessionId,[Start],@CurrentTimeStamp FROM Cases
|
||||
WHERE SessionId = @SessionId ORDER BY [Start] ASC;
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT TOP 1 * FROm dbo.Cases WHERE SessionId = @SessionId)
|
||||
BEGIN
|
||||
IF EXISTS (SELECT TOP 1 * FROM dbo.Cases WHERE SessionId = @SessionId)
|
||||
BEGIN
|
||||
INSERT INTO [CaseTime]
|
||||
( CaseId, StatusId, [TimeStamp] )
|
||||
SELECT CaseId, 4, @SessionDate
|
||||
FROM dbo.Cases
|
||||
WHERE SessionId = @SessionId AND Finish IS NULL;
|
||||
|
||||
INSERT INTO [CaseTime]
|
||||
( CaseId, StatusId, [TimeStamp] )
|
||||
SELECT CaseId, 4, @SessionDate
|
||||
FROM dbo.Cases
|
||||
WHERE SessionId = @SessionId AND Finish IS NULL;
|
||||
UPDATE [Cases]
|
||||
SET [Finish] = @SessionDate
|
||||
WHERE SessionId = @SessionId AND Finish IS NULL;
|
||||
END
|
||||
|
||||
UPDATE [Cases]
|
||||
SET [Finish] = @SessionDate
|
||||
WHERE SessionId = @SessionId AND Finish IS NULL;
|
||||
|
||||
END
|
||||
|
||||
</Query>
|
||||
</Query>
|
||||
<Query Name="UpdateCases">
|
||||
|
||||
DECLARE @CurrentTimeStamp DATETIME = GETUTCDATE();
|
||||
|
||||
IF EXISTS (SELECT TOP 1 * FROM dbo.Cases JOIN dbo.CaseTime ON Cases.CaseId = CaseTime.CaseId WHERE Cases.CaseId = @CaseId AND CaseTime.StatusId = 4 )
|
||||
BEGIN
|
||||
UPDATE [CaseTime]
|
||||
SET Statusid = 2
|
||||
FROM dbo.Cases
|
||||
JOIN dbo.CaseTime ON Cases.CaseId = CaseTime.CaseId
|
||||
WHERE Cases.CaseId = @CaseId AND
|
||||
CaseTime.StatusId = 4
|
||||
|
||||
UPDATE [CaseTime]
|
||||
SET Statusid = 2
|
||||
FROM dbo.Cases
|
||||
JOIN dbo.CaseTime ON Cases.CaseId = CaseTime.CaseId
|
||||
WHERE Cases.CaseId = @CaseId AND
|
||||
CaseTime.StatusId = 4
|
||||
|
||||
INSERT INTO [CaseTime]
|
||||
( CaseId, StatusId, [TimeStamp] )
|
||||
SELECT @CaseId, 3, @CurrentTimeStamp;
|
||||
|
||||
UPDATE [Cases]
|
||||
SET [Finish] = NULL
|
||||
WHERE CaseId = @CaseId;
|
||||
INSERT INTO [CaseTime]
|
||||
( CaseId, StatusId, [TimeStamp] )
|
||||
SELECT @CaseId, 3, @CurrentTimeStamp;
|
||||
|
||||
UPDATE [Cases]
|
||||
SET [Finish] = NULL
|
||||
WHERE CaseId = @CaseId;
|
||||
END
|
||||
</Query>
|
||||
<Query Name="InsertTicket">
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<C4IT-License-Info Product="First Aid Service Desk (F4SD)" Id="776D99A6-D341-4B70-BA4B-2CC55B76A079">
|
||||
<License Id="FAE53860-0AE2-4A15-A5D5-7E56D4D29FDE" Revision="1.0" Type="PRODUCTIVE" Customer="Consulting4IT" CustomerId="A3A5E66E-6A91-44E2-9F3A-F04C67642BCB" StartDate="2024-12-01" EndDate="2025-12-31" Signature="SeNeSrKAq/rnvCVui7TMBHkTS4AnygizDBNdLe1w7EdMGaQ2xxTvOcsOrshwqznK/shgGvxofdux0YWV3XyxWeeGwfKqjPobWOnKhp5v3xfeVk+59dx29Yn3/4j+vcJrs8kBhOrZEAkeAHojFVZYsO/SbqWoOcqP5fDw673gjW8=">
|
||||
<License Id="FAE53860-0AE2-4A15-A5D5-7E56D4D29FDE" Revision="1.0" Type="PRODUCTIVE" Customer="Consulting4IT" CustomerId="A3A5E66E-6A91-44E2-9F3A-F04C67642BCB" StartDate="2024-12-01" EndDate="2026-12-31" Signature="A3u3fZ5bU5p3CikLiOyCMdrsJCLtvQkdbUcIhPfo0gZruL4jvy/cXGeqwHgCNK4P+vVJi+7XtxfBvefTFVAs4QT2vSP+m7DPj1CB//zLOEhUHQVqim3KyQiIWtlMi/hruO+XKL6BAOYuNsSOR3eit95e9JPc60qNNL4gArdGe5I=">
|
||||
<License-Metrics Type="ManagedUsers" Count="10000" />
|
||||
<Modules>
|
||||
<Module Name="F4SD client agent connector" Id="F8A3284C-E481-4D08-A921-949D2EBD4E0B" />
|
||||
<Module Name="MS Active Directory connector" Id="B2D48023-56E8-44D5-AB77-BE1DCF4EA4EB" />
|
||||
<Module Name="Matrix42 WPM conntector" Id="9CE1A6BE-6A0C-4A27-94A5-44AB997B8E62" />
|
||||
<Module Name="Nexthink NXQL conntector" Id="51EA7764-3AD3-4F90-89DB-DEB0C60D655C" />
|
||||
<Module Name="Nexthink NXQL conntector" Id="51EA7764-3AD3-4F90-89DB-DEB0C60D655C" />
|
||||
</Modules>
|
||||
</License>
|
||||
</C4IT-License-Info>
|
||||
92
C4IT_DataHistoryProvider_Test/ctrlCitrix.Designer.cs
generated
92
C4IT_DataHistoryProvider_Test/ctrlCitrix.Designer.cs
generated
@@ -28,13 +28,59 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.ctrlProtocolBox1 = new C4IT_DataHistoryProvider_Test.ctrlProtocolBox();
|
||||
this.buttonCheckConnection = new System.Windows.Forms.Button();
|
||||
this.btnGetUsers = new System.Windows.Forms.Button();
|
||||
this.btnGetSessions = new System.Windows.Forms.Button();
|
||||
this.btnScanUsers = new System.Windows.Forms.Button();
|
||||
this.ctrlProtocolBox1 = new C4IT_DataHistoryProvider_Test.ctrlProtocolBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// buttonCheckConnection
|
||||
//
|
||||
this.buttonCheckConnection.Location = new System.Drawing.Point(22, 38);
|
||||
this.buttonCheckConnection.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
|
||||
this.buttonCheckConnection.Name = "buttonCheckConnection";
|
||||
this.buttonCheckConnection.Size = new System.Drawing.Size(210, 46);
|
||||
this.buttonCheckConnection.TabIndex = 14;
|
||||
this.buttonCheckConnection.Text = "Check connection";
|
||||
this.buttonCheckConnection.UseVisualStyleBackColor = true;
|
||||
this.buttonCheckConnection.Click += new System.EventHandler(this.buttonCheckConnection_Click);
|
||||
//
|
||||
// btnGetUsers
|
||||
//
|
||||
this.btnGetUsers.Location = new System.Drawing.Point(462, 38);
|
||||
this.btnGetUsers.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
|
||||
this.btnGetUsers.Name = "btnGetUsers";
|
||||
this.btnGetUsers.Size = new System.Drawing.Size(210, 46);
|
||||
this.btnGetUsers.TabIndex = 15;
|
||||
this.btnGetUsers.Text = "Get users";
|
||||
this.btnGetUsers.UseVisualStyleBackColor = true;
|
||||
this.btnGetUsers.Visible = false;
|
||||
this.btnGetUsers.Click += new System.EventHandler(this.btnGetUsers_Click);
|
||||
//
|
||||
// btnGetSessions
|
||||
//
|
||||
this.btnGetSessions.Location = new System.Drawing.Point(682, 38);
|
||||
this.btnGetSessions.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
|
||||
this.btnGetSessions.Name = "btnGetSessions";
|
||||
this.btnGetSessions.Size = new System.Drawing.Size(210, 46);
|
||||
this.btnGetSessions.TabIndex = 16;
|
||||
this.btnGetSessions.Text = "Get sessions";
|
||||
this.btnGetSessions.UseVisualStyleBackColor = true;
|
||||
this.btnGetSessions.Visible = false;
|
||||
this.btnGetSessions.Click += new System.EventHandler(this.btnGetSessions_Click);
|
||||
//
|
||||
// btnScanUsers
|
||||
//
|
||||
this.btnScanUsers.Location = new System.Drawing.Point(242, 38);
|
||||
this.btnScanUsers.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
|
||||
this.btnScanUsers.Name = "btnScanUsers";
|
||||
this.btnScanUsers.Size = new System.Drawing.Size(210, 46);
|
||||
this.btnScanUsers.TabIndex = 17;
|
||||
this.btnScanUsers.Text = "Scan";
|
||||
this.btnScanUsers.UseVisualStyleBackColor = true;
|
||||
this.btnScanUsers.Click += new System.EventHandler(this.btnScanUsers_Click);
|
||||
//
|
||||
// ctrlProtocolBox1
|
||||
//
|
||||
this.ctrlProtocolBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
@@ -46,50 +92,6 @@
|
||||
this.ctrlProtocolBox1.Size = new System.Drawing.Size(1057, 418);
|
||||
this.ctrlProtocolBox1.TabIndex = 13;
|
||||
//
|
||||
// buttonCheckConnection
|
||||
//
|
||||
this.buttonCheckConnection.Location = new System.Drawing.Point(22, 38);
|
||||
this.buttonCheckConnection.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
|
||||
this.buttonCheckConnection.Name = "buttonCheckConnection";
|
||||
this.buttonCheckConnection.Size = new System.Drawing.Size(210, 46);
|
||||
this.buttonCheckConnection.TabIndex = 14;
|
||||
this.buttonCheckConnection.Text = "Check Citrix connection";
|
||||
this.buttonCheckConnection.UseVisualStyleBackColor = true;
|
||||
this.buttonCheckConnection.Click += new System.EventHandler(this.buttonCheckConnection_Click);
|
||||
//
|
||||
// btnGetUsers
|
||||
//
|
||||
this.btnGetUsers.Location = new System.Drawing.Point(242, 38);
|
||||
this.btnGetUsers.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
|
||||
this.btnGetUsers.Name = "btnGetUsers";
|
||||
this.btnGetUsers.Size = new System.Drawing.Size(210, 46);
|
||||
this.btnGetUsers.TabIndex = 15;
|
||||
this.btnGetUsers.Text = "Get users";
|
||||
this.btnGetUsers.UseVisualStyleBackColor = true;
|
||||
this.btnGetUsers.Click += new System.EventHandler(this.btnGetUsers_Click);
|
||||
//
|
||||
// btnGetSessions
|
||||
//
|
||||
this.btnGetSessions.Location = new System.Drawing.Point(462, 38);
|
||||
this.btnGetSessions.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
|
||||
this.btnGetSessions.Name = "btnGetSessions";
|
||||
this.btnGetSessions.Size = new System.Drawing.Size(210, 46);
|
||||
this.btnGetSessions.TabIndex = 16;
|
||||
this.btnGetSessions.Text = "Get sessions";
|
||||
this.btnGetSessions.UseVisualStyleBackColor = true;
|
||||
this.btnGetSessions.Click += new System.EventHandler(this.btnGetSessions_Click);
|
||||
//
|
||||
// btnScanUsers
|
||||
//
|
||||
this.btnScanUsers.Location = new System.Drawing.Point(682, 38);
|
||||
this.btnScanUsers.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
|
||||
this.btnScanUsers.Name = "btnScanUsers";
|
||||
this.btnScanUsers.Size = new System.Drawing.Size(210, 46);
|
||||
this.btnScanUsers.TabIndex = 17;
|
||||
this.btnScanUsers.Text = "Scan Users";
|
||||
this.btnScanUsers.UseVisualStyleBackColor = true;
|
||||
this.btnScanUsers.Click += new System.EventHandler(this.btnScanUsers_Click);
|
||||
//
|
||||
// ctrlCitrix
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
||||
|
||||
@@ -361,9 +361,6 @@ namespace C4IT_DataHistoryProvider_Test
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -397,6 +394,9 @@ namespace C4IT_DataHistoryProvider_Test
|
||||
ctrlProtocolBox1.ProcessMessage("Values:");
|
||||
foreach (var Entry in _Table.Columns.Values)
|
||||
{
|
||||
if (Entry.ColumnName == "Printers")
|
||||
{
|
||||
}
|
||||
ctrlProtocolBox1.ProcessMessage($" [{Entry.ColumnName}]: {getValueString(Entry.Values)}");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,14 +9,14 @@ using System.Runtime.InteropServices;
|
||||
#endif
|
||||
|
||||
[assembly: AssemblyCompany("Consulting4IT GmbH, Germany")]
|
||||
[assembly: AssemblyCopyright("Copyright <20> 2025, Consulting4IT GmbH, Germany")]
|
||||
[assembly: AssemblyCopyright("Copyright <20> 2026, Consulting4IT GmbH, Germany")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
[assembly: AssemblyInformationalVersion("2.6.0.14")]
|
||||
[assembly: AssemblyInformationalVersion("2.6.1.1")]
|
||||
[assembly: AssemblyVersion("2.6.*")]
|
||||
|
||||
[assembly: AssemblyMinClientVersion("2.4.0.0")]
|
||||
[assembly: AssemblyMinClientVersion("2.6.0.0")]
|
||||
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||
</startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -42,15 +42,49 @@
|
||||
<ApplicationIcon>logo_FASD.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="C4IT.F4SD.DisplayFormatting, Version=1.0.9509.21303, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\C4IT.F4SD.DisplayFormatting.1.0.0\lib\netstandard2.0\C4IT.F4SD.DisplayFormatting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="C4IT.F4SD.SupportCaseProtocoll, Version=1.0.9516.21165, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\C4IT.F4SD.SupportCaseProtocoll.1.0.0\lib\netstandard2.0\C4IT.F4SD.SupportCaseProtocoll.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MaterialIcons, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MaterialIcons.1.0.3\lib\MaterialIcons.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.2\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=10.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.10.0.2\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=10.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.10.0.2\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Buffers.4.6.1\lib\net462\System.Buffers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Diagnostics.DiagnosticSource, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.10.0.2\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Numerics.Vectors, Version=4.1.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Numerics.Vectors.4.6.1\lib\net462\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.6.3\lib\net462\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
|
||||
@@ -46,21 +46,21 @@ namespace C4IT.DataHistoryProvider
|
||||
public abstract class cDataHistoryCollectorModule
|
||||
{
|
||||
public cDataHistoryCollector Collector { get; protected set; }
|
||||
public readonly List<eDataHistoryOrigin> Origins;
|
||||
public readonly List<enumDataHistoryOrigin> Origins;
|
||||
|
||||
public readonly string Name = "";
|
||||
|
||||
public readonly Guid LicenseId = Guid.Empty;
|
||||
|
||||
public cDataHistoryCollectorModule(cDataHistoryCollector Collector, eDataHistoryOrigin Origin, string Name, string LicenseId)
|
||||
public cDataHistoryCollectorModule(cDataHistoryCollector Collector, enumDataHistoryOrigin Origin, string Name, string LicenseId)
|
||||
{
|
||||
this.Name = Name;
|
||||
Guid.TryParse(LicenseId, out this.LicenseId);
|
||||
this.Collector = Collector;
|
||||
this.Origins = new List<eDataHistoryOrigin>() { Origin };
|
||||
this.Origins = new List<enumDataHistoryOrigin>() { Origin };
|
||||
}
|
||||
|
||||
public cDataHistoryCollectorModule(cDataHistoryCollector Collector, List<eDataHistoryOrigin> Origin, string Name, string LicenseId)
|
||||
public cDataHistoryCollectorModule(cDataHistoryCollector Collector, List<enumDataHistoryOrigin> Origin, string Name, string LicenseId)
|
||||
{
|
||||
this.Name = Name;
|
||||
Guid.TryParse(LicenseId, out this.LicenseId);
|
||||
@@ -251,7 +251,7 @@ namespace C4IT.DataHistoryProvider
|
||||
private DateTime GlobalParametersConfigTimestamp = DateTime.MinValue;
|
||||
private object GlobalParametersConfigLock = new object();
|
||||
|
||||
public readonly Dictionary<eDataHistoryOrigin, cDataHistoryCollectorModule> Connectors = new Dictionary<eDataHistoryOrigin, cDataHistoryCollectorModule>();
|
||||
public readonly Dictionary<enumDataHistoryOrigin, cDataHistoryCollectorModule> Connectors = new Dictionary<enumDataHistoryOrigin, cDataHistoryCollectorModule>();
|
||||
public readonly cDataHistoryCollectorActiveDirectory ActiveDirectory = null;
|
||||
public readonly cDataHistoryCollectorClientAgent F4sdAgent = null;
|
||||
public cDataHistoryCollectorM42Wpm M42WpmCollector { get; private set; } = null;
|
||||
@@ -303,14 +303,14 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
public cDataHistoryConfigSqlConnection mainDbConnection { get; private set; } = null;
|
||||
|
||||
public cDataHistoryCollector(bool autoConnectionCheck, cF4sdWebRequestInfo requestInfo, int LogDeep) : base(null, eDataHistoryOrigin.Main, constConnectorName, constLicenseId)
|
||||
public cDataHistoryCollector(bool autoConnectionCheck, cF4sdWebRequestInfo requestInfo, int LogDeep) : base(null, enumDataHistoryOrigin.Main, constConnectorName, constLicenseId)
|
||||
{
|
||||
this.Collector = this;
|
||||
this.autoConnectionCheck = autoConnectionCheck;
|
||||
|
||||
TokenCache = new cDataHistoryCollectorTokenCache(this, requestInfo, LogDeep + 1);
|
||||
|
||||
Connectors.Add(eDataHistoryOrigin.Main, this);
|
||||
Connectors.Add(enumDataHistoryOrigin.Main, this);
|
||||
|
||||
try
|
||||
{
|
||||
@@ -329,14 +329,14 @@ namespace C4IT.DataHistoryProvider
|
||||
if (cF4SDLicense.Instance.Modules.ContainsKey(_ActiveDirectory.LicenseId))
|
||||
{
|
||||
ActiveDirectory = _ActiveDirectory;
|
||||
Connectors.Add(eDataHistoryOrigin.ActiveDirectory, ActiveDirectory);
|
||||
Connectors.Add(enumDataHistoryOrigin.ActiveDirectory, ActiveDirectory);
|
||||
}
|
||||
|
||||
var _F4sdAgent = new cDataHistoryCollectorClientAgent(this);
|
||||
if (cF4SDLicense.Instance.Modules.ContainsKey(_F4sdAgent.LicenseId))
|
||||
{
|
||||
F4sdAgent = _F4sdAgent;
|
||||
Connectors.Add(eDataHistoryOrigin.F4sdAgent, F4sdAgent);
|
||||
Connectors.Add(enumDataHistoryOrigin.F4sdAgent, F4sdAgent);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -489,7 +489,7 @@ namespace C4IT.DataHistoryProvider
|
||||
if (cF4SDLicense.Instance.Modules.ContainsKey(_M42WpmCollector.LicenseId))
|
||||
{
|
||||
M42WpmCollector = _M42WpmCollector;
|
||||
Connectors.Add(eDataHistoryOrigin.M42Wpm, M42WpmCollector);
|
||||
Connectors.Add(enumDataHistoryOrigin.M42Wpm, M42WpmCollector);
|
||||
RegisterSearchRelationProvider(_M42WpmCollector);
|
||||
}
|
||||
}
|
||||
@@ -501,7 +501,7 @@ namespace C4IT.DataHistoryProvider
|
||||
if (cF4SDLicense.Instance.Modules.ContainsKey(_NxqlCollector.LicenseId))
|
||||
{
|
||||
NxqlCollector = _NxqlCollector;
|
||||
Connectors.Add(eDataHistoryOrigin.NexthinkNxql, NxqlCollector);
|
||||
Connectors.Add(enumDataHistoryOrigin.NexthinkNxql, NxqlCollector);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -512,14 +512,14 @@ namespace C4IT.DataHistoryProvider
|
||||
//if (cF4SDLicense.Instance.Modules.ContainsKey(_CitrixCollector.LicenseId))
|
||||
//{
|
||||
CitrixCollector = _CitrixCollector;
|
||||
Connectors.Add(eDataHistoryOrigin.Citrix, _CitrixCollector);
|
||||
Connectors.Add(enumDataHistoryOrigin.Citrix, _CitrixCollector);
|
||||
RegisterSearchRelationProvider(_CitrixCollector);
|
||||
//}
|
||||
}
|
||||
|
||||
if(HasIntuneConfig)
|
||||
{
|
||||
Connectors.Add(eDataHistoryOrigin.Intune, ActiveDirectory);
|
||||
Connectors.Add(enumDataHistoryOrigin.Intune, ActiveDirectory);
|
||||
RegisterSearchRelationProvider(ActiveDirectory);
|
||||
}
|
||||
|
||||
@@ -4537,7 +4537,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
var Ids = await getConntectorIds(Identities, Token, requestInfo, LogDeep + 1).ConfigureAwait(false);
|
||||
|
||||
var dicVirtualTables = new Dictionary<eDataHistoryOrigin, List<cDataHistoryConfigTable>>();
|
||||
var dicVirtualTables = new Dictionary<enumDataHistoryOrigin, List<cDataHistoryConfigTable>>();
|
||||
var lstDbTables = new List<cDataHistoryConfigTable>();
|
||||
|
||||
foreach (var strTable in _tables)
|
||||
@@ -4729,7 +4729,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
var Ids = await getConntectorIds(Identities, Token, requestInfo, LogDeep + 1).ConfigureAwait(false);
|
||||
|
||||
var dicVirtualTables = new Dictionary<eDataHistoryOrigin, List<cDataHistoryConfigTable>>();
|
||||
var dicVirtualTables = new Dictionary<enumDataHistoryOrigin, List<cDataHistoryConfigTable>>();
|
||||
var lstDbTables = new List<cDataHistoryConfigTable>();
|
||||
foreach (var strTable in Tables)
|
||||
{
|
||||
@@ -4892,10 +4892,11 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
if (_reader.FieldCount > 2)
|
||||
{
|
||||
var retVal = new cF4SDHealthCardRawData.cHealthCardTable
|
||||
var retVal = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
{
|
||||
Name = tableConfig.Name,
|
||||
InformationClass = tableConfig.ParentCluster.InformationClass,
|
||||
Origin = tableConfig.ParentCluster.Origin,
|
||||
StartingIndex = int.MaxValue,
|
||||
IsStatic = false,
|
||||
TableType = tableConfig.Type
|
||||
@@ -4908,13 +4909,13 @@ namespace C4IT.DataHistoryProvider
|
||||
var _propName = _reader.GetName(i);
|
||||
if (tableConfig.Columns.TryGetValue(_propName, out var _col))
|
||||
{
|
||||
var _ci = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = _col.Name };
|
||||
var _ci = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = _col.Name };
|
||||
Cols[i] = _ci;
|
||||
retVal.Columns[_col.Name] = _ci;
|
||||
}
|
||||
if (tableConfig.Columns.TryGetValue(_propName + "_bin", out var _col2))
|
||||
{
|
||||
var _ci = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = _col.Name + "_bin" };
|
||||
var _ci = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = _col.Name + "_bin" };
|
||||
Cols[i] = _ci;
|
||||
retVal.Columns[_col.Name + "_bin"] = _ci;
|
||||
}
|
||||
@@ -5032,11 +5033,12 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
var objVal = objValues[i] == DBNull.Value ? null : objValues[i];
|
||||
var strCol = _reader.GetName(i);
|
||||
RetVal.Columns.Add(strCol, new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = strCol, Values = new List<object>() { objVal } });
|
||||
RetVal.Columns.Add(strCol, new cF4SDHealthCardRawData.cHealthCardTableColumn(RetVal) { ColumnName = strCol, Values = new List<object>() { objVal } });
|
||||
}
|
||||
|
||||
RetVal.Name = tableConfig.Name;
|
||||
RetVal.InformationClass = tableConfig.ParentCluster.InformationClass;
|
||||
RetVal.Origin = tableConfig.ParentCluster.Origin;
|
||||
RetVal.IsStatic = tableConfig.Type == eDataHistoryTableType.Static;
|
||||
RetVal.TableType = tableConfig.Type;
|
||||
|
||||
@@ -5116,10 +5118,11 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
}
|
||||
|
||||
var RetValHistoric = new cF4SDHealthCardRawData.cHealthCardTable
|
||||
var RetValHistoric = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
{
|
||||
Name = tableConfig.Name,
|
||||
InformationClass = tableConfig.ParentCluster.InformationClass,
|
||||
Origin = tableConfig.ParentCluster.Origin,
|
||||
IsStatic = false,
|
||||
TableType = eDataHistoryTableType.History
|
||||
};
|
||||
@@ -5129,7 +5132,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
var agg = arrColAgg[i];
|
||||
|
||||
var col = new cF4SDHealthCardRawData.cHealthCardTableColumn()
|
||||
var col = new cF4SDHealthCardRawData.cHealthCardTableColumn(RetValHistoric)
|
||||
{
|
||||
ColumnName = agg.Column.Name,
|
||||
Values = agg.getValues()
|
||||
@@ -5165,7 +5168,7 @@ namespace C4IT.DataHistoryProvider
|
||||
var myTables = new List<cDataHistoryConfigTable>();
|
||||
foreach (var Table in Tables)
|
||||
{
|
||||
if (Table.ParentCluster.Origin != eDataHistoryOrigin.Main)
|
||||
if (Table.ParentCluster.Origin != enumDataHistoryOrigin.Main)
|
||||
continue;
|
||||
|
||||
if (!Table.LateDelivery)
|
||||
@@ -5207,6 +5210,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = tableConfig.Name,
|
||||
InformationClass = enumFasdInformationClass.Ticket,
|
||||
Origin = tableConfig.ParentCluster.Origin,
|
||||
IsIncomplete = true
|
||||
}
|
||||
};
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace C4IT.DataHistoryProvider
|
||||
public const string constConnectorName = "MS Active Directory, Entra ID & Intune connector";
|
||||
public const string constLicenseId = "B2D48023-56E8-44D5-AB77-BE1DCF4EA4EB";
|
||||
|
||||
public const string constMsGraphUserList = "users?$top={0}&$select=id,displayName,onPremisesSyncEnabled,onPremisesSecurityIdentifier&$filter=onPremisesSyncEnabled eq true";
|
||||
public const string constMsGraphUserList = "users?$top={0}&$count=true&$select=id,displayName,onPremisesSyncEnabled,onPremisesSecurityIdentifier&$filter=onPremisesSyncEnabled eq true";
|
||||
public const string constMsGraphUserEntry = "users/{0}";
|
||||
public const string constMsGraphUserDeviceEntry = "users/{0}";
|
||||
public const int constMsGraphUserPaging = 100;
|
||||
@@ -42,7 +42,7 @@ namespace C4IT.DataHistoryProvider
|
||||
public const string constMsGraphManagedDeviceEntry = "deviceManagement/managedDevices/{0}?$select=id,complianceState,userPrincipalName,userDisplayName,managementState,lastSyncDateTime";
|
||||
public const string constMsGraphManagedDeviceAllEntry = "deviceManagement/managedDevices/{0}";
|
||||
public const string constMsGraphManagedDeviceSyncDevice = "deviceManagement/managedDevices/{0}/syncDevice";
|
||||
public const string constMsGraphManagedDeviceDetectedApps = "deviceManagement/managedDevices/{0}?$select=id&$expand=detectedApps";
|
||||
public const string constMsGraphManagedDeviceDetectedApps = "deviceManagement/managedDevices/{0}/detectedApps";
|
||||
public const string constMsGraphManagedDeviceCount = "users/{0}/managedDevices?$select=operatingSystem";
|
||||
public const string constMsGraphManagedUserDeviceEntry = "users/{0}/managedDevices?$select=id,deviceName,model,operatingSystem,manufacturer,serialNumber";
|
||||
public const string constMsGraphManagedDeviceChangeManagedStatus = "deviceManagement/managedDevices/{0}/{1}";
|
||||
@@ -102,7 +102,7 @@ namespace C4IT.DataHistoryProvider
|
||||
}
|
||||
|
||||
public cDataHistoryCollectorActiveDirectory(cDataHistoryCollector Collector)
|
||||
: base(Collector, new List<eDataHistoryOrigin>() { eDataHistoryOrigin.ActiveDirectory, eDataHistoryOrigin.Intune }, constConnectorName, constLicenseId)
|
||||
: base(Collector, new List<enumDataHistoryOrigin>() { enumDataHistoryOrigin.ActiveDirectory, enumDataHistoryOrigin.Intune }, constConnectorName, constLicenseId)
|
||||
{
|
||||
_collector = Collector;
|
||||
}
|
||||
@@ -1289,7 +1289,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
foreach (var DataCluster in Collector.ClusterConfig.Clusters.Values)
|
||||
{
|
||||
if (DataCluster.Origin != eDataHistoryOrigin.ActiveDirectory || DataCluster.InformationClass != InformationClass)
|
||||
if (DataCluster.Origin != enumDataHistoryOrigin.ActiveDirectory || DataCluster.InformationClass != InformationClass)
|
||||
continue;
|
||||
|
||||
foreach (var Table in DataCluster.Tables.Values)
|
||||
@@ -1544,11 +1544,15 @@ namespace C4IT.DataHistoryProvider
|
||||
}
|
||||
|
||||
var strUrl = string.Format(constMsGraphUserList, constMsGraphUserPaging);
|
||||
var Result = await MsGraph.RequestListAsync(strUrl, UseBeta: false, retryForbidden: false, loadPaged: true);
|
||||
|
||||
if (!string.IsNullOrEmpty(Tenant.ScanFilter))
|
||||
strUrl += " and (" + Tenant.ScanFilter + ")";
|
||||
|
||||
var Result = await MsGraph.RequestListAsync(strUrl, UseBeta: false, retryForbidden: false, loadPaged: true, ConsistencyLevelEventual: Tenant.UseConsistencyLevelEventual);
|
||||
|
||||
var Count = 0;
|
||||
var Updated = 0;
|
||||
while (Result != null == Result.Count > 0)
|
||||
while (Result != null && Result.Count > 0)
|
||||
{
|
||||
foreach (var Entry in Result)
|
||||
{
|
||||
@@ -2073,9 +2077,9 @@ namespace C4IT.DataHistoryProvider
|
||||
try
|
||||
{
|
||||
|
||||
var bDeviceExists = Tables.Exists(v => v.Name == constTableNameIntuneDeviceDetails && v.ParentCluster?.Origin == eDataHistoryOrigin.Intune);
|
||||
var bUserDeviceExists = Tables.Exists(v => v.Name == constTableNameIntuneUserDeviceCount && v.ParentCluster?.Origin == eDataHistoryOrigin.Intune);
|
||||
var bMobileDeviceExists = Tables.Exists(v => v.Name == constTableNameIntuneMobileDeviceDetails && v.ParentCluster?.Origin == eDataHistoryOrigin.Intune);
|
||||
var bDeviceExists = Tables.Exists(v => v.Name == constTableNameIntuneDeviceDetails && v.ParentCluster?.Origin == enumDataHistoryOrigin.Intune);
|
||||
var bUserDeviceExists = Tables.Exists(v => v.Name == constTableNameIntuneUserDeviceCount && v.ParentCluster?.Origin == enumDataHistoryOrigin.Intune);
|
||||
var bMobileDeviceExists = Tables.Exists(v => v.Name == constTableNameIntuneMobileDeviceDetails && v.ParentCluster?.Origin == enumDataHistoryOrigin.Intune);
|
||||
|
||||
|
||||
if (!Identities.TryGetValue(enumFasdInformationClass.Computer, out var computer) && computer?.intuneId != Guid.Empty)
|
||||
@@ -2101,6 +2105,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameIntuneDeviceDetails,
|
||||
InformationClass = enumFasdInformationClass.Computer,
|
||||
Origin = enumDataHistoryOrigin.Intune,
|
||||
IsIncomplete = true
|
||||
});
|
||||
|
||||
@@ -2115,6 +2120,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameIntuneMobileDeviceDetails,
|
||||
InformationClass = enumFasdInformationClass.MobileDevice,
|
||||
Origin = enumDataHistoryOrigin.Intune,
|
||||
IsIncomplete = true
|
||||
});
|
||||
|
||||
@@ -2129,6 +2135,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameIntuneUserDeviceCount,
|
||||
InformationClass = enumFasdInformationClass.User,
|
||||
Origin = enumDataHistoryOrigin.Intune,
|
||||
IsIncomplete = true
|
||||
});
|
||||
}
|
||||
@@ -2168,7 +2175,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
try
|
||||
{
|
||||
var bUserDeviceDetailExists = Tables.Exists(v => v.Name == constTableNameIntuneUserDeviceCountDetail && v.ParentCluster?.Origin == eDataHistoryOrigin.Intune);
|
||||
var bUserDeviceDetailExists = Tables.Exists(v => v.Name == constTableNameIntuneUserDeviceCountDetail && v.ParentCluster?.Origin == enumDataHistoryOrigin.Intune);
|
||||
|
||||
if (!Identities.TryGetValue(enumFasdInformationClass.User, out var userIds))
|
||||
{
|
||||
@@ -2238,6 +2245,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameIntuneDeviceDetails,
|
||||
InformationClass = enumFasdInformationClass.Computer,
|
||||
Origin = enumDataHistoryOrigin.Intune,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
@@ -2272,7 +2280,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
objVal = ConvertToF4sdType(objVal, colInfo.ValueType);
|
||||
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
retVal.Columns[colInfo.Name] = _col;
|
||||
}
|
||||
catch { }
|
||||
@@ -2325,6 +2333,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameIntuneUserDeviceCount,
|
||||
InformationClass = enumFasdInformationClass.User,
|
||||
Origin = enumDataHistoryOrigin.Intune,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
@@ -2385,7 +2394,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
objVal = ConvertToF4sdType(objVal, colInfo.ValueType);
|
||||
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
retVal.Columns[colInfo.Name] = _col;
|
||||
}
|
||||
catch { }
|
||||
@@ -2598,6 +2607,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameIntuneMobileDeviceDetails,
|
||||
InformationClass = enumFasdInformationClass.MobileDevice,
|
||||
Origin = enumDataHistoryOrigin.Intune,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
@@ -2632,7 +2642,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
objVal = ConvertToF4sdType(objVal, colInfo.ValueType);
|
||||
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
retVal.Columns[colInfo.Name] = _col;
|
||||
}
|
||||
catch { }
|
||||
@@ -2831,7 +2841,7 @@ namespace C4IT.DataHistoryProvider
|
||||
public async Task<dynamic> GetManagedApps(List<cF4sdIdentityEntry> identities, cF4sdWebRequestInfo requestInfo, CancellationToken Token)
|
||||
{
|
||||
var Ids = await Collector.getConntectorIds(identities, Token, requestInfo, 1);
|
||||
if (!Ids.TryGetValue(enumFasdInformationClass.User, out var _ids))
|
||||
if (!Ids.TryGetValue(enumFasdInformationClass.Computer, out var _ids))
|
||||
return null;
|
||||
var strUrl = string.Format(constMsGraphManagedDeviceDetectedApps, _ids.intuneId);
|
||||
|
||||
@@ -2842,7 +2852,7 @@ namespace C4IT.DataHistoryProvider
|
||||
var Result = await MsGraph.RequestAsync(strUrl, UseBeta: true, retryForbidden: false);
|
||||
if (Result != null)
|
||||
{
|
||||
var ResultJson = Result.Result["detectedApps"] as JArray;
|
||||
var ResultJson = Result.Result["value"] as JArray;
|
||||
if (ResultJson != null)
|
||||
{
|
||||
Collector.DoProcessUiMessage(3, $" properties of selected '{ResultJson}' with {ResultJson.Count} properties could be read.");
|
||||
@@ -3417,7 +3427,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
foreach (var DataCluster in Collector.ClusterConfig.Clusters.Values)
|
||||
{
|
||||
if (DataCluster.Origin != eDataHistoryOrigin.ActiveDirectory || DataCluster.InformationClass != InformationClass)
|
||||
if (DataCluster.Origin != enumDataHistoryOrigin.ActiveDirectory || DataCluster.InformationClass != InformationClass)
|
||||
continue;
|
||||
|
||||
foreach (var Table in DataCluster.Tables.Values)
|
||||
@@ -3441,7 +3451,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
public override bool CheckIfLateDelivery(cDataHistoryConfigTable Table)
|
||||
{
|
||||
if (Table?.ParentCluster?.Origin == eDataHistoryOrigin.Intune)
|
||||
if (Table?.ParentCluster?.Origin == enumDataHistoryOrigin.Intune)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -45,6 +45,7 @@ namespace C4IT.DataHistoryProvider
|
||||
public const string constCitrixSessionMachine = "monitorodata/Sessions?$select=SessionKey&$filter=SessionKey eq {0}&$expand=Machine($expand=CurrentLoadIndex,Catalog,DesktopGroup($select=Name)),Machine";
|
||||
public const string constCitrixSessionCurrentConnection = "monitorodata/Sessions?$select=SessionKey&$filter=SessionKey eq {0}&$expand=CurrentConnection,LogOnMetrics";
|
||||
public const string constCitrixSessionConnections = "monitorodata/Sessions?$select=SessionKey&$filter=SessionKey eq {0}&$expand=Connection";
|
||||
public const string constCitrixUserConnections = "monitorodata/Sessions?$filter=UserId in ({0})&$expand=Connection";
|
||||
public const string constCitrixSessionUser = "monitorodata/Sessions?$select=SessionKey&$filter=SessionKey eq {0}&$expand=User";
|
||||
public const string constCitrixSessionLogoff = "cvad/manage/Sessions/{0}/$logoff";
|
||||
public const string constCitrixSessionHide = "cvad/manage/Sessions/{0}/$hide";
|
||||
@@ -75,7 +76,7 @@ namespace C4IT.DataHistoryProvider
|
||||
};
|
||||
private Dictionary<string, cCitrixCommunication> tenantCitrixCache = new Dictionary<string, cCitrixCommunication>();
|
||||
private readonly cDataHistoryCollector _collector;
|
||||
public cDataHistoryCollectorCitrix(cDataHistoryCollector Collector) : base(Collector, eDataHistoryOrigin.Citrix, constConnectorName, constLicenseId)
|
||||
public cDataHistoryCollectorCitrix(cDataHistoryCollector Collector) : base(Collector, enumDataHistoryOrigin.Citrix, constConnectorName, constLicenseId)
|
||||
{
|
||||
_collector = Collector;
|
||||
}
|
||||
@@ -333,6 +334,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameSessionMetrics,
|
||||
InformationClass = enumFasdInformationClass.VirtualSession,
|
||||
Origin = enumDataHistoryOrigin.Citrix,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
@@ -440,7 +442,7 @@ namespace C4IT.DataHistoryProvider
|
||||
if (table.Columns.TryGetValue(columnName, out var columnValues))
|
||||
columnValues.Values.Add(value);
|
||||
else
|
||||
table.Columns.Add(columnName, new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = columnName, Values = new List<object>() { value } });
|
||||
table.Columns.Add(columnName, new cF4SDHealthCardRawData.cHealthCardTableColumn(table) { ColumnName = columnName, Values = new List<object>() { value } });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1682,6 +1684,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameSession,
|
||||
InformationClass = enumFasdInformationClass.VirtualSession,
|
||||
Origin = enumDataHistoryOrigin.Citrix,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
@@ -1714,7 +1717,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
objVal = ConvertToF4sdType(objVal, colInfo.ValueType);
|
||||
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
retVal.Columns[colInfo.Name] = _col;
|
||||
}
|
||||
catch { }
|
||||
@@ -1764,6 +1767,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameSessionUser,
|
||||
InformationClass = enumFasdInformationClass.VirtualSession,
|
||||
Origin = enumDataHistoryOrigin.Citrix,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
@@ -1804,7 +1808,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
objVal = ConvertToF4sdType(objVal, colInfo.ValueType);
|
||||
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
retVal.Columns[colInfo.Name] = _col;
|
||||
}
|
||||
catch { }
|
||||
@@ -1855,6 +1859,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameSessionMachine,
|
||||
InformationClass = enumFasdInformationClass.VirtualSession,
|
||||
Origin = enumDataHistoryOrigin.Citrix,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
@@ -1900,7 +1905,7 @@ namespace C4IT.DataHistoryProvider
|
||||
}
|
||||
objVal = ConvertToF4sdType(objVal, colInfo.ValueType);
|
||||
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
retVal.Columns[colInfo.Name] = _col;
|
||||
}
|
||||
catch { }
|
||||
@@ -1950,6 +1955,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameSessionCurrentConnection,
|
||||
InformationClass = enumFasdInformationClass.VirtualSession,
|
||||
Origin = enumDataHistoryOrigin.Citrix,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
@@ -2020,7 +2026,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
objVal = ConvertToF4sdType(objVal, colInfo.ValueType);
|
||||
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
retVal.Columns[colInfo.Name] = _col;
|
||||
}
|
||||
catch { }
|
||||
@@ -2070,6 +2076,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameSessionConnection,
|
||||
InformationClass = enumFasdInformationClass.VirtualSession,
|
||||
Origin = enumDataHistoryOrigin.Citrix,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
@@ -2110,7 +2117,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
objVal = ConvertToF4sdType(objVal, colInfo.ValueType);
|
||||
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
retVal.Columns[colInfo.Name] = _col;
|
||||
}
|
||||
catch { }
|
||||
@@ -2143,18 +2150,18 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
try
|
||||
{
|
||||
var bIcaRttMSDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsIcaRttMS && v.ParentCluster?.Origin == eDataHistoryOrigin.Citrix);
|
||||
var bIcaLatencyDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsIcaLatency && v.ParentCluster?.Origin == eDataHistoryOrigin.Citrix);
|
||||
var bClientL7LatencyDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsClientL7Latency && v.ParentCluster?.Origin == eDataHistoryOrigin.Citrix);
|
||||
var bServerL7LatencyDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsServerL7Latency && v.ParentCluster?.Origin == eDataHistoryOrigin.Citrix);
|
||||
var bInputBandwidthUsedDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsInputBandwidthUsed && v.ParentCluster?.Origin == eDataHistoryOrigin.Citrix);
|
||||
var bOutputBandwidthUsedDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsOutputBandwidthUsed && v.ParentCluster?.Origin == eDataHistoryOrigin.Citrix);
|
||||
var bOutputBandwidthAvailableDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsOutputBandwidthAvailable && v.ParentCluster?.Origin == eDataHistoryOrigin.Citrix);
|
||||
var bFpsDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsFps && v.ParentCluster?.Origin == eDataHistoryOrigin.Citrix);
|
||||
var bInputFpsDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsInputFps && v.ParentCluster?.Origin == eDataHistoryOrigin.Citrix);
|
||||
var bOutputFpsDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsOutputFps && v.ParentCluster?.Origin == eDataHistoryOrigin.Citrix);
|
||||
var bWanLatencyDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsWanLatency && v.ParentCluster?.Origin == eDataHistoryOrigin.Citrix);
|
||||
var bDcLatencyDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsDcLatency && v.ParentCluster?.Origin == eDataHistoryOrigin.Citrix);
|
||||
var bIcaRttMSDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsIcaRttMS && v.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix);
|
||||
var bIcaLatencyDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsIcaLatency && v.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix);
|
||||
var bClientL7LatencyDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsClientL7Latency && v.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix);
|
||||
var bServerL7LatencyDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsServerL7Latency && v.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix);
|
||||
var bInputBandwidthUsedDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsInputBandwidthUsed && v.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix);
|
||||
var bOutputBandwidthUsedDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsOutputBandwidthUsed && v.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix);
|
||||
var bOutputBandwidthAvailableDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsOutputBandwidthAvailable && v.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix);
|
||||
var bFpsDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsFps && v.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix);
|
||||
var bInputFpsDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsInputFps && v.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix);
|
||||
var bOutputFpsDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsOutputFps && v.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix);
|
||||
var bWanLatencyDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsWanLatency && v.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix);
|
||||
var bDcLatencyDetailExists = Tables.Exists(v => v.Name == constTableNameSessionDetailsDcLatency && v.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix);
|
||||
|
||||
if (!Identities.TryGetValue(enumFasdInformationClass.VirtualSession, out var session) || session?.Id is null)
|
||||
return null;
|
||||
@@ -2385,7 +2392,7 @@ namespace C4IT.DataHistoryProvider
|
||||
if (!Identities.TryGetValue(enumFasdInformationClass.User, out var userIds) || userIds?.citrixTenantId is null)
|
||||
return null;
|
||||
|
||||
var citrixTableNames = new HashSet<string>(Tables.Where(t => t?.ParentCluster?.Origin == eDataHistoryOrigin.Citrix).Select(t => t.Name), StringComparer.Ordinal);
|
||||
var citrixTableNames = new HashSet<string>(Tables.Where(t => t?.ParentCluster?.Origin == enumDataHistoryOrigin.Citrix).Select(t => t.Name), StringComparer.Ordinal);
|
||||
|
||||
bool Has(string tableName) => tableName != null && citrixTableNames.Contains(tableName);
|
||||
|
||||
@@ -2569,7 +2576,7 @@ namespace C4IT.DataHistoryProvider
|
||||
try
|
||||
{
|
||||
|
||||
if (!Always)
|
||||
if (Always)
|
||||
{
|
||||
var scanInfo = await Collector.CitrixCollector.GetScanTimeInfoAsync(requestInfo, LogDeep + 1, Token);
|
||||
if (scanInfo == null)
|
||||
|
||||
@@ -78,6 +78,19 @@ namespace C4IT.DataHistoryProvider
|
||||
}
|
||||
}
|
||||
|
||||
private class cMeasureCodeInformation
|
||||
{
|
||||
internal List<cHistoricAggregationEntry> Entries = new List<cHistoricAggregationEntry>();
|
||||
internal bool needsJson = false;
|
||||
|
||||
internal void AddEntry(cHistoricAggregationEntry entry)
|
||||
{
|
||||
Entries.Add(entry);
|
||||
if (entry.Column.SourceJsonColumn >=0 || !string.IsNullOrEmpty(entry.Column.SourceJsonField))
|
||||
needsJson = true;
|
||||
}
|
||||
}
|
||||
|
||||
private cEventTablesInfo EventTablesInfo = new cEventTablesInfo();
|
||||
|
||||
public override void TablePostConfig(cDataHistoryConfigTable Table)
|
||||
@@ -102,7 +115,7 @@ namespace C4IT.DataHistoryProvider
|
||||
}
|
||||
}
|
||||
|
||||
public cDataHistoryCollectorClientAgent(cDataHistoryCollector Collector) : base(Collector, eDataHistoryOrigin.F4sdAgent, constConnectorName, constLicenseId)
|
||||
public cDataHistoryCollectorClientAgent(cDataHistoryCollector Collector) : base(Collector, enumDataHistoryOrigin.F4sdAgent, constConnectorName, constLicenseId)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -863,15 +876,16 @@ namespace C4IT.DataHistoryProvider
|
||||
if (!(userInfo?.agentId is int id))
|
||||
return null;
|
||||
|
||||
var RetVal = new cF4SDHealthCardRawData.cHealthCardTable
|
||||
var RetVal = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
{
|
||||
Name = constAgentUserTableName,
|
||||
InformationClass = enumFasdInformationClass.Unknown,
|
||||
InformationClass = enumFasdInformationClass.User,
|
||||
Origin = enumDataHistoryOrigin.F4sdAgent,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
RetVal.Columns.Add("id", new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = "id", Values = new List<object>() { id } });
|
||||
RetVal.Columns.Add("accountType", new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = "accountType", Values = new List<object>() { userInfo.accountType.ToString() } });
|
||||
RetVal.Columns.Add("id", new cF4SDHealthCardRawData.cHealthCardTableColumn(RetVal) { ColumnName = "id", Values = new List<object>() { id } });
|
||||
RetVal.Columns.Add("accountType", new cF4SDHealthCardRawData.cHealthCardTableColumn(RetVal) { ColumnName = "accountType", Values = new List<object>() { userInfo.accountType.ToString() } });
|
||||
|
||||
return RetVal;
|
||||
}
|
||||
@@ -922,8 +936,12 @@ namespace C4IT.DataHistoryProvider
|
||||
if (Reader.HasRows)
|
||||
{
|
||||
var dicCols = Table.Columns.Values.Where(x => x.SourceName != null).ToDictionary<cDataHistoryConfigColumnBase, string>(x => x.SourceName);
|
||||
var RetVal = new cF4SDHealthCardRawData.cHealthCardTable();
|
||||
RetVal.Columns.Add("id", new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = "id", Values = new List<object>() { id } });
|
||||
var RetVal = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
{
|
||||
InformationClass = enumFasdInformationClass.Computer,
|
||||
Origin = enumDataHistoryOrigin.F4sdAgent
|
||||
};
|
||||
RetVal.Columns.Add("id", new cF4SDHealthCardRawData.cHealthCardTableColumn(RetVal) { ColumnName = "id", Values = new List<object>() { id } });
|
||||
while (await Reader.ReadAsync())
|
||||
{
|
||||
try
|
||||
@@ -933,7 +951,7 @@ namespace C4IT.DataHistoryProvider
|
||||
if (dicCols.TryGetValue(Name, out var Column))
|
||||
{
|
||||
var objValue = cDataHistoryCollector.getJsonValueFromString(JsonValue, Column.ValueType);
|
||||
RetVal.Columns.Add(Column.Name, new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = Column.Name, Values = new List<object>() { objValue } });
|
||||
RetVal.Columns.Add(Column.Name, new cF4SDHealthCardRawData.cHealthCardTableColumn(RetVal) { ColumnName = Column.Name, Values = new List<object>() { objValue } });
|
||||
}
|
||||
}
|
||||
catch (Exception E)
|
||||
@@ -1257,7 +1275,7 @@ namespace C4IT.DataHistoryProvider
|
||||
return retVal;
|
||||
}
|
||||
|
||||
private static object GetValueFromDbField(object val)
|
||||
private static object GetValueFromDbField(object val, bool needJsonDecode)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -1267,9 +1285,9 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
if (strValue.StartsWith("\""))
|
||||
val = JsonConvert.DeserializeObject<string>(strValue);
|
||||
else if (strValue.StartsWith("["))
|
||||
else if (needJsonDecode && strValue.StartsWith("["))
|
||||
val = JsonConvert.DeserializeObject<object[]>(strValue);
|
||||
else if (strValue.StartsWith("{"))
|
||||
else if (needJsonDecode &&strValue.StartsWith("{"))
|
||||
val = JsonConvert.DeserializeObject<cDataHistoryCustomJsonMeasure>(strValue);
|
||||
else
|
||||
val = strValue;
|
||||
@@ -1288,7 +1306,7 @@ namespace C4IT.DataHistoryProvider
|
||||
return Table.HasLateDelivery;
|
||||
}
|
||||
|
||||
private async Task getHistoricEventDataTotal(int AgentId, string TableType, string mcFilter, Dictionary<int, List<cHistoricAggregationEntry>> McColumns, int MaxAge, DateTime RefTime, CancellationToken Token, cF4sdWebRequestInfo requestInfo, int LogDeep)
|
||||
private async Task getHistoricEventDataTotal(int AgentId, string TableType, string mcFilter, Dictionary<int, cMeasureCodeInformation> McColumns, int MaxAge, DateTime RefTime, CancellationToken Token, cF4sdWebRequestInfo requestInfo, int LogDeep)
|
||||
{
|
||||
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { if (CM == null) CM = MethodBase.GetCurrentMethod(); cPerformanceLogger.LogPerformanceStart(LogDeep, CM, requestInfo.id, requestInfo.created); }
|
||||
@@ -1329,11 +1347,11 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
var _MC = Reader.GetInt32(0);
|
||||
var _EventTime = Reader.GetDateTime(1);
|
||||
object Value = GetValueFromDbField(Reader.GetValue(2));
|
||||
var _EventDuration = Reader.IsDBNull(3) ? 1 : Reader.GetInt32(3);
|
||||
if (McColumns.TryGetValue(_MC, out var aggEntry))
|
||||
{
|
||||
foreach (var aggValEntry in aggEntry)
|
||||
object Value = GetValueFromDbField(Reader.GetValue(2), aggEntry.needsJson);
|
||||
foreach (var aggValEntry in aggEntry.Entries)
|
||||
aggValEntry.addValue(Value, _EventTime, RefTime, _EventDuration);
|
||||
}
|
||||
}
|
||||
@@ -1368,7 +1386,7 @@ namespace C4IT.DataHistoryProvider
|
||||
}
|
||||
}
|
||||
|
||||
private async Task getHistoricEventDataDaily(int AgentId, string TableName, string mcFilter, Dictionary<int, List<cHistoricAggregationEntry>> McColumns, int MaxAge, DateTime RefTime, CancellationToken Token, cF4sdWebRequestInfo requestInfo, int LogDeep)
|
||||
private async Task getHistoricEventDataDaily(int AgentId, string TableName, string mcFilter, Dictionary<int, cMeasureCodeInformation> McColumns, int MaxAge, DateTime RefTime, CancellationToken Token, cF4sdWebRequestInfo requestInfo, int LogDeep)
|
||||
{
|
||||
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { if (CM == null) CM = MethodBase.GetCurrentMethod(); cPerformanceLogger.LogPerformanceStart(LogDeep, CM, requestInfo.id, requestInfo.created); }
|
||||
@@ -1407,15 +1425,19 @@ namespace C4IT.DataHistoryProvider
|
||||
while (await Reader.ReadAsync())
|
||||
{
|
||||
var _MC = Reader.GetInt32(0);
|
||||
if (_MC == 24)
|
||||
{
|
||||
}
|
||||
var _EventTime = Reader.GetDateTime(1);
|
||||
if (_EventTime < RefTime - TimeSpan.FromDays(MaxAge))
|
||||
continue;
|
||||
|
||||
object Value = GetValueFromDbField(Reader.GetValue(2));
|
||||
var _EventDuration = Reader.IsDBNull(3) ? 1 : Reader.GetInt32(3);
|
||||
|
||||
if (McColumns.TryGetValue(_MC, out var aggEntry))
|
||||
{
|
||||
foreach (var aggValEntry in aggEntry)
|
||||
object Value = GetValueFromDbField(Reader.GetValue(2), aggEntry.needsJson);
|
||||
foreach (var aggValEntry in aggEntry.Entries)
|
||||
aggValEntry.addValue(Value, _EventTime, RefTime, _EventDuration);
|
||||
}
|
||||
}
|
||||
@@ -1452,7 +1474,7 @@ namespace C4IT.DataHistoryProvider
|
||||
}
|
||||
|
||||
|
||||
private async Task getHistoricEventDataDailyUsage(int AgentId, string TableName, List<cHistoricAggregationEntry> aggEntry, int MaxAge, DateTime RefTime, CancellationToken Token, cF4sdWebRequestInfo requestInfo, int LogDeep)
|
||||
private async Task getHistoricEventDataDailyUsage(int AgentId, string TableName, cMeasureCodeInformation aggEntry, int MaxAge, DateTime RefTime, CancellationToken Token, cF4sdWebRequestInfo requestInfo, int LogDeep)
|
||||
{
|
||||
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { if (CM == null) CM = MethodBase.GetCurrentMethod(); cPerformanceLogger.LogPerformanceStart(LogDeep, CM, requestInfo.id, requestInfo.created); }
|
||||
@@ -1495,9 +1517,9 @@ namespace C4IT.DataHistoryProvider
|
||||
if (_EventTime < RefTime - TimeSpan.FromDays(MaxAge))
|
||||
continue;
|
||||
|
||||
object Value = GetValueFromDbField(Reader.GetValue(2));
|
||||
var _EventDuration = Reader.IsDBNull(3) ? 1 : Reader.GetInt32(3);
|
||||
foreach (var aggValEntry in aggEntry)
|
||||
object Value = GetValueFromDbField(Reader.GetValue(2), aggEntry.needsJson);
|
||||
foreach (var aggValEntry in aggEntry.Entries)
|
||||
aggValEntry.addValue(Value, _EventTime, RefTime, _EventDuration);
|
||||
}
|
||||
}
|
||||
@@ -1556,7 +1578,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
try
|
||||
{
|
||||
var McColumns = new Dictionary<int, List<cHistoricAggregationEntry>>();
|
||||
var McColumns = new Dictionary<int, cMeasureCodeInformation>();
|
||||
foreach (var _Entry in Table.Columns.Values)
|
||||
{
|
||||
if (!(_Entry is cDataHistoryConfigColumn col))
|
||||
@@ -1583,11 +1605,11 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
if (!McColumns.TryGetValue(_mc.MeasureCode, out var _colList))
|
||||
{
|
||||
_colList = new List<cHistoricAggregationEntry>();
|
||||
_colList = new cMeasureCodeInformation();
|
||||
McColumns[_mc.MeasureCode] = _colList;
|
||||
}
|
||||
var AE = new cHistoricAggregationEntry(col, MaxAge + 1, JsonSettings);
|
||||
_colList.Add(AE);
|
||||
_colList.AddEntry(AE);
|
||||
}
|
||||
|
||||
var mcFilter = "";
|
||||
@@ -1647,18 +1669,20 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
await Task.WhenAll(_listTask).ConfigureAwait(false);
|
||||
|
||||
var RetValLatest = new cF4SDHealthCardRawData.cHealthCardTable
|
||||
var RetValLatest = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
{
|
||||
Name = Table.Name + "-latest",
|
||||
InformationClass = Table.ParentCluster.InformationClass,
|
||||
Origin = Table.ParentCluster.Origin,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
|
||||
var RetValHistoric = new cF4SDHealthCardRawData.cHealthCardTable
|
||||
var RetValHistoric = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
{
|
||||
Name = Table.Name,
|
||||
InformationClass = Table.ParentCluster.InformationClass,
|
||||
Origin = Table.ParentCluster.Origin,
|
||||
IsStatic = false,
|
||||
TableType = eDataHistoryTableType.History,
|
||||
AlternateStaticTable = RetValLatest.Name
|
||||
@@ -1669,9 +1693,9 @@ namespace C4IT.DataHistoryProvider
|
||||
if (Entry.Key == 29)
|
||||
{
|
||||
}
|
||||
foreach (var subEntry in Entry.Value)
|
||||
foreach (var subEntry in Entry.Value.Entries)
|
||||
{
|
||||
var col = new cF4SDHealthCardRawData.cHealthCardTableColumn()
|
||||
var col = new cF4SDHealthCardRawData.cHealthCardTableColumn(RetValHistoric)
|
||||
{
|
||||
ColumnName = subEntry.Column.Name,
|
||||
Values = subEntry.getValues()
|
||||
@@ -1684,7 +1708,7 @@ namespace C4IT.DataHistoryProvider
|
||||
else
|
||||
Value2 = subEntry.LatestValue;
|
||||
|
||||
var col2 = new cF4SDHealthCardRawData.cHealthCardTableColumn()
|
||||
var col2 = new cF4SDHealthCardRawData.cHealthCardTableColumn(RetValLatest)
|
||||
{
|
||||
ColumnName = subEntry.Column.Name,
|
||||
Values = new List<object> { Value2 }
|
||||
@@ -1699,12 +1723,12 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
if (_col.LateDelivery)
|
||||
{
|
||||
RetValHistoric.Columns.Add(_col.Name, new cF4SDHealthCardRawData.cHealthCardTableColumn()
|
||||
RetValHistoric.Columns.Add(_col.Name, new cF4SDHealthCardRawData.cHealthCardTableColumn(RetValHistoric)
|
||||
{
|
||||
ColumnName = _col.Name,
|
||||
IsIncomplete = true
|
||||
});
|
||||
RetValLatest.Columns.Add(_col.Name, new cF4SDHealthCardRawData.cHealthCardTableColumn()
|
||||
RetValLatest.Columns.Add(_col.Name, new cF4SDHealthCardRawData.cHealthCardTableColumn(RetValLatest)
|
||||
{
|
||||
ColumnName = _col.Name,
|
||||
IsIncomplete = true
|
||||
@@ -1861,13 +1885,25 @@ namespace C4IT.DataHistoryProvider
|
||||
return null;
|
||||
}
|
||||
|
||||
internal class cHistoricEventRowInfos
|
||||
{
|
||||
internal List<cEventDetailsColumnInfo> rows = new List<cEventDetailsColumnInfo>();
|
||||
internal bool needJson = false;
|
||||
|
||||
internal void AddEntry(cEventDetailsColumnInfo row)
|
||||
{
|
||||
rows.Add(row);
|
||||
if (row.JsonIndex >= 0)
|
||||
needJson = true;
|
||||
}
|
||||
}
|
||||
|
||||
internal class cHistoricEventDetailsInfo
|
||||
{
|
||||
internal cDataHistoryConfigTable Table;
|
||||
internal cF4SDHealthCardRawData.cHealthCardDetailsTable Result;
|
||||
internal SortedList<int, SortedDictionary<DateTime, object[]>> _values;
|
||||
internal List<List<cEventDetailsColumnInfo>> rows;
|
||||
internal List<cHistoricEventRowInfos> rows;
|
||||
internal int valueCount;
|
||||
internal string[] _jsonFields;
|
||||
internal cDataHistoryConfigColumnBase colTime;
|
||||
@@ -1904,7 +1940,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
for (int i = 0; i < Reader.FieldCount; i++)
|
||||
{
|
||||
List<cEventDetailsColumnInfo> _rows = null;
|
||||
cHistoricEventRowInfos _rows = null;
|
||||
var colName = Reader.GetName(i);
|
||||
if (!string.IsNullOrWhiteSpace(colName))
|
||||
{
|
||||
@@ -1923,7 +1959,7 @@ namespace C4IT.DataHistoryProvider
|
||||
if (column.SourceName == colName)
|
||||
{
|
||||
if (_rows == null)
|
||||
_rows = new List<cEventDetailsColumnInfo>();
|
||||
_rows = new cHistoricEventRowInfos();
|
||||
_info.Result.Columns.Add(column.Name);
|
||||
|
||||
var JsonIndex = -1;
|
||||
@@ -1937,7 +1973,7 @@ namespace C4IT.DataHistoryProvider
|
||||
}
|
||||
}
|
||||
|
||||
_rows.Add(new cEventDetailsColumnInfo() { index = _info.Result.Columns.Count - 1, JsonIndex = JsonIndex, column = column });
|
||||
_rows.AddEntry(new cEventDetailsColumnInfo() { index = _info.Result.Columns.Count - 1, JsonIndex = JsonIndex, column = column });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1967,11 +2003,11 @@ namespace C4IT.DataHistoryProvider
|
||||
for (int i = 0; i < Reader.FieldCount; i++)
|
||||
{
|
||||
var listCols = _info.rows[i];
|
||||
if (listCols != null && listCols.Count > 0)
|
||||
if (listCols != null && listCols.rows.Count > 0)
|
||||
{
|
||||
var val = GetValueFromDbField(arrVals[i]);
|
||||
var val = GetValueFromDbField(arrVals[i], listCols.needJson);
|
||||
object resVal = null;
|
||||
foreach (var Entry in listCols)
|
||||
foreach (var Entry in listCols.rows)
|
||||
{
|
||||
if (Entry.column == _info.colTime && (val is DateTime evt))
|
||||
EventTime = evt;
|
||||
@@ -2073,7 +2109,7 @@ namespace C4IT.DataHistoryProvider
|
||||
Values = new Dictionary<int, List<object[]>>()
|
||||
},
|
||||
_values = new SortedList<int, SortedDictionary<DateTime, object[]>>(),
|
||||
rows = new List<List<cEventDetailsColumnInfo>>(),
|
||||
rows = new List<cHistoricEventRowInfos>(),
|
||||
valueCount = 0,
|
||||
_jsonFields = _jsonFields,
|
||||
colTime = colTime,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using C4IT.FASD.Base;
|
||||
using C4IT.Logging;
|
||||
using C4IT.F4SD.SupportCaseProtocoll.Models;
|
||||
using C4IT.FASD.Base;
|
||||
using C4IT.Logging;
|
||||
using C4IT.Matrix42.WebClient;
|
||||
using C4IT.XML;
|
||||
using C4IT_DataHistoryProvider_Base.DataSources;
|
||||
@@ -27,16 +28,19 @@ namespace C4IT.DataHistoryProvider
|
||||
public const string constLicenseId = "9CE1A6BE-6A0C-4A27-94A5-44AB997B8E62";
|
||||
|
||||
private const string constUrlIsAlive = "m42Services/api/c4itf4sdwebapi/isalive";
|
||||
private const string constUrlGetTickets = "m42Services/api/c4itf4sdwebapi/getticketlist?sid={0}&hours={1}&queueoption={2}&queues={3}";
|
||||
private const string constUrlGetTickets = "m42Services/api/c4itf4sdwebapi/getticketlist?sid={0}&hours={1}&queueoption={2}";
|
||||
private const string constUrlGetTicketsQueuesParam = "&queues={0}";
|
||||
private const string constUrlGetTicketDetails = "m42Services/api/c4itf4sdwebapi/getticketdetails?objectid={0}";
|
||||
private const string constUrlGetTicketHistory = "m42Services/api/c4itf4sdwebapi/gettickethistory?objectid={0}";
|
||||
private const string constUrlGetCreateTicket = "m42Services/api/c4itf4sdwebapi/getdirectlinkcreateticket?sid={0}{1}";
|
||||
private const string constUrlGetCreateTicketAssetParam = "&assetname={0}";
|
||||
private const string constUrlUpdateSolution = "m42Services/api/c4itf4sdwebapi/updateactivitysolution/{0}/";
|
||||
private const string constUrlGetPickupValues = "m42Services/api/c4itf4sdwebapi/getpickup/{0}?group={1}";
|
||||
private const string constUrlGetRoleMeberships = "m42services/api/c4itf4sdwebapi/getrolememberships/?sid={0}";
|
||||
private const string constUrlGetDataQueryRelationItems = "m42Services/api/dataquery/relationitems";
|
||||
private const string constUrlGetDataQueryRelationItemsCount = "m42Services/api/dataquery/relationitems/count";
|
||||
private const string constUrlGetPickupValues = "m42Services/api/c4itf4sdwebapi/getpickup/{0}?group={1}";
|
||||
private const string constUrlGetRoleMeberships = "m42services/api/c4itf4sdwebapi/getrolememberships/?sid={0}";
|
||||
private const string constUrlGetTicketOverviewCounts = "m42Services/api/c4itf4sdwebapi/getticketoverviewcounts?sid={0}&scope={1}&keys={2}";
|
||||
private const string constUrlGetTicketOverviewRelations = "m42Services/api/c4itf4sdwebapi/getticketoverviewrelations?sid={0}&scope={1}&key={2}&count={3}";
|
||||
private const string constUrlGetDataQueryRelationItems = "m42Services/api/dataquery/relationitems";
|
||||
private const string constUrlGetDataQueryRelationItemsCount = "m42Services/api/dataquery/relationitems/count";
|
||||
private const string constUrlCreateTicket = "m42Services/api/ticket/create?activitytype={0}";
|
||||
private const string constUrlActivityGetQuickCallTemplateInfo = "m42Services/api/activity/quickcalltemplateinfo/{0}";
|
||||
private const string constUrlCreateJournalEntry = "m42Services/api/journal/Add";
|
||||
@@ -106,7 +110,7 @@ namespace C4IT.DataHistoryProvider
|
||||
public int ExpirationDays { get; set; }
|
||||
}
|
||||
|
||||
public cDataHistoryCollectorM42Wpm(cDataHistoryCollector Collector) : base(Collector, eDataHistoryOrigin.M42Wpm, constConnectorName, constLicenseId)
|
||||
public cDataHistoryCollectorM42Wpm(cDataHistoryCollector Collector) : base(Collector, enumDataHistoryOrigin.M42Wpm, constConnectorName, constLicenseId)
|
||||
{
|
||||
if (Collector.InfrastructureConfig.M42Wpm.Server == null)
|
||||
return;
|
||||
@@ -464,18 +468,26 @@ namespace C4IT.DataHistoryProvider
|
||||
if (!await CheckOnline())
|
||||
return null;
|
||||
|
||||
var objSid = new SecurityIdentifier(UserId.sid, 0);
|
||||
var strSid = objSid.ToString();
|
||||
string encodedQueues = string.Join("|",
|
||||
Collector.InfrastructureConfig.M42Wpm.ActivityQueues.Select(q =>
|
||||
string.Format("{0}:{1}",
|
||||
HttpUtility.UrlEncode(q.QueueName),
|
||||
HttpUtility.UrlEncode(q.QueueID.ToString())
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
var strUrl = string.Format(constUrlGetTickets, strSid, Collector.InfrastructureConfig.M42Wpm.ClosedTicketHistory, (int)Collector.InfrastructureConfig.M42Wpm.ActivityQueueFilterOption, encodedQueues);
|
||||
var objSid = new SecurityIdentifier(UserId.sid, 0);
|
||||
var strSid = objSid.ToString();
|
||||
var queueOption = (int)Collector.InfrastructureConfig.M42Wpm.ActivityQueueFilterOption;
|
||||
var strUrl = string.Format(constUrlGetTickets,
|
||||
strSid,
|
||||
Collector.InfrastructureConfig.M42Wpm.ClosedTicketHistory,
|
||||
queueOption);
|
||||
|
||||
if (queueOption != 0)
|
||||
{
|
||||
var encodedQueues = string.Join("|",
|
||||
Collector.InfrastructureConfig.M42Wpm.ActivityQueues.Select(q =>
|
||||
string.Format("{0}:{1}",
|
||||
HttpUtility.UrlEncode(q.QueueName),
|
||||
HttpUtility.UrlEncode(q.QueueID.ToString())
|
||||
)
|
||||
)
|
||||
);
|
||||
strUrl += string.Format(constUrlGetTicketsQueuesParam, encodedQueues);
|
||||
}
|
||||
|
||||
var _wc = await GetWebClient(requestInfo, Token);
|
||||
var res = await _wc.HttpEnh.GetAsync(strUrl);
|
||||
@@ -509,11 +521,11 @@ namespace C4IT.DataHistoryProvider
|
||||
return null;
|
||||
}
|
||||
|
||||
public async Task<List<cF4sdApiSearchResultRelation>> getTicketUsage(List<cF4sdConnectorIds> lstTicketIds, CancellationToken Token, cF4sdWebRequestInfo requestInfo, int LogDeep)
|
||||
{
|
||||
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { if (CM == null) CM = MethodBase.GetCurrentMethod(); cPerformanceLogger.LogPerformanceStart(LogDeep, CM, requestInfo.id, requestInfo.created); }
|
||||
var _startTime = DateTime.UtcNow;
|
||||
public async Task<List<cF4sdApiSearchResultRelation>> getTicketUsage(List<cF4sdConnectorIds> lstTicketIds, CancellationToken Token, cF4sdWebRequestInfo requestInfo, int LogDeep)
|
||||
{
|
||||
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { if (CM == null) CM = MethodBase.GetCurrentMethod(); cPerformanceLogger.LogPerformanceStart(LogDeep, CM, requestInfo.id, requestInfo.created); }
|
||||
var _startTime = DateTime.UtcNow;
|
||||
|
||||
try
|
||||
{
|
||||
@@ -585,9 +597,136 @@ namespace C4IT.DataHistoryProvider
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { cPerformanceLogger.LogPerformanceEnd(LogDeep, CM, requestInfo.id, requestInfo.created, _startTime); }
|
||||
if (CM != null) LogMethodEnd(CM);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public async Task<Dictionary<string, int>> GetTicketOverviewCountsAsync(IEnumerable<string> keys, bool useRoleScope, cF4sdWebRequestInfo requestInfo, int LogDeep, CancellationToken Token)
|
||||
{
|
||||
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { if (CM == null) CM = MethodBase.GetCurrentMethod(); cPerformanceLogger.LogPerformanceStart(LogDeep, CM, requestInfo.id, requestInfo.created); }
|
||||
var _startTime = DateTime.UtcNow;
|
||||
|
||||
try
|
||||
{
|
||||
if (!await CheckOnline())
|
||||
return new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
var sid = requestInfo?.userInfo?.AdSid;
|
||||
if (string.IsNullOrWhiteSpace(sid))
|
||||
return new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
var scope = useRoleScope ? "role" : "personal";
|
||||
var normalizedKeys = (keys ?? Enumerable.Empty<string>())
|
||||
.Where(k => !string.IsNullOrWhiteSpace(k))
|
||||
.Distinct(StringComparer.OrdinalIgnoreCase)
|
||||
.ToList();
|
||||
var keyParam = normalizedKeys.Count > 0
|
||||
? HttpUtility.UrlEncode(string.Join(",", normalizedKeys))
|
||||
: string.Empty;
|
||||
|
||||
var url = string.Format(constUrlGetTicketOverviewCounts, HttpUtility.UrlEncode(sid), scope, keyParam);
|
||||
var wc = await GetWebClient(requestInfo, Token);
|
||||
var res = await wc.HttpEnh.GetAsync(url, Token);
|
||||
if (Token.IsCancellationRequested)
|
||||
return new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
if (res?.IsSuccessStatusCode == true)
|
||||
{
|
||||
var json = await res.Content.ReadAsStringAsync();
|
||||
if (!string.IsNullOrWhiteSpace(json))
|
||||
{
|
||||
var root = JsonConvert.DeserializeObject<JObject>(json);
|
||||
var countsToken = root?["counts"] as JObject;
|
||||
var counts = new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
|
||||
if (countsToken != null)
|
||||
{
|
||||
foreach (var prop in countsToken.Properties())
|
||||
{
|
||||
if (prop?.Name == null)
|
||||
continue;
|
||||
var value = prop.Value?.Type == JTokenType.Integer
|
||||
? prop.Value.Value<int>()
|
||||
: int.TryParse(prop.Value?.ToString(), out var parsed) ? parsed : 0;
|
||||
counts[prop.Name] = value;
|
||||
}
|
||||
}
|
||||
return counts;
|
||||
}
|
||||
}
|
||||
|
||||
StartOnlineValidation();
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { cPerformanceLogger.LogPerformanceEnd(LogDeep, CM, requestInfo.id, requestInfo.created, _startTime); }
|
||||
if (CM != null) LogMethodEnd(CM);
|
||||
}
|
||||
|
||||
return new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
|
||||
}
|
||||
|
||||
public async Task<List<cF4sdApiSearchResultRelation>> GetTicketOverviewRelationsAsync(string key, bool useRoleScope, int count, cF4sdWebRequestInfo requestInfo, int LogDeep, CancellationToken Token)
|
||||
{
|
||||
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { if (CM == null) CM = MethodBase.GetCurrentMethod(); cPerformanceLogger.LogPerformanceStart(LogDeep, CM, requestInfo.id, requestInfo.created); }
|
||||
var _startTime = DateTime.UtcNow;
|
||||
|
||||
try
|
||||
{
|
||||
if (!await CheckOnline())
|
||||
return new List<cF4sdApiSearchResultRelation>();
|
||||
|
||||
if (string.IsNullOrWhiteSpace(key))
|
||||
return new List<cF4sdApiSearchResultRelation>();
|
||||
|
||||
var sid = requestInfo?.userInfo?.AdSid;
|
||||
if (string.IsNullOrWhiteSpace(sid))
|
||||
return new List<cF4sdApiSearchResultRelation>();
|
||||
|
||||
var scope = useRoleScope ? "role" : "personal";
|
||||
var url = string.Format(
|
||||
constUrlGetTicketOverviewRelations,
|
||||
HttpUtility.UrlEncode(sid),
|
||||
scope,
|
||||
HttpUtility.UrlEncode(key),
|
||||
Math.Max(0, count)
|
||||
);
|
||||
|
||||
var wc = await GetWebClient(requestInfo, Token);
|
||||
var res = await wc.HttpEnh.GetAsync(url, Token);
|
||||
if (Token.IsCancellationRequested)
|
||||
return new List<cF4sdApiSearchResultRelation>();
|
||||
|
||||
if (res?.IsSuccessStatusCode == true)
|
||||
{
|
||||
var json = await res.Content.ReadAsStringAsync();
|
||||
if (!string.IsNullOrWhiteSpace(json))
|
||||
{
|
||||
var relations = JsonConvert.DeserializeObject<List<cF4sdApiSearchResultRelation>>(json);
|
||||
if (relations != null)
|
||||
return relations;
|
||||
}
|
||||
}
|
||||
|
||||
StartOnlineValidation();
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { cPerformanceLogger.LogPerformanceEnd(LogDeep, CM, requestInfo.id, requestInfo.created, _startTime); }
|
||||
if (CM != null) LogMethodEnd(CM);
|
||||
}
|
||||
|
||||
return new List<cF4sdApiSearchResultRelation>();
|
||||
}
|
||||
|
||||
public override async Task<List<cF4SDHealthCardRawData.cHealthCardTable>> GetTableResultsVirtualAsync(List<cDataHistoryConfigTable> Tables, Dictionary<enumFasdInformationClass, cF4sdConnectorIds> Identities, DateTime RefTime, int MaxAge, bool instantly, Guid? CacheId, CancellationToken Token, cF4sdWebRequestInfo requestInfo, int LogDeep)
|
||||
{
|
||||
@@ -600,10 +739,10 @@ namespace C4IT.DataHistoryProvider
|
||||
if (!await CheckOnline())
|
||||
return null;
|
||||
|
||||
var bMainExists = Tables.Exists(v => v.Name == constTableNameTicketDetails && v.ParentCluster?.Origin == eDataHistoryOrigin.M42Wpm);
|
||||
var bHistoryExists = Tables.Exists(v => v.Name == constTableNameTicketHistory && v.ParentCluster?.Origin == eDataHistoryOrigin.M42Wpm);
|
||||
var bUserInfoExists = Tables.Exists(v => v.Name == constTableNameUserTicket && v.ParentCluster?.Origin == eDataHistoryOrigin.M42Wpm);
|
||||
var bPickupsExists = Tables.Exists(v => v.ParentCluster?.Origin == eDataHistoryOrigin.M42Wpm && v.SubTables?.Count == 1 && v.SubTables.Values.First().Template is cDataHistoryConfigQueryTemplateM42Pickup);
|
||||
var bMainExists = Tables.Exists(v => v.Name == constTableNameTicketDetails && v.ParentCluster?.Origin == enumDataHistoryOrigin.M42Wpm);
|
||||
var bHistoryExists = Tables.Exists(v => v.Name == constTableNameTicketHistory && v.ParentCluster?.Origin == enumDataHistoryOrigin.M42Wpm);
|
||||
var bUserInfoExists = Tables.Exists(v => v.Name == constTableNameUserTicket && v.ParentCluster?.Origin == enumDataHistoryOrigin.M42Wpm);
|
||||
var bPickupsExists = Tables.Exists(v => v.ParentCluster?.Origin == enumDataHistoryOrigin.M42Wpm && v.SubTables?.Count == 1 && v.SubTables.Values.First().Template is cDataHistoryConfigQueryTemplateM42Pickup);
|
||||
|
||||
if (!bMainExists && !bHistoryExists && !bUserInfoExists && !bPickupsExists)
|
||||
return null;
|
||||
@@ -629,7 +768,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
foreach (var _table in Tables)
|
||||
{
|
||||
if (_table.ParentCluster?.Origin != eDataHistoryOrigin.M42Wpm)
|
||||
if (_table.ParentCluster?.Origin != enumDataHistoryOrigin.M42Wpm)
|
||||
continue;
|
||||
if (!(_table.SubTables.Values.First()?.Template is cDataHistoryConfigQueryTemplateM42Pickup))
|
||||
continue;
|
||||
@@ -653,12 +792,13 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameTicketHistory,
|
||||
InformationClass = enumFasdInformationClass.Ticket,
|
||||
Origin = enumDataHistoryOrigin.M42Wpm,
|
||||
IsIncomplete = true
|
||||
});
|
||||
|
||||
foreach (var _table in Tables)
|
||||
{
|
||||
if (_table.ParentCluster?.Origin != eDataHistoryOrigin.M42Wpm)
|
||||
if (_table.ParentCluster?.Origin != enumDataHistoryOrigin.M42Wpm)
|
||||
continue;
|
||||
if (!(_table.SubTables.Values.First()?.Template is cDataHistoryConfigQueryTemplateM42Pickup))
|
||||
continue;
|
||||
@@ -667,6 +807,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = _table.Name,
|
||||
InformationClass = _table.ParentCluster.InformationClass,
|
||||
Origin = _table.ParentCluster.Origin,
|
||||
IsIncomplete = true
|
||||
});
|
||||
}
|
||||
@@ -721,6 +862,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameTicketDetails,
|
||||
InformationClass = enumFasdInformationClass.Ticket,
|
||||
Origin = enumDataHistoryOrigin.M42Wpm,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
@@ -757,7 +899,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
objVal = ConvertToF4sdType(objVal, colInfo.ValueType);
|
||||
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
if (colInfo.IsWritable && colInfo.SourceName == "SolutionHtml")
|
||||
_col.IsWritable = true;
|
||||
|
||||
@@ -875,6 +1017,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameTicketHistory,
|
||||
InformationClass = enumFasdInformationClass.Ticket,
|
||||
Origin = enumDataHistoryOrigin.M42Wpm,
|
||||
IsStatic = false,
|
||||
TableType = eDataHistoryTableType.HistoryEvents
|
||||
};
|
||||
@@ -884,7 +1027,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
foreach (var colInfo in M42TableDetails.Columns.Values)
|
||||
{
|
||||
retVal.Columns[colInfo.Name] = new cF4SDHealthCardRawData.cHealthCardTableColumn()
|
||||
retVal.Columns[colInfo.Name] = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal)
|
||||
{
|
||||
ColumnName = colInfo.Name,
|
||||
Values = new List<object>(hLength)
|
||||
@@ -989,6 +1132,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = constTableNameUserTicket,
|
||||
InformationClass = enumFasdInformationClass.User,
|
||||
Origin = enumDataHistoryOrigin.M42Wpm,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
@@ -1023,7 +1167,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
objVal = ConvertToF4sdType(objVal, colInfo.ValueType);
|
||||
|
||||
retVal.Columns[colInfo.Name] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
retVal.Columns[colInfo.Name] = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = colInfo.Name, Values = new List<object>(1) { objVal } };
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
@@ -1088,6 +1232,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = TableConfig.Name,
|
||||
InformationClass = enumFasdInformationClass.User,
|
||||
Origin = enumDataHistoryOrigin.M42Wpm,
|
||||
IsStatic = true,
|
||||
TableType = eDataHistoryTableType.Static
|
||||
};
|
||||
@@ -1100,7 +1245,7 @@ namespace C4IT.DataHistoryProvider
|
||||
var _i = 0;
|
||||
foreach (var _colInfo in TableConfig.Columns.Values)
|
||||
{
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = _colInfo.Name };
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = _colInfo.Name };
|
||||
retVal.Columns[_colInfo.Name] = _col;
|
||||
_dicColInfo[_colInfo.SourceName] = _colInfo;
|
||||
_dicIndex[_colInfo.SourceName] = _i;
|
||||
@@ -1693,6 +1838,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = Table.Name,
|
||||
InformationClass = Table.ParentCluster.InformationClass,
|
||||
Origin = Table.ParentCluster.Origin,
|
||||
IsStatic = false,
|
||||
TableType = Table.Type
|
||||
};
|
||||
@@ -1700,7 +1846,7 @@ namespace C4IT.DataHistoryProvider
|
||||
var _dicColInfo = Table.Columns.ToDictionary(v => v.Value.SourceName, v => v.Value);
|
||||
foreach (var colInfo in Table.Columns.Values)
|
||||
{
|
||||
retVal.Columns[colInfo.Name] = new cF4SDHealthCardRawData.cHealthCardTableColumn() { ColumnName = colInfo.Name, Values = new List<object>(_valueCount) };
|
||||
retVal.Columns[colInfo.Name] = new cF4SDHealthCardRawData.cHealthCardTableColumn(retVal) { ColumnName = colInfo.Name, Values = new List<object>(_valueCount) };
|
||||
}
|
||||
|
||||
foreach (var _entry in ticketInfos)
|
||||
@@ -2114,22 +2260,124 @@ namespace C4IT.DataHistoryProvider
|
||||
await CreateM42JournalAsync(journalEntry, requestInfo, LogDeep + 1, token);
|
||||
if (token.IsCancellationRequested) return null;
|
||||
|
||||
if (ticketInfo.QuickActionHistory != null)
|
||||
foreach (var entry in ticketInfo.QuickActionHistory)
|
||||
try
|
||||
{
|
||||
if (ticketInfo.SupportCaseProtocollEntries != null)
|
||||
{
|
||||
cCreateJournalEntryInfo _entry = null;
|
||||
switch (entry.ResultCode)
|
||||
{
|
||||
case -1:
|
||||
case 1:
|
||||
case 0:
|
||||
var entryType = entry.wasRunningOnAffectedDevice ? 20602 : 20601;
|
||||
_entry = new cCreateJournalEntryInfo()
|
||||
await ProtocollSupportCaseProtocollEntries(ticketInfo.SupportCaseProtocollEntries, TicketId, requestInfo, LogDeep, token);
|
||||
}
|
||||
else if (ticketInfo.QuickActionHistory != null)
|
||||
{
|
||||
await ProtocollSupportCaseQuickActionHistory(ticketInfo.QuickActionHistory, TicketId, requestInfo, LogDeep, token);
|
||||
}
|
||||
|
||||
if (token.IsCancellationRequested)
|
||||
return null;
|
||||
}
|
||||
catch (TaskCanceledException)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
ticketInfo.Ticket = TicketId;
|
||||
await UpdateM42TicketUnreadAsync(ticketInfo, requestInfo, LogDeep + 1, token);
|
||||
|
||||
return TicketId.ToString();
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LogException(e);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { cPerformanceLogger.LogPerformanceEnd(LogDeep, CM, requestInfo.id, requestInfo.created, _startTime); }
|
||||
if (CM != null) LogMethodEnd(CM);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private async Task ProtocollSupportCaseProtocollEntries(List<ProtocollEntryBase> supportCaseProtocollEntries, Guid ticketId, cF4sdWebRequestInfo requestInfo, int logDeep, CancellationToken token)
|
||||
{
|
||||
foreach (var protocollEntry in supportCaseProtocollEntries)
|
||||
{
|
||||
if (!(protocollEntry is QuickActionProtocollEntry entry))
|
||||
continue;
|
||||
|
||||
cCreateJournalEntryInfo _entry = null;
|
||||
switch (entry.ResultCode)
|
||||
{
|
||||
case -1:
|
||||
case 1:
|
||||
case 0:
|
||||
var entryType = entry.WasRunningOnAffectedDevice ? 20602 : 20601;
|
||||
_entry = new cCreateJournalEntryInfo()
|
||||
{
|
||||
Comments = "",
|
||||
ObjectId = ticketId,
|
||||
EntryType = entryType,
|
||||
Parameters = new List<cCreateJournalEntryInfo.Parameter>() { new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
Comments = "",
|
||||
ObjectId = TicketId,
|
||||
EntryType = entryType,
|
||||
Parameters = new List<cCreateJournalEntryInfo.Parameter>() { new cCreateJournalEntryInfo.Parameter()
|
||||
Name = "result",
|
||||
Value = entry.HtmlContent ?? entry.MeasureValues ?? entry.ErrorMessage
|
||||
},
|
||||
new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
Name = "quickActionName",
|
||||
Value = entry.Name
|
||||
},
|
||||
new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
Name = "QuickActionId",
|
||||
Value = entry.Id
|
||||
},
|
||||
new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
Name = "quickActionExecutionType",
|
||||
Value = entry.ExecutionTypeId
|
||||
},
|
||||
new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
Name = "ExecutionTime",
|
||||
Value = entry.Time
|
||||
},
|
||||
new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
Name = "AffectedDeviceName",
|
||||
Value = entry.AffectedDeviceName
|
||||
},}
|
||||
};
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (_entry != null)
|
||||
{
|
||||
await CreateM42JournalAsync(_entry, requestInfo, logDeep + 1, token);
|
||||
if (token.IsCancellationRequested) return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async Task ProtocollSupportCaseQuickActionHistory(List<cQuickActionResult> quickActionHistory, Guid ticketId, cF4sdWebRequestInfo requestInfo, int logDeep, CancellationToken token)
|
||||
{
|
||||
foreach (var entry in quickActionHistory)
|
||||
{
|
||||
cCreateJournalEntryInfo _entry = null;
|
||||
switch (entry.ResultCode)
|
||||
{
|
||||
case -1:
|
||||
case 1:
|
||||
case 0:
|
||||
var entryType = entry.wasRunningOnAffectedDevice ? 20602 : 20601;
|
||||
_entry = new cCreateJournalEntryInfo()
|
||||
{
|
||||
Comments = "",
|
||||
ObjectId = ticketId,
|
||||
EntryType = entryType,
|
||||
Parameters = new List<cCreateJournalEntryInfo.Parameter>() { new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
Name = "result",
|
||||
Value = entry.Output ?? entry.MeasureValues ?? entry.ErrorMessage
|
||||
@@ -2159,35 +2407,17 @@ namespace C4IT.DataHistoryProvider
|
||||
Name = "AffectedDeviceName",
|
||||
Value = entry.AffectedDeviceName
|
||||
},}
|
||||
};
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (_entry != null)
|
||||
{
|
||||
await CreateM42JournalAsync(_entry, requestInfo, LogDeep + 1, token);
|
||||
if (token.IsCancellationRequested) return null;
|
||||
}
|
||||
}
|
||||
ticketInfo.Ticket = TicketId;
|
||||
await UpdateM42TicketUnreadAsync(ticketInfo, requestInfo, LogDeep + 1, token);
|
||||
|
||||
return TicketId.ToString();
|
||||
|
||||
};
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (_entry != null)
|
||||
{
|
||||
await CreateM42JournalAsync(_entry, requestInfo, logDeep + 1, token);
|
||||
if (token.IsCancellationRequested) return;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LogException(e);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { cPerformanceLogger.LogPerformanceEnd(LogDeep, CM, requestInfo.id, requestInfo.created, _startTime); }
|
||||
if (CM != null) LogMethodEnd(CM);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public async Task<string> UpdateM42TicketAsync(cApiM42Ticket ticketInfo, cF4sdWebRequestInfo requestInfo, int LogDeep, CancellationToken token)
|
||||
@@ -2332,16 +2562,19 @@ namespace C4IT.DataHistoryProvider
|
||||
await CreateM42JournalAsync(_entry, requestInfo, LogDeep + 1, token);
|
||||
if (token.IsCancellationRequested) return null;
|
||||
}
|
||||
if (ticketInfo.QuickActionHistory != null)
|
||||
if (ticketInfo.SupportCaseProtocollEntries != null)
|
||||
{
|
||||
foreach (var entry in ticketInfo.QuickActionHistory)
|
||||
foreach (var protocollEntry in ticketInfo.SupportCaseProtocollEntries)
|
||||
{
|
||||
if (!(protocollEntry is QuickActionProtocollEntry entry))
|
||||
continue;
|
||||
|
||||
switch (entry.ResultCode)
|
||||
{
|
||||
case -1:
|
||||
case 1:
|
||||
case 0:
|
||||
var entryType = entry.wasRunningOnAffectedDevice ? 20602 : 20601;
|
||||
var entryType = entry.WasRunningOnAffectedDevice ? 20602 : 20601;
|
||||
_entry = new cCreateJournalEntryInfo()
|
||||
{
|
||||
Comments = "",
|
||||
@@ -2350,27 +2583,27 @@ namespace C4IT.DataHistoryProvider
|
||||
Parameters = new List<cCreateJournalEntryInfo.Parameter>() { new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
Name = "result",
|
||||
Value = entry.Output ?? entry.MeasureValues ?? entry.ErrorMessage
|
||||
Value = entry.HtmlContent ?? entry.MeasureValues ?? entry.ErrorMessage
|
||||
},
|
||||
new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
Name = "quickActionName",
|
||||
Value = entry.QuickActionName
|
||||
Value = entry.Name
|
||||
},
|
||||
new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
Name = "QuickActionId",
|
||||
Value = entry.QuickActionId
|
||||
Value = entry.Id
|
||||
},
|
||||
new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
Name = "quickActionExecutionType",
|
||||
Value = entry.QuickActionExecutionType
|
||||
Value = entry.ExecutionTypeId
|
||||
},
|
||||
new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
Name = "ExecutionTime",
|
||||
Value = entry.ExecutionTime
|
||||
Value = entry.Time
|
||||
},
|
||||
new cCreateJournalEntryInfo.Parameter()
|
||||
{
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
public cNxqlColumnsValidationResult LastValidationResults = null;
|
||||
|
||||
public cDataHistoryCollectorNxql(cDataHistoryCollector Collector) : base(Collector, eDataHistoryOrigin.NexthinkNxql, constConnectorName, constLicenseId)
|
||||
public cDataHistoryCollectorNxql(cDataHistoryCollector Collector) : base(Collector, enumDataHistoryOrigin.NexthinkNxql, constConnectorName, constLicenseId)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -644,6 +644,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
Name = Table.Name,
|
||||
InformationClass = Table.ParentCluster.InformationClass,
|
||||
Origin = Table.ParentCluster.Origin,
|
||||
IsIncomplete = true
|
||||
}); ;
|
||||
}
|
||||
@@ -769,7 +770,7 @@ namespace C4IT.DataHistoryProvider
|
||||
}
|
||||
else
|
||||
{
|
||||
SqlValueEntry = new cF4SDHealthCardRawData.cHealthCardTableColumn()
|
||||
SqlValueEntry = new cF4SDHealthCardRawData.cHealthCardTableColumn(SqlValues)
|
||||
{
|
||||
ColumnName = DailyValueEntry.Key,
|
||||
Values = new List<object>(1) { DailyValueEntry.Value }
|
||||
@@ -822,10 +823,11 @@ namespace C4IT.DataHistoryProvider
|
||||
else
|
||||
{
|
||||
if (DefaultLogger.IsDebug) LogEntry($"No valid SQL data found for NXQL results for table '{TableName}', creating a new table result with todays values only", LogLevels.Debug);
|
||||
var TableResult = new cF4SDHealthCardRawData.cHealthCardTable
|
||||
var TableResult = new cF4SDHealthCardRawData.cHealthCardTable()
|
||||
{
|
||||
Name = TableName,
|
||||
InformationClass = DailyValues.InformationClass,
|
||||
Origin = enumDataHistoryOrigin.NexthinkNxql,
|
||||
IsIncomplete = true,
|
||||
IsStatic = false,
|
||||
TableType = eDataHistoryTableType.History,
|
||||
@@ -836,7 +838,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
foreach (var ColEntry in DailyValues)
|
||||
{
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn
|
||||
var _col = new cF4SDHealthCardRawData.cHealthCardTableColumn(TableResult)
|
||||
{
|
||||
ColumnName = ColEntry.Key,
|
||||
Values = new List<object>(1) { ColEntry.Value }
|
||||
@@ -901,7 +903,7 @@ namespace C4IT.DataHistoryProvider
|
||||
var indexServer = 0;
|
||||
foreach (var Table in Collector.ClusterConfig.Tables.Values)
|
||||
{
|
||||
if (Table.ParentCluster.Origin != eDataHistoryOrigin.NexthinkNxql)
|
||||
if (Table.ParentCluster.Origin != enumDataHistoryOrigin.NexthinkNxql)
|
||||
continue;
|
||||
|
||||
foreach (var SubTable in Table.SubTables.Values)
|
||||
@@ -1182,7 +1184,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
foreach (var Table in Collector.ClusterConfig.Tables.Values)
|
||||
{
|
||||
if (Table.ParentCluster.Origin != eDataHistoryOrigin.NexthinkNxql)
|
||||
if (Table.ParentCluster.Origin != enumDataHistoryOrigin.NexthinkNxql)
|
||||
continue;
|
||||
|
||||
foreach (var SubTable in Table.SubTables.Values)
|
||||
@@ -1435,7 +1437,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
foreach (var Table in Tables)
|
||||
{
|
||||
if (!(Table.ParentCluster.Origin == eDataHistoryOrigin.NexthinkNxql))
|
||||
if (!(Table.ParentCluster.Origin == enumDataHistoryOrigin.NexthinkNxql))
|
||||
continue;
|
||||
|
||||
if (Table.ParentCluster.InformationClass != InfoClass)
|
||||
@@ -1804,7 +1806,7 @@ namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
foreach (var Table in Collector.ClusterConfig.Tables.Values)
|
||||
{
|
||||
if (!(Table.ParentCluster.Origin == eDataHistoryOrigin.NexthinkNxql))
|
||||
if (!(Table.ParentCluster.Origin == enumDataHistoryOrigin.NexthinkNxql))
|
||||
continue;
|
||||
|
||||
if (Table.Cached == eDataHistoryTableCached.No && FileSavePath == null)
|
||||
|
||||
@@ -511,6 +511,9 @@ namespace C4IT.DataHistoryProvider
|
||||
public bool ScanIntuneDevices { get; private set; } = false;
|
||||
public bool WithMobileDevices { get; private set; } = false;
|
||||
|
||||
public string ScanFilter { get; private set; } = "";
|
||||
public bool UseConsistencyLevelEventual { get; private set; } = false;
|
||||
|
||||
internal cDataHistoryAzureTenant(XmlElement XNode, Dictionary<string, cCredential> Credentials, cXmlParser Parser)
|
||||
{
|
||||
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
|
||||
@@ -544,6 +547,22 @@ namespace C4IT.DataHistoryProvider
|
||||
ScanIntuneDevices = cXmlParser.GetBoolFromXmlAttribute(XNode, "ScanIntuneDevices");
|
||||
WithMobileDevices = cXmlParser.GetBoolFromXmlAttribute(XNode, "WithMobileDevices");
|
||||
|
||||
var XFilterNode = XNode.SelectSingleNode("Azure-Scan-Filter");
|
||||
if (XFilterNode is XmlElement XFilter)
|
||||
{
|
||||
Parser.EnterElement("Azure-AD");
|
||||
try
|
||||
{
|
||||
ScanFilter = XFilter.SelectSingleNode("text()")?.Value;
|
||||
UseConsistencyLevelEventual = cXmlParser.GetBoolFromXmlAttribute(XFilter, "UseConsistencyLevelEventual");
|
||||
}
|
||||
finally
|
||||
{
|
||||
Parser.LeaveElement("Azure-AD");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
IsValid = true;
|
||||
}
|
||||
catch (Exception E)
|
||||
|
||||
@@ -16,19 +16,6 @@ using static C4IT.Logging.cLogManager;
|
||||
|
||||
namespace C4IT.DataHistoryProvider
|
||||
{
|
||||
public enum eDataHistoryOrigin
|
||||
{
|
||||
Unknown = 0,
|
||||
Main = 1,
|
||||
F4sdAgent = 2,
|
||||
NexthinkNxql = 3,
|
||||
ActiveDirectory = 4,
|
||||
AzureAD = 5,
|
||||
M42Wpm = 6,
|
||||
Intune= 7,
|
||||
Citrix = 8
|
||||
}
|
||||
|
||||
public enum eDataHistoryTableCached { Default = 0, Yes = 1, No = 2 };
|
||||
|
||||
public enum eDataHistoryQueryType { Query = 0, Static = 1 }
|
||||
@@ -645,7 +632,7 @@ namespace C4IT.DataHistoryProvider
|
||||
[JsonIgnore]
|
||||
public cDataHistoryConfigClusters ParentConfig { get; protected set; } = null;
|
||||
|
||||
public eDataHistoryOrigin Origin { get; protected set; } = eDataHistoryOrigin.Unknown;
|
||||
public enumDataHistoryOrigin Origin { get; protected set; } = enumDataHistoryOrigin.Unknown;
|
||||
|
||||
public enumFasdInformationClass InformationClass { get; protected set; } = enumFasdInformationClass.Unknown;
|
||||
|
||||
@@ -675,8 +662,8 @@ namespace C4IT.DataHistoryProvider
|
||||
return;
|
||||
}
|
||||
|
||||
Origin = cXmlParser.GetEnumFromAttribute<eDataHistoryOrigin>(XNode, "Origin", eDataHistoryOrigin.Unknown);
|
||||
if (Origin == eDataHistoryOrigin.Unknown)
|
||||
Origin = cXmlParser.GetEnumFromAttribute<enumDataHistoryOrigin>(XNode, "Origin", enumDataHistoryOrigin.Unknown);
|
||||
if (Origin == enumDataHistoryOrigin.Unknown)
|
||||
{
|
||||
Parser.AddMessage(XNode, $"The <DataCluster> element with Name='{Name}' has no valid 'Type' attribute.", LogLevels.Error);
|
||||
return;
|
||||
@@ -787,7 +774,7 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
IsValid = true;
|
||||
Name = "Main";
|
||||
Origin = eDataHistoryOrigin.Main;
|
||||
Origin = enumDataHistoryOrigin.Main;
|
||||
InformationClass = enumFasdInformationClass.Main;
|
||||
|
||||
ParentConfig = Config;
|
||||
@@ -892,10 +879,10 @@ namespace C4IT.DataHistoryProvider
|
||||
|
||||
ParentCluster = Cluster;
|
||||
|
||||
if (Cluster.Origin == eDataHistoryOrigin.Main && XNode.Name == "InformationClass")
|
||||
if (Cluster.Origin == enumDataHistoryOrigin.Main && XNode.Name == "InformationClass")
|
||||
IsBuildInTable = true;
|
||||
|
||||
if (Cluster.Origin == eDataHistoryOrigin.F4sdAgent || Cluster.Origin == eDataHistoryOrigin.M42Wpm || Cluster.Origin == eDataHistoryOrigin.Intune || Cluster.Origin == eDataHistoryOrigin.Citrix)
|
||||
if (Cluster.Origin == enumDataHistoryOrigin.F4sdAgent || Cluster.Origin == enumDataHistoryOrigin.M42Wpm || Cluster.Origin == enumDataHistoryOrigin.Intune || Cluster.Origin == enumDataHistoryOrigin.Citrix)
|
||||
IsVirtual = true;
|
||||
|
||||
Name = cXmlParser.GetStringFromXmlAttribute(XNode, "Name");
|
||||
|
||||
@@ -301,7 +301,7 @@ namespace C4IT.DataHistoryProvider
|
||||
RetVal |= DoXmlInsertElement(XmlRoot
|
||||
, "TicketConfiguration"
|
||||
, "OverviewPollingRole"
|
||||
, $"<OverviewPollingRole Policy=\"Hidden\" Value=\"{cF4sdTicketConfig.DefaultOverviewPollingRoles}\" />"
|
||||
, $"<OverviewPollingRole Policy=\"Hidden\" Value=\"{cF4sdTicketConfig.DefaultOverviewPollingRole}\" />"
|
||||
);
|
||||
#pragma warning disable CS0618 // Type or member is obsolete
|
||||
var oldShowDocumentCaseDialog = InfrastructureConfig?.M42Wpm?.ShowDocumentCaseDialog ?? enumShowDocumentCaseDialog.ifRequired;
|
||||
|
||||
@@ -162,18 +162,25 @@
|
||||
</COMReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="C4IT.F4SD.DisplayFormatting" Version="1.0.0" />
|
||||
<PackageReference Include="C4IT.F4SD.SupportCaseProtocoll" Version="1.0.0" />
|
||||
<PackageReference Include="MaterialIcons" Version="1.0.3" NoWarn="NU1701" />
|
||||
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.1.0" />
|
||||
<PackageReference Include="Microsoft.Bcl.TimeProvider" Version="10.0.2" />
|
||||
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.1.4" />
|
||||
<PackageReference Include="Microsoft.Win32.Registry" Version="5.0.0" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageReference Include="System.DirectoryServices" Version="9.0.7" />
|
||||
<PackageReference Include="System.DirectoryServices.AccountManagement" Version="9.0.7" />
|
||||
<PackageReference Include="System.DirectoryServices.Protocols" Version="9.0.7" />
|
||||
<PackageReference Include="System.Drawing.Common" Version="9.0.7" />
|
||||
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.13.0" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
|
||||
<PackageReference Include="System.DirectoryServices" Version="10.0.2" />
|
||||
<PackageReference Include="System.DirectoryServices.AccountManagement" Version="10.0.2" />
|
||||
<PackageReference Include="System.DirectoryServices.Protocols" Version="10.0.2" />
|
||||
<PackageReference Include="System.Drawing.Common" Version="10.0.2" />
|
||||
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.15.0" />
|
||||
<PackageReference Include="System.IO.Pipelines" Version="10.0.2" />
|
||||
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.2" />
|
||||
<PackageReference Include="System.Security.Permissions" Version="9.0.7" />
|
||||
<PackageReference Include="System.Configuration.ConfigurationManager" Version="9.0.7" />
|
||||
<PackageReference Include="System.Security.Permissions" Version="10.0.2" />
|
||||
<PackageReference Include="System.Configuration.ConfigurationManager" Version="10.0.2" />
|
||||
<PackageReference Include="System.Text.Encodings.Web" Version="10.0.2" />
|
||||
<PackageReference Include="System.Text.Json" Version="10.0.2" />
|
||||
<PackageReference Include="System.ValueTuple" Version="4.6.1" />
|
||||
</ItemGroup>
|
||||
<Target Name="AfterBuild" AfterTargets="Build">
|
||||
<PropertyGroup>
|
||||
|
||||
@@ -762,6 +762,16 @@
|
||||
<Table-Column Name="Description" Type="string" Cardinal="300" />
|
||||
</Table-Columns>
|
||||
</Table>
|
||||
<Table Name="M42Wpm-Ticket-CloseCase-Categories" Type="Selection" Key="id">
|
||||
<Matrix42-DataQueryItems-Template EntityClassName="SPSScCategoryClassBase" EntityTypeNames="SPSScCategoryType" OrderBy="" WhereExpression="Hidden = 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="parent" SourceName="Parent_Value" Type="guid" />
|
||||
</Table-Columns>
|
||||
</Table>
|
||||
<Table Name="M42Wpm-Ticket-Roles" Type="Selection" Key="id">
|
||||
<Matrix42-DataQueryItems-Template EntityClassName="SPSScRoleClassBase" EntityTypeNames="SPSSecurityTypeRole" OrderBy="" WhereExpression="T(SPSSecurityClassRole).ShowInForwardAction = 1 AND T(SPSSecurityClassRole).Queue.ID IS NULL" />
|
||||
<Table-Columns>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<DisableAutomaticTimeTracking Policy="Mandatory" Value="true" />
|
||||
<CompletitionPolicy Policy="Mandatory" Value="IfRequired" />
|
||||
<NotesMandatory Policy="Mandatory" Value="true" />
|
||||
<ShowOverview Policy="Mandatory" Value="true" />
|
||||
<ShowOverview Policy="Mandatory" Value="false" />
|
||||
<OverviewPollingPersonal Policy="Mandatory" Value="10" />
|
||||
<OverviewPollingRole Policy="Mandatory" Value="5" />
|
||||
</TicketConfiguration>
|
||||
|
||||
@@ -948,7 +948,18 @@
|
||||
</StateCategory>
|
||||
<StateCategory Name="BshRegistryKeyExists" IsVisibleByParameter="BshRegistryKeyExists">
|
||||
<State-Info Name="BshRegistryKeyExists" ValueTable="Computation_EmptyConstant" ValueColumn="default" />
|
||||
</StateCategory>
|
||||
<State-Info Name="Printers" ValueTable="agnt-computer-event-string" ValueColumn="BSH_Printers">
|
||||
<Name Lang="DE">Drucker</Name>
|
||||
<State-Details-Valued Format="json">
|
||||
<State-Details-Column Name="Name" Description="Printer name" ValueColumn="Name" Display="STRING">
|
||||
<Description Lang="DE">Druckername</Description>
|
||||
</State-Details-Column>
|
||||
<State-Details-Column Name="Is default" Description="Is selected default printer" ValueColumn="Default" Display="STRING">
|
||||
<Description Lang="DE">Ist Standarddrucker</Description>
|
||||
</State-Details-Column>
|
||||
</State-Details-Valued>
|
||||
</State-Info>
|
||||
</StateCategory>
|
||||
<StateCategory Name="BshRegistryKeyAbsent" IsVisibleByParameter="BshRegistryKeyAbsent">
|
||||
<State-Info Name="BshRegistryKeyAbsent" ValueTable="Computation_EmptyConstant" ValueColumn="default" />
|
||||
</StateCategory>
|
||||
@@ -1051,7 +1062,7 @@
|
||||
<State-Level Name="RAM/Memory free" Display="BYTES" ValueTable="agnt-computer-event-numerical" ValueColumn="MemoryFree" Warning="2147483648" Error="1073741824" Direction="down">
|
||||
<Name Lang="DE">RAM/Arbeitsspeicher frei</Name>
|
||||
</State-Level>
|
||||
<State-Link Reference="RAM_Relative" Hidden="false" />
|
||||
<State-Link Reference="RAM_Relative" />
|
||||
</State-Aggregation>
|
||||
<State-Aggregation Name="Hard disk storage">
|
||||
<Name Lang="DE">Festplatten-Speicher</Name>
|
||||
|
||||
@@ -102,6 +102,13 @@
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="ValuedFormat">
|
||||
<xs:restriction base="xs:NCName">
|
||||
<xs:enumeration value="csv" />
|
||||
<xs:enumeration value="json" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:attributeGroup name="ValuePointer">
|
||||
<xs:attribute name="Name" type="xs:string" use="optional" />
|
||||
<xs:attribute name="ParameterName" type="xs:NCName" use="optional" />
|
||||
@@ -543,7 +550,8 @@
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="State-Details-Base">
|
||||
<xs:attribute name="RowSeparator" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Format" type="ValuedFormat" use="optional"/>
|
||||
<xs:attribute name="RowSeparator" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="ColSeparator" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="StringDecorator" type="Separator" use="optional"/>
|
||||
</xs:extension>
|
||||
|
||||
@@ -76,7 +76,9 @@
|
||||
</AD-Scans>
|
||||
</Active-Directory>
|
||||
<Azure-AD>
|
||||
<Azure-Tenant Domain="c4it365.onmicrosoft.com" TenantID="8f773186-362b-4432-a3e9-d3ad4685f3f1" Credential="AzureAccess" ScanIntuneDevices = "true" WithMobileDevices="true"/>
|
||||
<Azure-Tenant Domain="c4it365.onmicrosoft.com" TenantID="8f773186-362b-4432-a3e9-d3ad4685f3f1" Credential="AzureAccess" ScanIntuneDevices = "true" WithMobileDevices="true">
|
||||
<Azure-Scan-Filter UseConsistencyLevelEventual="true">onPremisesExtensionAttributes/extensionAttribute8 in ('C4IT', 'TS4U') and userType eq 'member' and accountEnabled eq true</Azure-Scan-Filter>
|
||||
</Azure-Tenant>
|
||||
<!--<Azure-Tenant Domain="sd0024.onmicrosoft.com" TenantID="07362148-410e-4636-a9cb-795fba1a5452" Credential="AzureAccess_Dieter"/>-->
|
||||
</Azure-AD>
|
||||
<Matrix42-WPM Server="srvwsm001.imagoverum.com" Credential="M42API-Demo" ClosedTicketHistory="9999" DisplayName="M42 Demo server (imagoverum)" ApiTokenLifetime ="30 days" ActivityQueueFilter="ticketsAndListedQueues">
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
using C4IT.FASD.Base;
|
||||
using F4SDwebService;
|
||||
using System;
|
||||
using System;
|
||||
using System.Web.Http;
|
||||
|
||||
using C4IT.FASD.Base;
|
||||
using F4SDwebService;
|
||||
|
||||
namespace FasdWebService.Controllers
|
||||
{
|
||||
public class CheckConnectionController : ApiController
|
||||
|
||||
122
F4SDwebService/Controllers/TicketOverviewController.cs
Normal file
122
F4SDwebService/Controllers/TicketOverviewController.cs
Normal file
@@ -0,0 +1,122 @@
|
||||
using C4IT.DataHistoryProvider;
|
||||
using C4IT.FASD.Base;
|
||||
using C4IT.Logging;
|
||||
using F4SDwebService;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web.Http;
|
||||
using static C4IT.Logging.cLogManager;
|
||||
|
||||
namespace FasdWebService.Controllers
|
||||
{
|
||||
[RoutePrefix("api/TicketOverview")]
|
||||
public class TicketOverviewController : ApiController
|
||||
{
|
||||
private static bool IsTicketOverviewEnabled()
|
||||
{
|
||||
return WebApiApplication.Collector?.GetGlobalConfig()?.TicketConfiguration?.ShowOverview == true;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("GetCounts")]
|
||||
public async Task<IHttpActionResult> GetCounts(string scope = "personal", string keys = "")
|
||||
{
|
||||
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
|
||||
|
||||
var requestInfo = new cF4sdWebRequestInfo("TicketOverview.GetCounts", scope ?? string.Empty, cAuthentication.GetUserInfo(ActionContext));
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { cPerformanceLogger.LogPerformanceStart(0, requestInfo.requestName, requestInfo.id, requestInfo.created); }
|
||||
|
||||
var apiError = 0;
|
||||
try
|
||||
{
|
||||
if (!IsTicketOverviewEnabled())
|
||||
{
|
||||
return Ok(new TicketOverviewCountsResult());
|
||||
}
|
||||
|
||||
var collector = WebApiApplication.Collector?.M42WpmCollector;
|
||||
if (collector == null)
|
||||
{
|
||||
return Ok(new TicketOverviewCountsResult());
|
||||
}
|
||||
|
||||
var useRoleScope = string.Equals(scope, "role", StringComparison.OrdinalIgnoreCase);
|
||||
var normalizedKeys = (keys ?? string.Empty)
|
||||
.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
|
||||
.Select(k => k.Trim())
|
||||
.Where(k => !string.IsNullOrWhiteSpace(k))
|
||||
.Distinct(StringComparer.OrdinalIgnoreCase)
|
||||
.ToList();
|
||||
|
||||
var counts = await collector.GetTicketOverviewCountsAsync(normalizedKeys, useRoleScope, requestInfo, 1, CancellationToken.None);
|
||||
return Ok(new TicketOverviewCountsResult { Counts = counts });
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
apiError = E.HResult;
|
||||
LogException(E);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (WebApiApplication.Debug_apiTiming) WebApiApplication.SaveApiTimingEntry(requestInfo.requestName, requestInfo.id, requestInfo.created, apiError);
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { cPerformanceLogger.LogPerformanceEnd(0, requestInfo.requestName, requestInfo.id, requestInfo.created, requestInfo.created, ErrorCode: apiError); }
|
||||
if (CM != null) LogMethodEnd(CM);
|
||||
}
|
||||
|
||||
return Ok(new TicketOverviewCountsResult());
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("GetRelations")]
|
||||
public async Task<IHttpActionResult> GetRelations(string key, string scope = "personal", int count = 0)
|
||||
{
|
||||
MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); }
|
||||
|
||||
var requestInfo = new cF4sdWebRequestInfo("TicketOverview.GetRelations", key ?? string.Empty, cAuthentication.GetUserInfo(ActionContext));
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { cPerformanceLogger.LogPerformanceStart(0, requestInfo.requestName, requestInfo.id, requestInfo.created); }
|
||||
|
||||
var apiError = 0;
|
||||
try
|
||||
{
|
||||
if (!IsTicketOverviewEnabled())
|
||||
{
|
||||
return Ok(new List<cF4sdApiSearchResultRelation>());
|
||||
}
|
||||
|
||||
var collector = WebApiApplication.Collector?.M42WpmCollector;
|
||||
if (collector == null)
|
||||
{
|
||||
return Ok(new List<cF4sdApiSearchResultRelation>());
|
||||
}
|
||||
|
||||
var useRoleScope = string.Equals(scope, "role", StringComparison.OrdinalIgnoreCase);
|
||||
var relations = await collector.GetTicketOverviewRelationsAsync(key, useRoleScope, Math.Max(0, count), requestInfo, 1, CancellationToken.None);
|
||||
return Ok(relations ?? new List<cF4sdApiSearchResultRelation>());
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
apiError = E.HResult;
|
||||
LogException(E);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (WebApiApplication.Debug_apiTiming) WebApiApplication.SaveApiTimingEntry(requestInfo.requestName, requestInfo.id, requestInfo.created, apiError);
|
||||
if (cPerformanceLogger.IsActive && requestInfo != null) { cPerformanceLogger.LogPerformanceEnd(0, requestInfo.requestName, requestInfo.id, requestInfo.created, requestInfo.created, ErrorCode: apiError); }
|
||||
if (CM != null) LogMethodEnd(CM);
|
||||
}
|
||||
|
||||
return Ok(new List<cF4sdApiSearchResultRelation>());
|
||||
}
|
||||
}
|
||||
|
||||
public class TicketOverviewCountsResult
|
||||
{
|
||||
[JsonProperty("counts")]
|
||||
public Dictionary<string, int> Counts { get; set; } = new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
|
||||
}
|
||||
}
|
||||
@@ -50,75 +50,78 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Azure.Core, Version=1.47.1.0, Culture=neutral, PublicKeyToken=92742159e12e44c8, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Azure.Core.1.47.1\lib\net472\Azure.Core.dll</HintPath>
|
||||
<Reference Include="Azure.Core, Version=1.50.0.0, Culture=neutral, PublicKeyToken=92742159e12e44c8, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Azure.Core.1.50.0\lib\net472\Azure.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Azure.Identity, Version=1.14.2.0, Culture=neutral, PublicKeyToken=92742159e12e44c8, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Azure.Identity.1.14.2\lib\netstandard2.0\Azure.Identity.dll</HintPath>
|
||||
<Reference Include="Azure.Identity, Version=1.17.1.0, Culture=neutral, PublicKeyToken=92742159e12e44c8, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Azure.Identity.1.17.1\lib\netstandard2.0\Azure.Identity.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.7\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
<Reference Include="C4IT.F4SD.DisplayFormatting, Version=1.0.9509.21303, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\C4IT.F4SD.DisplayFormatting.1.0.0\lib\netstandard2.0\C4IT.F4SD.DisplayFormatting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.Cryptography, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.Cryptography.9.0.7\lib\net462\Microsoft.Bcl.Cryptography.dll</HintPath>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.2\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.TimeProvider, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.TimeProvider.9.0.7\lib\net462\Microsoft.Bcl.TimeProvider.dll</HintPath>
|
||||
<Reference Include="Microsoft.Bcl.Cryptography, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.Cryptography.10.0.2\lib\net462\Microsoft.Bcl.Cryptography.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.TimeProvider, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.TimeProvider.10.0.2\lib\net462\Microsoft.Bcl.TimeProvider.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.4.1.0\lib\net472\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="Microsoft.Data.SqlClient, Version=6.0.0.0, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Data.SqlClient.6.1.0\lib\net462\Microsoft.Data.SqlClient.dll</HintPath>
|
||||
<HintPath>..\packages\Microsoft.Data.SqlClient.6.1.4\lib\net462\Microsoft.Data.SqlClient.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Caching.Abstractions, Version=9.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Caching.Abstractions.9.0.7\lib\net462\Microsoft.Extensions.Caching.Abstractions.dll</HintPath>
|
||||
<Reference Include="Microsoft.Extensions.Caching.Abstractions, Version=10.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Caching.Abstractions.10.0.2\lib\net462\Microsoft.Extensions.Caching.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Caching.Memory, Version=9.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Caching.Memory.9.0.7\lib\net462\Microsoft.Extensions.Caching.Memory.dll</HintPath>
|
||||
<Reference Include="Microsoft.Extensions.Caching.Memory, Version=10.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Caching.Memory.10.0.2\lib\net462\Microsoft.Extensions.Caching.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=9.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.7\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
|
||||
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=10.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.10.0.2\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=9.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.9.0.7\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
|
||||
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=10.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.10.0.2\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Options, Version=9.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Options.9.0.7\lib\net462\Microsoft.Extensions.Options.dll</HintPath>
|
||||
<Reference Include="Microsoft.Extensions.Options, Version=10.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Options.10.0.2\lib\net462\Microsoft.Extensions.Options.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Primitives, Version=9.0.0.7, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Primitives.9.0.7\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath>
|
||||
<Reference Include="Microsoft.Extensions.Primitives, Version=10.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Primitives.10.0.2\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Identity.Client, Version=4.74.1.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Identity.Client.4.74.1\lib\net472\Microsoft.Identity.Client.dll</HintPath>
|
||||
<Reference Include="Microsoft.Identity.Client, Version=4.81.0.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Identity.Client.4.81.0\lib\net472\Microsoft.Identity.Client.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Identity.Client.Extensions.Msal, Version=4.74.1.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Identity.Client.Extensions.Msal.4.74.1\lib\netstandard2.0\Microsoft.Identity.Client.Extensions.Msal.dll</HintPath>
|
||||
<Reference Include="Microsoft.Identity.Client.Extensions.Msal, Version=4.81.0.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Identity.Client.Extensions.Msal.4.81.0\lib\netstandard2.0\Microsoft.Identity.Client.Extensions.Msal.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=8.13.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.8.13.0\lib\net472\Microsoft.IdentityModel.Abstractions.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=8.15.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.8.15.0\lib\net472\Microsoft.IdentityModel.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=8.13.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.JsonWebTokens.8.13.0\lib\net472\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=8.15.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.JsonWebTokens.8.15.0\lib\net472\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Logging, Version=8.13.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Logging.8.13.0\lib\net472\Microsoft.IdentityModel.Logging.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.Logging, Version=8.15.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Logging.8.15.0\lib\net472\Microsoft.IdentityModel.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Protocols, Version=8.13.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Protocols.8.13.0\lib\net472\Microsoft.IdentityModel.Protocols.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.Protocols, Version=8.15.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Protocols.8.15.0\lib\net472\Microsoft.IdentityModel.Protocols.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect, Version=8.13.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Protocols.OpenIdConnect.8.13.0\lib\net472\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect, Version=8.15.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Protocols.OpenIdConnect.8.15.0\lib\net472\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Tokens, Version=8.13.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Tokens.8.13.0\lib\net472\Microsoft.IdentityModel.Tokens.dll</HintPath>
|
||||
<Reference Include="Microsoft.IdentityModel.Tokens, Version=8.15.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IdentityModel.Tokens.8.15.0\lib\net472\Microsoft.IdentityModel.Tokens.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Infrastructure, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Web.Infrastructure.2.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json.Bson, Version=1.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.Bson.1.0.3\lib\net45\Newtonsoft.Json.Bson.dll</HintPath>
|
||||
@@ -127,11 +130,11 @@
|
||||
<Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Buffers.4.6.1\lib\net462\System.Buffers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ClientModel, Version=1.5.1.0, Culture=neutral, PublicKeyToken=92742159e12e44c8, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.ClientModel.1.5.1\lib\netstandard2.0\System.ClientModel.dll</HintPath>
|
||||
<Reference Include="System.ClientModel, Version=1.8.1.0, Culture=neutral, PublicKeyToken=92742159e12e44c8, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.ClientModel.1.8.1\lib\netstandard2.0\System.ClientModel.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Configuration.ConfigurationManager, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Configuration.ConfigurationManager.9.0.7\lib\net462\System.Configuration.ConfigurationManager.dll</HintPath>
|
||||
<Reference Include="System.Configuration.ConfigurationManager, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Configuration.ConfigurationManager.10.0.2\lib\net462\System.Configuration.ConfigurationManager.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.Common, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
@@ -140,29 +143,29 @@
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.OracleClient" />
|
||||
<Reference Include="System.Diagnostics.DiagnosticSource, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.9.0.7\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
|
||||
<Reference Include="System.Diagnostics.DiagnosticSource, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.10.0.2\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.DirectoryServices" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Formats.Asn1, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Formats.Asn1.9.0.7\lib\net462\System.Formats.Asn1.dll</HintPath>
|
||||
<Reference Include="System.Formats.Asn1, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Formats.Asn1.10.0.2\lib\net462\System.Formats.Asn1.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IdentityModel" />
|
||||
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=8.13.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IdentityModel.Tokens.Jwt.8.13.0\lib\net472\System.IdentityModel.Tokens.Jwt.dll</HintPath>
|
||||
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=8.15.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IdentityModel.Tokens.Jwt.8.15.0\lib\net472\System.IdentityModel.Tokens.Jwt.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.FileSystem.AccessControl, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IO.FileSystem.AccessControl.5.0.0\lib\net461\System.IO.FileSystem.AccessControl.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.Pipelines, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IO.Pipelines.9.0.7\lib\net462\System.IO.Pipelines.dll</HintPath>
|
||||
<Reference Include="System.IO.Pipelines, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IO.Pipelines.10.0.2\lib\net462\System.IO.Pipelines.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Memory.Data, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.Data.9.0.7\lib\net462\System.Memory.Data.dll</HintPath>
|
||||
<Reference Include="System.Memory.Data, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.Data.10.0.2\lib\net462\System.Memory.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net" />
|
||||
<Reference Include="System.Net.Http.Formatting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
@@ -184,24 +187,29 @@
|
||||
<Reference Include="System.Security.AccessControl, Version=6.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.AccessControl.6.0.1\lib\net461\System.Security.AccessControl.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.Pkcs, Version=9.0.0.7, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Cryptography.Pkcs.9.0.7\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
|
||||
<Reference Include="System.Security.Cryptography.Pkcs, Version=10.0.0.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Cryptography.Pkcs.10.0.2\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.ProtectedData, Version=9.0.0.7, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Cryptography.ProtectedData.9.0.7\lib\net462\System.Security.Cryptography.ProtectedData.dll</HintPath>
|
||||
<Reference Include="System.Security.Cryptography.ProtectedData, Version=10.0.0.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Cryptography.ProtectedData.10.0.2\lib\net462\System.Security.Cryptography.ProtectedData.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Permissions, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Permissions.9.0.7\lib\net462\System.Security.Permissions.dll</HintPath>
|
||||
<Reference Include="System.Security.Permissions, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Permissions.10.0.2\lib\net462\System.Security.Permissions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Principal.Windows, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Text.Encodings.Web, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Encodings.Web.9.0.7\lib\net462\System.Text.Encodings.Web.dll</HintPath>
|
||||
<Reference Include="System.Text.Encodings.Web, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Encodings.Web.10.0.2\lib\net462\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Text.Json, Version=9.0.0.7, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Json.9.0.7\lib\net462\System.Text.Json.dll</HintPath>
|
||||
<Reference Include="System.Text.Json, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Json.10.0.2\lib\net462\System.Text.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.RegularExpressions.4.3.1\lib\net463\System.Text.RegularExpressions.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.6.3\lib\net462\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||
@@ -310,14 +318,15 @@
|
||||
<Compile Include="Controllers\GetRawDataController.cs" />
|
||||
<Compile Include="Controllers\GetSelectionDataController.cs" />
|
||||
<Compile Include="Controllers\HomeController.cs" />
|
||||
<Compile Include="Controllers\QuickActionDataController.cs" />
|
||||
<Compile Include="Controllers\LogonController.cs" />
|
||||
<Compile Include="Controllers\Matrix42\Matrix42TicketFinalization.cs" />
|
||||
<Compile Include="Controllers\SearchDefault.cs" />
|
||||
<Compile Include="Controllers\F4SDAnalyticsDataController.cs" />
|
||||
<Compile Include="Controllers\StagedSearchRelationController.cs" />
|
||||
<Compile Include="Controllers\UsageController.cs" />
|
||||
<Compile Include="Controllers\WritePropertyController.cs" />
|
||||
<Compile Include="Controllers\QuickActionDataController.cs" />
|
||||
<Compile Include="Controllers\LogonController.cs" />
|
||||
<Compile Include="Controllers\Matrix42\Matrix42TicketFinalization.cs" />
|
||||
<Compile Include="Controllers\SearchDefault.cs" />
|
||||
<Compile Include="Controllers\F4SDAnalyticsDataController.cs" />
|
||||
<Compile Include="Controllers\TicketOverviewController.cs" />
|
||||
<Compile Include="Controllers\StagedSearchRelationController.cs" />
|
||||
<Compile Include="Controllers\UsageController.cs" />
|
||||
<Compile Include="Controllers\WritePropertyController.cs" />
|
||||
<Compile Include="Global.asax.cs">
|
||||
<DependentUpon>Global.asax</DependentUpon>
|
||||
</Compile>
|
||||
@@ -683,4 +692,4 @@ copy "$(ProjectDir)..\C4IT_DataHistoryProvider_Test\License\*" "$(ProjectDir)Lic
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target> -->
|
||||
</Project>
|
||||
</Project>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<C4IT-License-Info Product="First Aid Service Desk (F4SD)" Id="776D99A6-D341-4B70-BA4B-2CC55B76A079">
|
||||
<License Id="FAE53860-0AE2-4A15-A5D5-7E56D4D29FDE" Revision="1.0" Type="PRODUCTIVE" Customer="Consulting4IT" CustomerId="A3A5E66E-6A91-44E2-9F3A-F04C67642BCB" StartDate="2024-12-01" EndDate="2025-12-31" Signature="SeNeSrKAq/rnvCVui7TMBHkTS4AnygizDBNdLe1w7EdMGaQ2xxTvOcsOrshwqznK/shgGvxofdux0YWV3XyxWeeGwfKqjPobWOnKhp5v3xfeVk+59dx29Yn3/4j+vcJrs8kBhOrZEAkeAHojFVZYsO/SbqWoOcqP5fDw673gjW8=">
|
||||
<License Id="FAE53860-0AE2-4A15-A5D5-7E56D4D29FDE" Revision="1.0" Type="PRODUCTIVE" Customer="Consulting4IT" CustomerId="A3A5E66E-6A91-44E2-9F3A-F04C67642BCB" StartDate="2024-12-01" EndDate="2026-12-31" Signature="A3u3fZ5bU5p3CikLiOyCMdrsJCLtvQkdbUcIhPfo0gZruL4jvy/cXGeqwHgCNK4P+vVJi+7XtxfBvefTFVAs4QT2vSP+m7DPj1CB//zLOEhUHQVqim3KyQiIWtlMi/hruO+XKL6BAOYuNsSOR3eit95e9JPc60qNNL4gArdGe5I=">
|
||||
<License-Metrics Type="ManagedUsers" Count="10000" />
|
||||
<Modules>
|
||||
<Module Name="F4SD client agent connector" Id="F8A3284C-E481-4D08-A921-949D2EBD4E0B" />
|
||||
<Module Name="MS Active Directory connector" Id="B2D48023-56E8-44D5-AB77-BE1DCF4EA4EB" />
|
||||
<Module Name="Matrix42 WPM conntector" Id="9CE1A6BE-6A0C-4A27-94A5-44AB997B8E62" />
|
||||
<Module Name="Nexthink NXQL conntector" Id="51EA7764-3AD3-4F90-89DB-DEB0C60D655C" />
|
||||
<Module Name="Nexthink NXQL conntector" Id="51EA7764-3AD3-4F90-89DB-DEB0C60D655C" />
|
||||
</Modules>
|
||||
</License>
|
||||
</C4IT-License-Info>
|
||||
@@ -762,6 +762,16 @@
|
||||
<Table-Column Name="Description" Type="string" Cardinal="300" />
|
||||
</Table-Columns>
|
||||
</Table>
|
||||
<Table Name="M42Wpm-Ticket-CloseCase-Categories" Type="Selection" Key="id">
|
||||
<Matrix42-DataQueryItems-Template EntityClassName="SPSScCategoryClassBase" EntityTypeNames="SPSScCategoryType" OrderBy="" WhereExpression="Hidden = 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="parent" SourceName="Parent_Value" Type="guid" />
|
||||
</Table-Columns>
|
||||
</Table>
|
||||
<Table Name="M42Wpm-Ticket-Roles" Type="Selection" Key="id">
|
||||
<Matrix42-DataQueryItems-Template EntityClassName="SPSScRoleClassBase" EntityTypeNames="SPSSecurityTypeRole" OrderBy="" WhereExpression="T(SPSSecurityClassRole).ShowInForwardAction = 1 AND T(SPSSecurityClassRole).Queue.ID IS NULL" />
|
||||
<Table-Columns>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<DisableAutomaticTimeTracking Policy="Mandatory" Value="true" />
|
||||
<CompletitionPolicy Policy="Mandatory" Value="IfRequired" />
|
||||
<NotesMandatory Policy="Mandatory" Value="true" />
|
||||
<ShowOverview Policy="Mandatory" Value="true" />
|
||||
<ShowOverview Policy="Mandatory" Value="false" />
|
||||
<OverviewPollingPersonal Policy="Mandatory" Value="10" />
|
||||
<OverviewPollingRole Policy="Mandatory" Value="5" />
|
||||
</TicketConfiguration>
|
||||
|
||||
@@ -948,7 +948,18 @@
|
||||
</StateCategory>
|
||||
<StateCategory Name="BshRegistryKeyExists" IsVisibleByParameter="BshRegistryKeyExists">
|
||||
<State-Info Name="BshRegistryKeyExists" ValueTable="Computation_EmptyConstant" ValueColumn="default" />
|
||||
</StateCategory>
|
||||
<State-Info Name="Printers" ValueTable="agnt-computer-event-string" ValueColumn="BSH_Printers">
|
||||
<Name Lang="DE">Drucker</Name>
|
||||
<State-Details-Valued Format="json">
|
||||
<State-Details-Column Name="Name" Description="Printer name" ValueColumn="Name" Display="STRING">
|
||||
<Description Lang="DE">Druckername</Description>
|
||||
</State-Details-Column>
|
||||
<State-Details-Column Name="Is default" Description="Is selected default printer" ValueColumn="Default" Display="STRING">
|
||||
<Description Lang="DE">Ist Standarddrucker</Description>
|
||||
</State-Details-Column>
|
||||
</State-Details-Valued>
|
||||
</State-Info>
|
||||
</StateCategory>
|
||||
<StateCategory Name="BshRegistryKeyAbsent" IsVisibleByParameter="BshRegistryKeyAbsent">
|
||||
<State-Info Name="BshRegistryKeyAbsent" ValueTable="Computation_EmptyConstant" ValueColumn="default" />
|
||||
</StateCategory>
|
||||
@@ -1051,7 +1062,7 @@
|
||||
<State-Level Name="RAM/Memory free" Display="BYTES" ValueTable="agnt-computer-event-numerical" ValueColumn="MemoryFree" Warning="2147483648" Error="1073741824" Direction="down">
|
||||
<Name Lang="DE">RAM/Arbeitsspeicher frei</Name>
|
||||
</State-Level>
|
||||
<State-Link Reference="RAM_Relative" Hidden="false" />
|
||||
<State-Link Reference="RAM_Relative" />
|
||||
</State-Aggregation>
|
||||
<State-Aggregation Name="Hard disk storage">
|
||||
<Name Lang="DE">Festplatten-Speicher</Name>
|
||||
|
||||
@@ -102,6 +102,13 @@
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:simpleType name="ValuedFormat">
|
||||
<xs:restriction base="xs:NCName">
|
||||
<xs:enumeration value="csv" />
|
||||
<xs:enumeration value="json" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
<xs:attributeGroup name="ValuePointer">
|
||||
<xs:attribute name="Name" type="xs:string" use="optional" />
|
||||
<xs:attribute name="ParameterName" type="xs:NCName" use="optional" />
|
||||
@@ -543,7 +550,8 @@
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="State-Details-Base">
|
||||
<xs:attribute name="RowSeparator" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Format" type="ValuedFormat" use="optional"/>
|
||||
<xs:attribute name="RowSeparator" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="ColSeparator" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="StringDecorator" type="Separator" use="optional"/>
|
||||
</xs:extension>
|
||||
|
||||
@@ -76,7 +76,9 @@
|
||||
</AD-Scans>
|
||||
</Active-Directory>
|
||||
<Azure-AD>
|
||||
<Azure-Tenant Domain="c4it365.onmicrosoft.com" TenantID="8f773186-362b-4432-a3e9-d3ad4685f3f1" Credential="AzureAccess" ScanIntuneDevices = "true" WithMobileDevices="true"/>
|
||||
<Azure-Tenant Domain="c4it365.onmicrosoft.com" TenantID="8f773186-362b-4432-a3e9-d3ad4685f3f1" Credential="AzureAccess" ScanIntuneDevices = "true" WithMobileDevices="true">
|
||||
<Azure-Scan-Filter UseConsistencyLevelEventual="true">onPremisesExtensionAttributes/extensionAttribute8 in ('C4IT', 'TS4U') and userType eq 'member' and accountEnabled eq true</Azure-Scan-Filter>
|
||||
</Azure-Tenant>
|
||||
<!--<Azure-Tenant Domain="sd0024.onmicrosoft.com" TenantID="07362148-410e-4636-a9cb-795fba1a5452" Credential="AzureAccess_Dieter"/>-->
|
||||
</Azure-AD>
|
||||
<Matrix42-WPM Server="srvwsm001.imagoverum.com" Credential="M42API-Demo" ClosedTicketHistory="9999" DisplayName="M42 Demo server (imagoverum)" ApiTokenLifetime ="30 days" ActivityQueueFilter="ticketsAndListedQueues">
|
||||
|
||||
@@ -366,7 +366,8 @@
|
||||
<xs:element name="Azure-Tenant">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
<xs:element ref="Azure-Scan-Filter" maxOccurs="1" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="Domain" type="xs:string" use="required"/>
|
||||
<xs:attribute name="TenantID" type="guid" use="required"/>
|
||||
<xs:attribute name="Credential" type="xs:NCName" use="required"/>
|
||||
@@ -379,7 +380,11 @@
|
||||
</xs:keyref>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="Citrix">
|
||||
<xs:element name="Azure-Scan-Filter">
|
||||
</xs:element>
|
||||
|
||||
|
||||
<xs:element name="Citrix">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="Scan-Timing" maxOccurs="1" minOccurs="0"/>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<C4IT-License-Info Product="First Aid Service Desk (F4SD)" Id="776D99A6-D341-4B70-BA4B-2CC55B76A079">
|
||||
<License Id="FAE53860-0AE2-4A15-A5D5-7E56D4D29FDE" Revision="1.0" Type="PRODUCTIVE" Customer="Consulting4IT" CustomerId="A3A5E66E-6A91-44E2-9F3A-F04C67642BCB" StartDate="2024-12-01" EndDate="2025-12-31" Signature="SeNeSrKAq/rnvCVui7TMBHkTS4AnygizDBNdLe1w7EdMGaQ2xxTvOcsOrshwqznK/shgGvxofdux0YWV3XyxWeeGwfKqjPobWOnKhp5v3xfeVk+59dx29Yn3/4j+vcJrs8kBhOrZEAkeAHojFVZYsO/SbqWoOcqP5fDw673gjW8=">
|
||||
<License Id="FAE53860-0AE2-4A15-A5D5-7E56D4D29FDE" Revision="1.0" Type="PRODUCTIVE" Customer="Consulting4IT" CustomerId="A3A5E66E-6A91-44E2-9F3A-F04C67642BCB" StartDate="2024-12-01" EndDate="2026-12-31" Signature="A3u3fZ5bU5p3CikLiOyCMdrsJCLtvQkdbUcIhPfo0gZruL4jvy/cXGeqwHgCNK4P+vVJi+7XtxfBvefTFVAs4QT2vSP+m7DPj1CB//zLOEhUHQVqim3KyQiIWtlMi/hruO+XKL6BAOYuNsSOR3eit95e9JPc60qNNL4gArdGe5I=">
|
||||
<License-Metrics Type="ManagedUsers" Count="10000" />
|
||||
<Modules>
|
||||
<Module Name="F4SD client agent connector" Id="F8A3284C-E481-4D08-A921-949D2EBD4E0B" />
|
||||
<Module Name="MS Active Directory connector" Id="B2D48023-56E8-44D5-AB77-BE1DCF4EA4EB" />
|
||||
<Module Name="Matrix42 WPM conntector" Id="9CE1A6BE-6A0C-4A27-94A5-44AB997B8E62" />
|
||||
<Module Name="Nexthink NXQL conntector" Id="51EA7764-3AD3-4F90-89DB-DEB0C60D655C" />
|
||||
<Module Name="Nexthink NXQL conntector" Id="51EA7764-3AD3-4F90-89DB-DEB0C60D655C" />
|
||||
</Modules>
|
||||
</License>
|
||||
</C4IT-License-Info>
|
||||
@@ -50,11 +50,11 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.6.1.0" newVersion="4.6.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
@@ -62,7 +62,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
@@ -74,7 +74,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
|
||||
@@ -90,11 +90,11 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.Abstractions" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.ProtectedData" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.AccessControl" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
@@ -102,23 +102,23 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.Tokens" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.Logging" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.JsonWebTokens" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
@@ -126,7 +126,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
@@ -134,47 +134,55 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.TimeProvider" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory.Data" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Azure.Core" publicKeyToken="92742159e12e44c8" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.47.1.0" newVersion="1.47.1.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.50.0.0" newVersion="1.50.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Identity.Client" publicKeyToken="0a613f4dd989e8ae" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.74.1.0" newVersion="4.74.1.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.81.0.0" newVersion="4.81.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Identity.Client.Extensions.Msal" publicKeyToken="0a613f4dd989e8ae" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.74.1.0" newVersion="4.74.1.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.81.0.0" newVersion="4.81.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Azure.Identity" publicKeyToken="92742159e12e44c8" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.14.2.0" newVersion="1.14.2.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.17.1.0" newVersion="1.17.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.Protocols.OpenIdConnect" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.Protocols" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Caching.Memory" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Caching.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Options" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Formats.Asn1" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ClientModel" publicKeyToken="92742159e12e44c8" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.8.1.0" newVersion="1.8.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
@@ -50,11 +50,11 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.6.1.0" newVersion="4.6.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
@@ -62,7 +62,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
@@ -74,7 +74,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
|
||||
@@ -90,11 +90,11 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.Abstractions" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.ProtectedData" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.AccessControl" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
@@ -102,23 +102,23 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.Tokens" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.Logging" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.JsonWebTokens" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
@@ -126,7 +126,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
@@ -134,47 +134,55 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.TimeProvider" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory.Data" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Azure.Core" publicKeyToken="92742159e12e44c8" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.47.1.0" newVersion="1.47.1.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.50.0.0" newVersion="1.50.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Identity.Client" publicKeyToken="0a613f4dd989e8ae" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.74.1.0" newVersion="4.74.1.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.81.0.0" newVersion="4.81.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Identity.Client.Extensions.Msal" publicKeyToken="0a613f4dd989e8ae" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.74.1.0" newVersion="4.74.1.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.81.0.0" newVersion="4.81.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Azure.Identity" publicKeyToken="92742159e12e44c8" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.14.2.0" newVersion="1.14.2.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.17.1.0" newVersion="1.17.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.Protocols.OpenIdConnect" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.Protocols" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.13.0.0" newVersion="8.13.0.0" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Caching.Memory" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Caching.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Options" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Formats.Asn1" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.ClientModel" publicKeyToken="92742159e12e44c8" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.8.1.0" newVersion="1.8.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
@@ -3,7 +3,7 @@ set ProductName="C4IT First Aid ServiceDesk (F4SD)"
|
||||
set SignTool=..\..\Common Code\Tools\signtool.exe
|
||||
set TimeStamp=http://rfc3161timestamp.globalsign.com/advanced
|
||||
|
||||
"%SignTool%" sign /a /tr %TimeStamp% /td SHA256 /fd SHA256 /d %ProductName% ".\Source\bin\F4SD-Cockpit-Collector.exe" ".\Source\bin\F4SD-Cockpit-WebService.dll" ".\Source\bin\F4SD-Cockpit-Server.dll"
|
||||
"%SignTool%" sign /a /tr %TimeStamp% /td SHA256 /fd SHA256 /d %ProductName% ".\Source\bin\F4SD-Cockpit-Collector.exe" ".\Source\bin\F4SD-Cockpit-WebService.dll" ".\Source\bin\F4SD-Cockpit-Server.dll" ".\Source\bin\C4IT.F4SD.DisplayFormatting.dll"
|
||||
|
||||
pause
|
||||
|
||||
|
||||
6
nuget.config
Normal file
6
nuget.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="c4it" value="https://consulting4it.pkgs.visualstudio.com/34326a32-0169-4d1a-9641-804097e90d0e/_packaging/c4it/nuget/v3/index.json" />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
Reference in New Issue
Block a user