From 75705eb976c31a0f74833efcbdb724a3822250aa Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Fri, 27 Dec 2024 13:01:30 +0100 Subject: [PATCH] Improved data source port handling --- .../Assistants/ERI/AssistantERI.razor | 2 +- .../Assistants/ERI/AssistantERI.razor.cs | 19 ++++++++++++++++++- .../Settings/DataModel/DataERI.cs | 5 +++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor b/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor index 0a75e399..9153146b 100644 --- a/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor +++ b/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor @@ -90,7 +90,7 @@
- + @if (this.dataSourcePort < 1024) { diff --git a/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor.cs b/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor.cs index f50459ef..ff7594b3 100644 --- a/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor.cs +++ b/app/MindWork AI Studio/Assistants/ERI/AssistantERI.razor.cs @@ -58,6 +58,7 @@ public partial class AssistantERI : AssistantBaseCore this.otherDataSource = string.Empty; this.dataSourceHostname = string.Empty; this.dataSourcePort = null; + this.userTypedPort = false; this.selectedAuthenticationMethods = []; this.authDescription = string.Empty; this.selectedOperatingSystem = OperatingSystem.NONE; @@ -83,6 +84,7 @@ public partial class AssistantERI : AssistantBaseCore this.otherDataSource = this.SettingsManager.ConfigurationData.ERI.PreselectedOtherDataSource; this.dataSourceHostname = this.SettingsManager.ConfigurationData.ERI.PreselectedDataSourceHostname; this.dataSourcePort = this.SettingsManager.ConfigurationData.ERI.PreselectedDataSourcePort; + this.userTypedPort = this.SettingsManager.ConfigurationData.ERI.UserTypedPort; var authMethods = new HashSet(this.SettingsManager.ConfigurationData.ERI.PreselectedAuthMethods); this.selectedAuthenticationMethods = authMethods; @@ -119,6 +121,7 @@ public partial class AssistantERI : AssistantBaseCore this.SettingsManager.ConfigurationData.ERI.PreselectedOtherDataSource = this.otherDataSource; this.SettingsManager.ConfigurationData.ERI.PreselectedDataSourceHostname = this.dataSourceHostname; this.SettingsManager.ConfigurationData.ERI.PreselectedDataSourcePort = this.dataSourcePort; + this.SettingsManager.ConfigurationData.ERI.UserTypedPort = this.userTypedPort; this.SettingsManager.ConfigurationData.ERI.PreselectedAuthMethods = [..this.selectedAuthenticationMethods]; this.SettingsManager.ConfigurationData.ERI.PreselectedAuthDescription = this.authDescription; this.SettingsManager.ConfigurationData.ERI.PreselectedOperatingSystem = this.selectedOperatingSystem; @@ -140,6 +143,7 @@ public partial class AssistantERI : AssistantBaseCore private string dataSourceProductName = string.Empty; private string dataSourceHostname = string.Empty; private int? dataSourcePort; + private bool userTypedPort; private IEnumerable selectedAuthenticationMethods = new HashSet(); private string authDescription = string.Empty; private OperatingSystem selectedOperatingSystem = OperatingSystem.NONE; @@ -268,10 +272,23 @@ public partial class AssistantERI : AssistantBaseCore return null; } + + private void DataSourcePortWasTyped() + { + this.userTypedPort = true; + } private void DataSourceWasChanged() { - if(this.SettingsManager.ConfigurationData.ERI.PreselectedDataSourcePort is not null) + if (this.selectedDataSource is DataSources.NONE) + { + this.SettingsManager.ConfigurationData.ERI.PreselectedDataSourcePort = null; + this.dataSourcePort = null; + this.userTypedPort = false; + return; + } + + if(this.userTypedPort) return; // diff --git a/app/MindWork AI Studio/Settings/DataModel/DataERI.cs b/app/MindWork AI Studio/Settings/DataModel/DataERI.cs index bbdc779a..9a2c5a9d 100644 --- a/app/MindWork AI Studio/Settings/DataModel/DataERI.cs +++ b/app/MindWork AI Studio/Settings/DataModel/DataERI.cs @@ -67,6 +67,11 @@ public sealed class DataERI /// public int? PreselectedDataSourcePort { get; set; } + /// + /// Did the user type the port number? + /// + public bool UserTypedPort { get; set; } = false; + /// /// Preselect any authentication methods? ///