-migliorata gesione funzione comunicazione server

This commit is contained in:
Demetrio Cassarino
2024-08-09 16:54:18 +02:00
parent 487efdd029
commit c244f3e87b
3 changed files with 44 additions and 31 deletions
+18 -1
View File
@@ -1,7 +1,11 @@
Imports EgtWPFLib5
Imports EgwProxy.LiMan
Public Module Configuration
' Test per comunicazione
Public m_commLib As DataSyncro
''' <summary>
''' Flag per impostare la visualizzazione con la singola pagina
''' </summary>
@@ -61,7 +65,6 @@ Public Module Configuration
End Get
End Property
''' <summary>
''' Funzione che recupera la directory del file INI
''' </summary>
@@ -105,4 +108,18 @@ Public Module Configuration
Return Default_Value
End Function
''' <summary>
''' Metodo che controlla la comunicazione server
''' </summary>
''' <returns></returns>
Public Function GetComunication() As Boolean
' eseguo test per comunicazione server (ping, alive)
m_commLib = New DataSyncro(EgtBEAMWALL.Core.Configuration.sServerAddressRelease)
If m_commLib.CheckRemote() Then
Return True
Else
Return False
End If
End Function
End Module
@@ -289,11 +289,6 @@ Public Class ConfigurationPageVM
NotifyPropertyChanged(NameOf(MachineParameter_Visibility))
End Sub
' Propietà per visualizzare le versioni del programma
' Test per comunicazione
Private m_commLib As DataSyncro
' Lista delle versioni del programma
Private m_ProgramVersionList As New List(Of DTO.ReleaseDTO)
Public ReadOnly Property ProgramVersionList As List(Of DTO.ReleaseDTO)
@@ -1091,16 +1086,14 @@ Public Class ConfigurationPageVM
''' Funzione che restituisce tutte le versioni del programma
''' </summary>
Public Async Sub GetAllRelease()
' eseguo test per comunicazione server (ping, alive)
m_commLib = New DataSyncro(EgtBEAMWALL.Core.Configuration.sServerAddressRelease)
If m_commLib.CheckRemote() Then
Else
OnlyProdEgtMessageBoxV.Show(Application.Current.MainWindow, "Test Ping: KO")
Dim bOk As Boolean = EgtBEAMWALL.Core.Configuration.GetComunication()
' Controllo se la comunicazione è avvenuta con successo
If bOk Then
' Setto la datagrid visibile
SetProgramVersionListVisibility(Visibility.Visible)
' Recupero la lista di tutte le versioni del programma
SetProgramVersionList(Await EgtBEAMWALL.Core.Configuration.m_commLib.ReleaseGetAllAsync(K_BEAMWALL))
End If
' Setto la datagrid visibile
SetProgramVersionListVisibility(Visibility.Visible)
' Recupero la lista di tutte le versioni del programma
SetProgramVersionList(Await m_commLib.ReleaseGetAllAsync(K_BEAMWALL))
End Sub
#End Region ' ReleaseCommand
@@ -1123,16 +1116,14 @@ Public Class ConfigurationPageVM
''' Funzione che restituisce le versioni del programma filtrate
''' </summary>
Public Async Sub GetVersionFrom()
' eseguo test per comunicazione server (ping, alive)
m_commLib = New DataSyncro(EgtBEAMWALL.Core.Configuration.sServerAddressRelease)
If m_commLib.CheckRemote() Then
Else
OnlyProdEgtMessageBoxV.Show(Application.Current.MainWindow, "Test Ping: KO")
Dim bOk As Boolean = EgtBEAMWALL.Core.Configuration.GetComunication()
' Controllo se la comunicazione è avvenuta con successo
If bOk Then
' Setto la datagrid visibile
SetProgramVersionListVisibility(Visibility.Visible)
' Recupero la lista delle versioni del programma filtrate per quella attuale
SetProgramVersionList(Await EgtBEAMWALL.Core.Configuration.m_commLib.ReleaseGetFiltLimitAsync(K_BEAMWALL, EgtBEAMWALL.Core.Configuration.ActualVersion, "2.5.15.0"))
End If
' Setto la datagrid visibile
SetProgramVersionListVisibility(Visibility.Visible)
' Recupero la lista delle versioni del programma filtrate per quella attuale
SetProgramVersionList(Await m_commLib.ReleaseGetFiltLimitAsync(K_BEAMWALL, EgtBEAMWALL.Core.Configuration.ActualVersion, "2.5.15.0"))
End Sub
#End Region ' ReleaseCommand
@@ -1404,6 +1395,7 @@ Public Class ConfigurationPageVM
Next
End Sub
#End Region ' Methods
End Class
@@ -245,16 +245,20 @@ Public Class MainMenuVM
#Region "METHODS"
''' <summary>
''' Funzione che restituisce il numero di versioni del programma che sono da aggiornare
''' </summary>
''' <returns></returns>
Friend Function GetNumVersion() As Integer
' eseguo test per comunicazione server (ping, alive)
Dim m_commLib As New DataSyncro(EgtBEAMWALL.Core.Configuration.sServerAddressRelease)
If m_commLib.CheckRemote() Then
Dim bOk As Boolean = EgtBEAMWALL.Core.Configuration.GetComunication()
' Controllo se la comunicazione è avvenuta con successo
If bOk Then
' Recupero la lista delle versioni del programma filtrate per quella attuale
Dim ReleaseList As List(Of DTO.ReleaseDTO) = EgtBEAMWALL.Core.Configuration.m_commLib.ReleaseGetFiltLimit(K_BEAMWALL, EgtBEAMWALL.Core.Configuration.ActualVersion, "2.5.15.0")
Return ReleaseList.Where(Function(r) r.IsPermitted).Count
Else
OnlyProdEgtMessageBoxV.Show(Application.Current.MainWindow, "Test Ping: KO")
Return 0
End If
' Recupero la lista delle versioni del programma filtrate per quella attuale
Dim ReleaseList As List(Of DTO.ReleaseDTO) = m_commLib.ReleaseGetFiltLimit(K_BEAMWALL, EgtBEAMWALL.Core.Configuration.ActualVersion, "2.5.15.0")
Return ReleaseList.Where(Function(r) r.IsPermitted).Count
End Function
Friend Sub SetMainMenuIsEnabled(bIsEnabled As Boolean)