Prepare Data History Provider 2.7 integration update
- modularize Citrix and agent integrations and add remote desktop endpoints - extend ticket overview, ticket links, token validation, and staged relation handling - update configuration, licensing, project, signing, and publish artifacts
This commit is contained in:
@@ -1,19 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using C4IT.DataHistoryProvider;
|
||||
using System.Reflection;
|
||||
using C4IT.Logging;
|
||||
using System.Threading;
|
||||
|
||||
using System.Reflection;
|
||||
|
||||
using C4IT.Logging;
|
||||
using C4IT.DataHistoryProvider;
|
||||
using C4IT.DataHistoryProvider.Base.Modules.Citrix;
|
||||
|
||||
using static C4IT.Logging.cLogManager;
|
||||
using System.Threading;
|
||||
|
||||
namespace C4IT_DataHistoryProvider_Test
|
||||
{
|
||||
public partial class ctrlCitrix: UserControl
|
||||
@@ -39,12 +35,22 @@ namespace C4IT_DataHistoryProvider_Test
|
||||
Program.Collector.CleanupUiMessageHandler();
|
||||
Program.Collector.ProcessUiMessage += ctrlProtocolBox1.ProcessMessage;
|
||||
var _requestInfo = new cF4sdWebRequestInfo("btnConnectCitrix_Click", null);
|
||||
var tenants = Program.Collector.InfrastructureConfig.CitrixTenants?.Values;
|
||||
var systems = Program.Collector.InfrastructureConfig.Citrix.Systems;
|
||||
|
||||
ctrlProtocolBox1.ProcessMessage($"Validating Citrix connections...");
|
||||
|
||||
foreach (var Tenant in tenants)
|
||||
await Program.Collector.CitrixCollector.ValidateConnectionsAsync(CancellationToken.None);
|
||||
|
||||
ctrlProtocolBox1.ProcessMessage($"Validating Citrix connections finished.");
|
||||
|
||||
return;
|
||||
|
||||
foreach (var _system in systems)
|
||||
{
|
||||
var result = await Program.Collector.CitrixCollector.GetCitrixCommunicationForTenantAsync(Tenant.TenantID, false);
|
||||
if (!(_system is cDataHistoryCitrixCloudTenant Tenant))
|
||||
continue;
|
||||
|
||||
var result = await Program.Collector.CitrixCollector.GetCitrixCommunicationForSystemAsync(Tenant.TenantID, false);
|
||||
if (result != null)
|
||||
{
|
||||
ctrlProtocolBox1.ProcessMessage($"Citrix connection for tenant {Tenant.TenantID} successful");
|
||||
@@ -84,13 +90,17 @@ namespace C4IT_DataHistoryProvider_Test
|
||||
Program.Collector.CleanupUiMessageHandler();
|
||||
Program.Collector.ProcessUiMessage += ctrlProtocolBox1.ProcessMessage;
|
||||
var _requestInfo = new cF4sdWebRequestInfo("btnConnectCitrix_Click", null);
|
||||
var tenants = Program.Collector.InfrastructureConfig.CitrixTenants?.Values;
|
||||
|
||||
var systems = Program.Collector.InfrastructureConfig.Citrix.Systems;
|
||||
|
||||
|
||||
foreach (var Tenant in tenants)
|
||||
foreach (var _system in systems)
|
||||
{
|
||||
if (!(_system is cDataHistoryCitrixCloudTenant Tenant))
|
||||
continue;
|
||||
|
||||
var result = await Program.Collector.CitrixCollector.GetCitrixUsersAsync();
|
||||
if (result != null)
|
||||
if (result)
|
||||
{
|
||||
ctrlProtocolBox1.ProcessMessage($"Citrix connection for tenant {Tenant.TenantID} successful");
|
||||
}
|
||||
@@ -129,13 +139,16 @@ namespace C4IT_DataHistoryProvider_Test
|
||||
Program.Collector.CleanupUiMessageHandler();
|
||||
Program.Collector.ProcessUiMessage += ctrlProtocolBox1.ProcessMessage;
|
||||
var _requestInfo = new cF4sdWebRequestInfo("btnGetSessions_Click", null);
|
||||
var tenants = Program.Collector.InfrastructureConfig.CitrixTenants?.Values;
|
||||
var systems = Program.Collector.InfrastructureConfig.Citrix.Systems;
|
||||
|
||||
|
||||
foreach (var Tenant in tenants)
|
||||
foreach (var _system in systems)
|
||||
{
|
||||
if (!(_system is cDataHistoryCitrixCloudTenant Tenant))
|
||||
continue;
|
||||
|
||||
var result = await Program.Collector.CitrixCollector.GetCitrixSessionsAsync();
|
||||
if (result != null)
|
||||
if (result)
|
||||
{
|
||||
ctrlProtocolBox1.ProcessMessage($"Citrix connection for tenant {Tenant.TenantID} successful");
|
||||
}
|
||||
@@ -170,8 +183,6 @@ namespace C4IT_DataHistoryProvider_Test
|
||||
{
|
||||
Cursor = Cursors.WaitCursor;
|
||||
|
||||
|
||||
|
||||
if (Program.Collector == null)
|
||||
return;
|
||||
|
||||
@@ -179,23 +190,16 @@ namespace C4IT_DataHistoryProvider_Test
|
||||
Program.Collector.CleanupUiMessageHandler();
|
||||
Program.Collector.ProcessUiMessage += ctrlProtocolBox1.ProcessMessage;
|
||||
var _requestInfo = new cF4sdWebRequestInfo("btnScanUsers_Click", null);
|
||||
var tenants = Program.Collector.InfrastructureConfig.CitrixTenants?.Values;
|
||||
|
||||
ctrlProtocolBox1.ProcessMessage($"Starting Citrix user scans...");
|
||||
|
||||
foreach (var Tenant in tenants)
|
||||
{
|
||||
var result = await Program.Collector.CitrixCollector.DoScanAsync(true, true, _requestInfo, 1, CancellationToken.None);
|
||||
if (result)
|
||||
{
|
||||
ctrlProtocolBox1.ProcessMessage($"Citrix connection for tenant {Tenant.TenantID} successful");
|
||||
}
|
||||
else
|
||||
{
|
||||
ctrlProtocolBox1.ProcessMessage($"Citrix connection for tenant {Tenant.TenantID} failed");
|
||||
|
||||
}
|
||||
}
|
||||
Program.Collector.CitrixCollector.DoScanSequential = true;
|
||||
var result = await Program.Collector.CitrixCollector.DoScanAsync(true, true, _requestInfo, 0, CancellationToken.None);
|
||||
|
||||
if (result)
|
||||
ctrlProtocolBox1.ProcessMessage($"All Citrix user scans finished successfully.");
|
||||
else
|
||||
ctrlProtocolBox1.ProcessMessage($"At least one Citrix user scan finished with errors.");
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user