-creato in configurazione nuovo tab per visualizzare le versioni presenti del programma

This commit is contained in:
Demetrio Cassarino
2024-08-09 15:00:18 +02:00
parent c53c9f090b
commit a9e961a0ee
17 changed files with 573 additions and 5 deletions
+3
View File
@@ -116,4 +116,7 @@ Public Module ConstIni
Public Const S_SPECIAL As String = "Special"
Public Const K_SPECIALENABLE As String = "SpecialEnable"
' Server Address
Public Const K_SERVERADDRESS As String = "ServerAddressRelease"
Public Const K_BEAMWALL As String = "EgtBeamWall"
End Module
+41
View File
@@ -53,11 +53,50 @@
<Reference Include="EgtWPFLib5">
<HintPath>..\ExtLibs\EgtWPFLib5.dll</HintPath>
</Reference>
<Reference Include="EgwProxy.LiMan, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EgwProxy.LiMan.1.0.2408.718\lib\EgwProxy.LiMan.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="RestSharp, Version=111.2.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL">
<HintPath>..\packages\RestSharp.111.2.0\lib\net471\RestSharp.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http" />
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
</Reference>
<Reference Include="System.Text.Json, Version=8.0.0.3, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.8.0.3\lib\net462\System.Text.Json.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xaml" />
<Reference Include="System.Xml" />
@@ -238,6 +277,7 @@
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
@@ -247,6 +287,7 @@
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Page Include="BeamMachiningsWindow\BeamMachiningsWindowV.xaml">
+21
View File
@@ -41,6 +41,27 @@ Public Module Configuration
m_bMachConfig = value
End Sub
''' <summary>
''' Flag per impostare la visualizzazione con la singola pagina
''' </summary>
Private m_sServerAddressRelease As String
Public ReadOnly Property sServerAddressRelease As String
Get
Return m_sServerAddressRelease
End Get
End Property
Public Sub SetServerAddressRelease(value As String)
m_sServerAddressRelease = value
End Sub
' Versione attuale del programma
Public ReadOnly Property ActualVersion As String
Get
Return My.Application.Info.Version.ToString()
End Get
End Property
''' <summary>
''' Funzione che recupera la directory del file INI
''' </summary>
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EgwProxy.LiMan" version="1.0.2408.718" targetFramework="net472" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net472" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net472" />
<package id="RestSharp" version="111.2.0" targetFramework="net472" />
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
<package id="System.Memory" version="4.5.5" targetFramework="net472" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net472" />
<package id="System.Text.Encodings.Web" version="8.0.0" targetFramework="net472" />
<package id="System.Text.Json" version="8.0.3" targetFramework="net472" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
</packages>
@@ -160,6 +160,9 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\ExtLibs\EgtWPFLib5.dll</HintPath>
</Reference>
<Reference Include="EgwProxy.LiMan, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EgwProxy.LiMan.1.0.2408.718\lib\EgwProxy.LiMan.dll</HintPath>
</Reference>
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
</Reference>
@@ -192,6 +195,9 @@
<Reference Include="K4os.Hash.xxHash, Version=1.0.8.0, Culture=neutral, PublicKeyToken=32cd54395057cec3, processorArchitecture=MSIL">
<HintPath>..\packages\K4os.Hash.xxHash.1.0.8\lib\net462\K4os.Hash.xxHash.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.DotNet.PlatformAbstractions, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.DotNet.PlatformAbstractions.2.1.0\lib\net45\Microsoft.DotNet.PlatformAbstractions.dll</HintPath>
@@ -215,6 +221,9 @@
<Reference Include="Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken=1cee9f8bde3db106, processorArchitecture=MSIL">
<HintPath>..\packages\SSH.NET.2016.1.0\lib\net40\Renci.SshNet.dll</HintPath>
</Reference>
<Reference Include="RestSharp, Version=111.2.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL">
<HintPath>..\packages\RestSharp.111.2.0\lib\net471\RestSharp.dll</HintPath>
</Reference>
<Reference Include="SdkApi.Core, Version=2.15.2634.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Zebra.Printer.SDK.2.15.2634\lib\net471\SdkApi.Core.dll</HintPath>
</Reference>
@@ -250,6 +259,7 @@
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.NameResolution, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.NameResolution.4.3.0\lib\net46\System.Net.NameResolution.dll</HintPath>
<Private>True</Private>
@@ -274,10 +284,19 @@
</Reference>
<Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Security" />
<Reference Include="System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
</Reference>
<Reference Include="System.Text.Json, Version=8.0.0.3, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.8.0.3\lib\net462\System.Text.Json.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
+6
View File
@@ -3,6 +3,7 @@
<package id="BouncyCastle" version="1.8.5" targetFramework="net472" />
<package id="Csv" version="1.0.31" targetFramework="net472" />
<package id="DotNetZip" version="1.16.0" targetFramework="net472" />
<package id="EgwProxy.LiMan" version="1.0.2408.718" targetFramework="net472" />
<package id="EntityFramework" version="6.4.4" targetFramework="net452" />
<package id="FluentFTP" version="19.2.2" targetFramework="net472" />
<package id="Google.Protobuf" version="3.21.9" targetFramework="net472" />
@@ -10,6 +11,7 @@
<package id="K4os.Compression.LZ4.Streams" version="1.3.5" targetFramework="net472" />
<package id="K4os.Hash.xxHash" version="1.0.8" targetFramework="net472" />
<package id="Lextm.SharpSnmpLib" version="10.0.9" targetFramework="net472" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net472" />
<package id="Microsoft.DotNet.PlatformAbstractions" version="2.1.0" targetFramework="net472" />
<package id="Microsoft.Extensions.DependencyModel" version="2.1.0" targetFramework="net472" />
<package id="MySql.Data" version="8.0.21" targetFramework="net472" />
@@ -17,6 +19,7 @@
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net472" />
<package id="NLog" version="5.0.1" targetFramework="net472" />
<package id="Portable.BouncyCastle" version="1.9.0" targetFramework="net472" />
<package id="RestSharp" version="111.2.0" targetFramework="net472" />
<package id="SSH.NET" version="2016.1.0" targetFramework="net472" />
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
<package id="System.Collections.Specialized" version="4.3.0" targetFramework="net472" />
@@ -27,7 +30,10 @@
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net472" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.0.0" targetFramework="net472" />
<package id="System.Text.Encodings.Web" version="8.0.0" targetFramework="net472" />
<package id="System.Text.Json" version="8.0.3" targetFramework="net472" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
<package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="net472" />
<package id="Zebra.Printer.SDK" version="2.15.2634" targetFramework="net472" />
</packages>
@@ -5,6 +5,9 @@ Imports EgtWPFLib5
Imports EgtBEAMWALL.Core
Imports MS.Internal
Imports Ionic.Zip
Imports EgwProxy.LiMan
Imports Google.Protobuf.WellKnownTypes
Imports System.Globalization
Public Class ConfigurationPageVM
Inherits VMBase
@@ -286,11 +289,86 @@ 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)
Get
Return m_ProgramVersionList
End Get
End Property
Friend Sub SetProgramVersionList(value As List(Of DTO.ReleaseDTO))
m_ProgramVersionList = value
NotifyPropertyChanged(NameOf(ProgramVersionList))
End Sub
' Item selezionato dalla lista delle versioni del programma
Private m_ProgramVersionListItem As DTO.ReleaseDTO
Public Property ProgramVersionListItem As DTO.ReleaseDTO
Get
Return m_ProgramVersionListItem
End Get
Set(value As DTO.ReleaseDTO)
m_ProgramVersionListItem = value
If Not IsNothing(m_ProgramVersionListItem) Then SetLinkVersionView(m_ProgramVersionListItem.UrlChangelog)
NotifyPropertyChanged(NameOf(ProgramVersionListItem))
End Set
End Property
' Link della versione del programma
Private m_LinkVersionView As String
Public ReadOnly Property LinkVersionView As String
Get
Return m_LinkVersionView
End Get
End Property
Friend Sub SetLinkVersionView(value As String)
m_LinkVersionView = value
NotifyPropertyChanged(NameOf(LinkVersionView))
End Sub
' Gestisce se attivare il pulsante che permette di collegarsi al link della versione
Private m_LinkVersionIsEnable As Boolean
Public ReadOnly Property LinkVersionIsEnable As Boolean
Get
Return m_LinkVersionIsEnable
End Get
End Property
Friend Sub SetLinkVersionIsEnable(value As Boolean)
m_LinkVersionIsEnable = value
NotifyPropertyChanged(NameOf(LinkVersionIsEnable))
End Sub
' Gestisce la visibilita' della datagrid che mostra le versioni del programma
Private m_ProgramVersionListVisibility As Visibility
Public ReadOnly Property ProgramVersionListVisibility As Visibility
Get
Return m_ProgramVersionListVisibility
End Get
End Property
Friend Sub SetProgramVersionListVisibility(value As Visibility)
m_ProgramVersionListVisibility = value
NotifyPropertyChanged(NameOf(ProgramVersionListVisibility))
End Sub
Public ReadOnly Property ActualVersion As String
Get
Return EgtBEAMWALL.Core.Configuration.ActualVersion
End Get
End Property
' Definizione comandi
Private m_cmdSave As ICommand
Private m_cmdChooseExternalBackupFolderPath As ICommand
Private m_cmdBackup As ICommand
Private m_cmdRestore As ICommand
Private m_cmdGetAllRelease As ICommand
Private m_cmdLinkVersion As ICommand
Private m_cmdGetVersionFrom As ICommand
#Region "Messages"
@@ -462,6 +540,56 @@ Public Class ConfigurationPageVM
End Get
End Property
' Messaggi Versione
Public ReadOnly Property CtrlVersion_Msg As String
Get
Return EgtMsg(61739).ToUpper()
End Get
End Property
Public ReadOnly Property ActVersion_Msg As String
Get
Return EgtMsg(61740)
End Get
End Property
Public ReadOnly Property AllVersion_Msg As String
Get
Return EgtMsg(61741)
End Get
End Property
Public ReadOnly Property VersionFrom_Msg As String
Get
Return EgtMsg(61742)
End Get
End Property
Public ReadOnly Property NumVersion_Msg As String
Get
Return EgtMsg(61743)
End Get
End Property
Public ReadOnly Property Version_Msg As String
Get
Return EgtMsg(61744)
End Get
End Property
Public ReadOnly Property DateVersion_Msg As String
Get
Return EgtMsg(61745)
End Get
End Property
Public ReadOnly Property StateVersion_Msg As String
Get
Return EgtMsg(61746)
End Get
End Property
#End Region ' Messages
#Region "Constructor"
@@ -523,6 +651,10 @@ Public Class ConfigurationPageVM
m_bExternalBackupActive = nExternalBackupActive > 0
SetMachineParameter_Visibility(Visibility.Collapsed)
SetMachine_Visibility(Visibility.Collapsed)
' Setto pulsante link versioni a false
SetLinkVersionIsEnable(False)
' Setto la datagrid non visibile
SetProgramVersionListVisibility(Visibility.Hidden)
NotifyPropertyChanged(NameOf(bExternalBackupActive))
End Sub
@@ -941,6 +1073,70 @@ Public Class ConfigurationPageVM
#End Region ' Restore
#Region "GetAllReleaseCommand"
''' <summary>
''' Comando che restituisce tutte le versioni del programma
''' </summary>
Public ReadOnly Property GetAllReleaseCommand As ICommand
Get
If m_cmdGetAllRelease Is Nothing Then
m_cmdGetAllRelease = New Command(AddressOf GetAllRelease)
End If
Return m_cmdGetAllRelease
End Get
End Property
''' <summary>
''' 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")
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
#Region "GetVersionFromCommand"
''' <summary>
''' Comando che restituisce le versioni del programma filtrate
''' </summary>
Public ReadOnly Property GetVersionFromCommand As ICommand
Get
If m_cmdGetVersionFrom Is Nothing Then
m_cmdGetVersionFrom = New Command(AddressOf GetVersionFrom)
End If
Return m_cmdGetVersionFrom
End Get
End Property
''' <summary>
''' 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")
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
#End Region ' COMMANDS
#Region "Methods"
@@ -1407,3 +1603,25 @@ Public Enum MachParamType As Integer
LENGTH = 4
CHECKBOX = 5
End Enum
' Converte il parametro isPermitted
Public Class IsPermittedConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As System.Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert
Dim isPermitted As DTO.ReleaseDTO = TryCast(value, DTO.ReleaseDTO)
Select Case isPermitted.IsPermitted
Case 0
Return "Versione Acquistata"
Case 1
Return "Versione da Acquistare"
Case Else
Return Nothing
End Select
Return Nothing
End Function
Public Function ConvertBack(value As Object, targetType As System.Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
Throw New NotImplementedException()
End Function
End Class
@@ -0,0 +1,145 @@
<Grid x:Class="OnlyProdCheckVersionV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:EgtBEAMWALL.ViewerOptimizer"
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.ViewerOptimizer"
xmlns:WebView="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf">
<Grid.Resources>
<EgtBEAMWALL:IsPermittedConverter x:Key="IsPermittedConverter"/>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid Margin="10"
VerticalAlignment="Top"
HorizontalAlignment="Left">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock Text="{Binding ActVersion_Msg}"
VerticalAlignment="Center"
FontSize="15"
FontWeight="Bold"
Margin="10,0,0,0"
Style="{StaticResource OptionTextBlock_OnlyProd}"/>
<TextBlock Text="{Binding ActualVersion}"
VerticalAlignment="Center"
FontSize="15"
FontWeight="Bold"
Margin="10,0,0,0"
Style="{StaticResource OptionTextBlock_OnlyProd}"/>
</StackPanel>
<UniformGrid Grid.Row="1"
Columns="2"
Margin="0,20,0,10">
<Button Content="{Binding AllVersion_Msg}"
Width="180"
Command="{Binding GetAllReleaseCommand}"
Style="{StaticResource OnlyProdEgtWPFLib5_InputButton}"/>
<Button Content="{Binding VersionFrom_Msg}"
Width="150"
Command="{Binding GetVersionFromCommand}"
Style="{StaticResource OnlyProdEgtWPFLib5_InputButton}"/>
</UniformGrid>
<Border Grid.Row="2"
Margin="0,10,10,10"
Visibility="{Binding ProgramVersionListVisibility}"
Style="{StaticResource OnlyProdPage_Border}">
<DataGrid ItemsSource="{Binding ProgramVersionList}"
SelectedItem="{Binding ProgramVersionListItem}"
AutoGenerateColumns="False"
CanUserSortColumns="False"
CanUserResizeColumns="False"
CanUserResizeRows="False"
CanUserReorderColumns="False"
SelectionMode="Single"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
AlternatingRowBackground="{StaticResource BeamWall_LinkWater}"
AlternationCount="2"
CellStyle="{StaticResource CellDataGrid_CustomHighLight}"
RowStyle="{StaticResource RowDataGrid_CustomHighLight}"
Style="{StaticResource DataGrid_OnlyProd}">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Background" Value="{StaticResource BeamWall_Teal}"/>
<Setter Property="Foreground" Value="{StaticResource BeamWall_White}"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontSize" Value="15"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<!--Numero Versione-->
<DataGridTemplateColumn Width="170">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.NumVersion_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding VersNum}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--Versione-->
<DataGridTemplateColumn Width="110">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.Version_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding VersText}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--Data di Rilascio-->
<DataGridTemplateColumn Width="160">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.DateVersion_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding ReleaseDate, StringFormat=dd/MM/yyyy}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--Stato Versione-->
<DataGridTemplateColumn Width="150">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.StateVersion_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource IsPermittedConverter}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Border>
</Grid>
<Border Grid.Column="1"
Margin="0,10,10,10"
Style="{StaticResource OnlyProdPage_Border}">
<WebView:WebView2 Grid.Column="1"
Source="{Binding LinkVersionView}"/>
</Border>
</Grid>
@@ -0,0 +1,3 @@
Public Class OnlyProdCheckVersionV
End Class
@@ -3,7 +3,9 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.ViewerOptimizer"
xmlns:WebView="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"
DataContext="{StaticResource ConfigurationPageVM}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
@@ -74,11 +76,21 @@
</Button>
</StackPanel>
</TabItem.Header>
<TabItem.Content>
<EgtBEAMWALL:OnlyProdPDFEditorV/>
</TabItem.Content>
</TabItem>
<TabItem>
<TabItem.Header>
<StackPanel Orientation="Horizontal" Margin="5">
<TextBlock Text="{Binding CtrlVersion_Msg}"
FontSize="15"/>
</StackPanel>
</TabItem.Header>
<TabItem.Content>
<EgtBEAMWALL:OnlyProdCheckVersionV/>
</TabItem.Content>
</TabItem>
</TabControl>
</Grid>
</DockPanel>
@@ -1,3 +1,2 @@
Public Class OnlyProdConfigurationPageV
End Class
@@ -207,6 +207,9 @@
<DependentUpon>ChangeMaterialWndV.xaml</DependentUpon>
</Compile>
<Compile Include="ChangeMaterialWnd\ChangeMaterialWndVM.vb" />
<Compile Include="ConfigurationPage\OnlyProdCheckVersionV.xaml.vb">
<DependentUpon>OnlyProdCheckVersionV.xaml</DependentUpon>
</Compile>
<Compile Include="ConfigurationPage\OnlyProdConfigurationPageV.xaml.vb">
<DependentUpon>OnlyProdConfigurationPageV.xaml</DependentUpon>
</Compile>
@@ -609,6 +612,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="ConfigurationPage\OnlyProdCheckVersionV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="ConfigurationPage\OnlyProdConfigurationPageV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -1355,6 +1362,9 @@
<PackageReference Include="DotNetZip">
<Version>1.16.0</Version>
</PackageReference>
<PackageReference Include="EgwProxy.LiMan">
<Version>1.0.2408.817</Version>
</PackageReference>
<PackageReference Include="EntityFramework">
<Version>6.4.4</Version>
</PackageReference>
@@ -1364,6 +1374,9 @@
<PackageReference Include="K4os.Compression.LZ4.Streams">
<Version>1.3.5</Version>
</PackageReference>
<PackageReference Include="Microsoft.Web.WebView2">
<Version>1.0.2592.51</Version>
</PackageReference>
<PackageReference Include="Microsoft.Windows.SDK.Contracts">
<Version>10.0.22621.2428</Version>
</PackageReference>
@@ -5,6 +5,7 @@ Imports EgtBEAMWALL.Core.ConstBeam
Imports EgtBEAMWALL.DataLayer.DatabaseModels
Imports EgtUILib
Imports EgtWPFLib5
Imports EgwProxy.LiMan
Public Class MainMenuVM
Inherits VMBase
@@ -152,6 +153,18 @@ Public Class MainMenuVM
End Get
End Property
' Testo che mostra il numero di versioni da aggiornare
Private m_NumVersion As Integer
Public ReadOnly Property NumVersion As Integer
Get
Return m_NumVersion
End Get
End Property
Friend Sub SetNumVersion(value As Integer)
m_NumVersion = value
NotifyPropertyChanged(NameOf(NumVersion))
End Sub
#Region "Messages"
Public ReadOnly Property Viewer_Msg As String
@@ -184,6 +197,12 @@ Public Class MainMenuVM
End Get
End Property
Public ReadOnly Property NVersion_Msg As String
Get
Return EgtMsg(61747)
End Get
End Property
#Region "ToolTip"
'Proprietà ToolTip
@@ -214,6 +233,8 @@ Public Class MainMenuVM
Else
m_Supervisor_Visibility = Visibility.Collapsed
End If
' imposto numero di versioni da aggiornare
SetNumVersion(GetNumVersion())
' imposto timer di apertura da ottimizzatore
m_OpenPage_Timer.Interval = TimeSpan.FromMilliseconds(500)
AddHandler m_OpenPage_Timer.Tick, AddressOf OpenPage_Tick
@@ -224,6 +245,18 @@ Public Class MainMenuVM
#Region "METHODS"
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
Else
OnlyProdEgtMessageBoxV.Show(Application.Current.MainWindow, "Test Ping: KO")
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)
m_MainMenu_IsEnabled = bIsEnabled
NotifyPropertyChanged(NameOf(MainMenu_IsEnabled))
@@ -16,11 +16,11 @@
Command="{Binding Supervisor_Command}"
Visibility="{Binding Supervisor_Visibility}"
Style="{StaticResource OnlyProdMainMenu_Button}"
Margin="-30,0,0,0"/>
Margin="-42.5,0,0,0"/>
<RadioButton Content="{Binding Configuration_Msg}"
IsChecked="{Binding Config_IsChecked}"
Style="{StaticResource OnlyProdMainMenu_ToggleButton}"
Margin="-60,0,0,0"
Margin="-89.5,0,0,0"
Width="120"/>
<Button Command="{Binding SendFeedbackCommand}"
ToolTip="{Binding SendFeedbackToolTip}"
@@ -28,8 +28,15 @@
IsEnabled="{Binding SendFeedbackIsEnabled}"
HorizontalAlignment="Left"
Width="40"
Margin="-28,0,0,0">
Margin="-46.5,0,0,0">
<Image Source="/Resources/MainMenu/Send.png" Stretch="Uniform"/>
</Button>
<StackPanel Orientation="Horizontal" Margin="-130,0,0,0">
<TextBlock Text="{Binding NVersion_Msg}"
Style="{StaticResource OptionTextBlockVersion_OnlyProd}"/>
<TextBlock Text="{Binding NumVersion}"
Style="{StaticResource OptionTextBlockVersion_OnlyProd}"
Margin="5,0,0,0"/>
</StackPanel>
</UniformGrid>
</StackPanel>
@@ -191,6 +191,14 @@ Public Class MainWindowM
End Get
End Property
' Indirizzo server (DEBUG)
Private m_sServerAddressRelease As String
Friend ReadOnly Property sServerAddressRelease As String
Get
Return m_sServerAddressRelease
End Get
End Property
#End Region ' FIELDS
#Region "CONSTRUCTOR"
@@ -339,6 +347,10 @@ Public Class MainWindowM
m_bMachConfig = GetMainPrivateProfileInt(S_MACH, K_MACHCONFIG, 0) = 1
' e lo imposto nel core
Core.Configuration.SetModifySetup(m_bMachConfig)
' Recupero Server Address
GetMainPrivateProfileString(S_GENERAL, K_SERVERADDRESS, "", m_sServerAddressRelease)
' e lo imposto nel core
Core.Configuration.SetServerAddressRelease(m_sServerAddressRelease)
' Info su opzioni chiave
EgtOutLog("KeyOptions : " & bKey.ToString() & " " & m_nKeyOptions.ToString())
@@ -362,6 +362,16 @@
<Setter Property="TextWrapping" Value="Wrap"/>
</Style>
<Style x:Key="OptionTextBlockVersion_OnlyProd" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Foreground" Value="{StaticResource BeamWall_White}"/>
<Setter Property="FontSize" Value="15"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="TextTrimming" Value="CharacterEllipsis"/>
<Setter Property="TextWrapping" Value="Wrap"/>
</Style>
<Style x:Key="OnlyProdCNT_TextBlock" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>