592b801507
- aggiunta DataGrid licenze Essetre in scadenza nell'arco di 5 giorni al MainMenu (nascosta se nessuna è in scadenza) e bottone per aggiornarle - corretto filtro ricerca Licenze per essere eseguito premendo Invio
317 lines
11 KiB
VB.net
317 lines
11 KiB
VB.net
Imports EgtWPFLib5
|
|
Imports LicenseManager
|
|
|
|
Public Class MainWindowVM
|
|
Inherits VMBase
|
|
|
|
#Region "FIELDS & PROPERTIES"
|
|
|
|
Friend Enum ProjectModeOpt As Integer
|
|
MAINMENU = 0
|
|
NEWCLIENT = 1
|
|
NEWKEY = 2
|
|
NEWLICENCE = 3
|
|
NEWPRODUCT = 4
|
|
NEWVERSION = 5
|
|
NEWRESELLER = 6
|
|
SEARCHCLIENT = 7
|
|
SEARCHKEY = 8
|
|
SEARCHLICENCE = 9
|
|
SEARCHPRODUCT = 10
|
|
SEARCHVERSION = 11
|
|
SEARCHRESELLER = 12
|
|
UPDATECLIENT = 13
|
|
UPDATEKEY = 14
|
|
UPDATELICENCE = 15
|
|
UPDATEPRODUCT = 16
|
|
UPDATEVERSION = 17
|
|
UPDATERESELLER = 18
|
|
|
|
End Enum
|
|
|
|
Public Shared Narrowing Operator CType(v As Window) As MainWindowVM
|
|
Throw New NotImplementedException()
|
|
End Operator
|
|
|
|
Private m_MainWindowM As MainWindowM
|
|
Friend ReadOnly Property MainWindowM As MainWindowM
|
|
Get
|
|
Return m_MainWindowM
|
|
End Get
|
|
End Property
|
|
|
|
' Variabile che indica che il programma è stato avviato correttamente (sia la mappa che l'ambiente Egt)
|
|
Private m_bInitStatus As Boolean
|
|
Friend ReadOnly Property InitStatus As Boolean
|
|
Get
|
|
Return m_bInitStatus
|
|
End Get
|
|
End Property
|
|
|
|
' Titolo
|
|
Private m_Title As String
|
|
Public Property Title As String
|
|
Get
|
|
Return m_Title
|
|
End Get
|
|
Set(value As String)
|
|
m_Title = value
|
|
NotifyPropertyChanged("Title")
|
|
End Set
|
|
End Property
|
|
|
|
Private m_SelProjectMode As ProjectModeOpt
|
|
Friend Property SelProjectMode As ProjectModeOpt
|
|
Get
|
|
Return m_SelProjectMode
|
|
End Get
|
|
Set(value As ProjectModeOpt)
|
|
' Esco dallo stato corrente
|
|
Select Case m_SelProjectMode
|
|
Case ProjectModeOpt.MAINMENU
|
|
|
|
Case ProjectModeOpt.NEWCLIENT
|
|
|
|
Case ProjectModeOpt.NEWKEY
|
|
|
|
Case ProjectModeOpt.NEWLICENCE
|
|
|
|
Case ProjectModeOpt.NEWPRODUCT
|
|
|
|
Case ProjectModeOpt.NEWVERSION
|
|
|
|
Case ProjectModeOpt.NEWRESELLER
|
|
|
|
Case ProjectModeOpt.SEARCHCLIENT
|
|
|
|
Case ProjectModeOpt.SEARCHKEY
|
|
|
|
Case ProjectModeOpt.SEARCHLICENCE
|
|
|
|
Case ProjectModeOpt.SEARCHPRODUCT
|
|
|
|
Case ProjectModeOpt.SEARCHVERSION
|
|
|
|
Case ProjectModeOpt.SEARCHRESELLER
|
|
|
|
Case ProjectModeOpt.UPDATECLIENT
|
|
|
|
Case ProjectModeOpt.UPDATEKEY
|
|
|
|
Case ProjectModeOpt.UPDATELICENCE
|
|
|
|
Case ProjectModeOpt.UPDATEPRODUCT
|
|
|
|
Case ProjectModeOpt.UPDATEVERSION
|
|
|
|
Case ProjectModeOpt.UPDATERESELLER
|
|
|
|
End Select
|
|
' Entro nel nuovo stato
|
|
m_SelProjectMode = value
|
|
Select Case m_SelProjectMode
|
|
Case ProjectModeOpt.MAINMENU
|
|
Map.refMainMenuVM.InitMainMenuPage()
|
|
Case ProjectModeOpt.NEWCLIENT
|
|
Try
|
|
Map.refNewClientPageVM.InitNewClientPage()
|
|
Catch ex As Exception
|
|
MsgBox("Eccezione generata" & vbCrLf & ex.Message)
|
|
End Try
|
|
Case ProjectModeOpt.NEWKEY
|
|
Map.refNewKeyPageVM.InitNewKeyPage()
|
|
Case ProjectModeOpt.NEWLICENCE
|
|
Map.refNewLicencePageVM.InitNewLicencePage()
|
|
Case ProjectModeOpt.NEWPRODUCT
|
|
Map.refNewProductPageVM.InitNewProductPage()
|
|
Case ProjectModeOpt.NEWVERSION
|
|
Map.refNewVersionPageVM.InitVersionPage()
|
|
Case ProjectModeOpt.NEWRESELLER
|
|
Map.refNewResellerPageVM.InitNewResellerPage()
|
|
Case ProjectModeOpt.SEARCHCLIENT
|
|
Map.refSearchClientPageVM.InitSearchClientPage()
|
|
Case ProjectModeOpt.SEARCHKEY
|
|
Map.refSearchKeyPageVM.InitSearchKeyPage()
|
|
Case ProjectModeOpt.SEARCHLICENCE
|
|
Map.refSearchLicencePageVM.InitSearchLicencePage()
|
|
Case ProjectModeOpt.SEARCHPRODUCT
|
|
Map.refSearchProductPageVM.InitSearchProductPage()
|
|
Case ProjectModeOpt.SEARCHVERSION
|
|
Map.refSearchVersionPageVM.InitSearchVersionPage()
|
|
Case ProjectModeOpt.SEARCHRESELLER
|
|
Map.refSearchResellerPageVM.InitSearchResellerPage()
|
|
Case ProjectModeOpt.UPDATECLIENT
|
|
Map.refUpdateClientPageVM.InitUpdateClientPage()
|
|
Case ProjectModeOpt.UPDATEKEY
|
|
Map.refUpdateKeyPageVM.InitUpdateKeyPage()
|
|
Case ProjectModeOpt.UPDATELICENCE
|
|
Map.refUpdateLicencePageVM.InitUpdateLicencePage()
|
|
Case ProjectModeOpt.UPDATEPRODUCT
|
|
Map.refUpdateProductPageVM.InitUpdateProductPage()
|
|
Case ProjectModeOpt.UPDATEVERSION
|
|
Map.refUpdateVersionPageVM.InitUpdateVersionPage()
|
|
Case ProjectModeOpt.UPDATERESELLER
|
|
Map.refUpdateResellerPageVM.InitUpdateResellerPage()
|
|
End Select
|
|
NotifyPropertyChanged("ProjectContent")
|
|
End Set
|
|
End Property
|
|
|
|
Private m_MainMenuV As MainMenuV
|
|
Private m_NewClientPageV As NewClientPageV
|
|
Private m_NewKeyPageV As NewKeyPageV
|
|
Private m_NewLicencePageV As NewLicencePageV
|
|
Private m_NewProductPageV As NewProductPageV
|
|
Private m_NewVersionPageV As NewVersionPageV
|
|
Private m_NewResellerPageV As NewResellerPageV
|
|
Private m_SearchClientPageV As SearchClientPageV
|
|
Private m_SearchKeyPageV As SearchKeyPageV
|
|
Private m_SearchLicencePageV As SearchLicencePageV
|
|
Private m_SearchProductPageV As SearchProductPageV
|
|
Private m_SearchVersionPageV As SearchVersionPageV
|
|
Private m_SearchResellerPageV As SearchResellerPageV
|
|
Private m_UpdateClientPageV As UpdateClientPageV
|
|
Private m_UpdateKeyPageV As UpdateKeyPageV
|
|
Private m_UpdateLicencePageV As UpdateLicencePageV
|
|
Private m_UpdateProductPageV As UpdateProductPageV
|
|
Private m_UpdateVersionPageV As UpdateVersionPageV
|
|
Private m_UpdateResellerPageV As UpdateResellerPageV
|
|
|
|
Public ReadOnly Property ProjectContent As FrameworkElement
|
|
Get
|
|
Select Case m_SelProjectMode
|
|
Case ProjectModeOpt.MAINMENU
|
|
Return m_MainMenuV
|
|
Case ProjectModeOpt.NEWCLIENT
|
|
Return m_NewClientPageV
|
|
Case ProjectModeOpt.NEWKEY
|
|
Return m_NewKeyPageV
|
|
Case ProjectModeOpt.NEWLICENCE
|
|
Return m_NewLicencePageV
|
|
Case ProjectModeOpt.NEWPRODUCT
|
|
Return m_NewProductPageV
|
|
Case ProjectModeOpt.NEWVERSION
|
|
Return m_NewVersionPageV
|
|
Case ProjectModeOpt.NEWRESELLER
|
|
Return m_NewResellerPageV
|
|
Case ProjectModeOpt.SEARCHCLIENT
|
|
Return m_SearchClientPageV
|
|
Case ProjectModeOpt.SEARCHKEY
|
|
Return m_SearchKeyPageV
|
|
Case ProjectModeOpt.SEARCHLICENCE
|
|
Return m_SearchLicencePageV
|
|
Case ProjectModeOpt.SEARCHPRODUCT
|
|
Return m_SearchProductPageV
|
|
Case ProjectModeOpt.SEARCHVERSION
|
|
Return m_SearchVersionPageV
|
|
Case ProjectModeOpt.SEARCHRESELLER
|
|
Return m_SearchResellerPageV
|
|
Case ProjectModeOpt.UPDATECLIENT
|
|
Return m_UpdateClientPageV
|
|
Case ProjectModeOpt.UPDATEKEY
|
|
Return m_UpdateKeyPageV
|
|
Case ProjectModeOpt.UPDATELICENCE
|
|
Return m_UpdateLicencePageV
|
|
Case ProjectModeOpt.UPDATEPRODUCT
|
|
Return m_UpdateProductPageV
|
|
Case ProjectModeOpt.UPDATEVERSION
|
|
Return m_UpdateVersionPageV
|
|
Case ProjectModeOpt.UPDATERESELLER
|
|
Return m_UpdateResellerPageV
|
|
Case Else
|
|
Return m_MainMenuV
|
|
End Select
|
|
End Get
|
|
End Property
|
|
|
|
' definizione comandi
|
|
Private m_cmdAboutBox As ICommand
|
|
|
|
#End Region ' FIELDS & PROPERTIES
|
|
|
|
#Region "CONSTRUCTOR"
|
|
|
|
Sub New()
|
|
' Avvio l'inizializzazione della mappa passandogli il riferimento al MainWindowVM
|
|
Map.BeginInit(Me)
|
|
' Costruisco model della MainWindow
|
|
m_MainWindowM = New MainWindowM
|
|
' Creo tutti gli oggetti
|
|
m_MainMenuV = New MainMenuV
|
|
m_NewClientPageV = New NewClientPageV
|
|
m_NewKeyPageV = New NewKeyPageV
|
|
m_NewLicencePageV = New NewLicencePageV
|
|
m_NewProductPageV = New NewProductPageV
|
|
m_NewVersionPageV = New NewVersionPageV
|
|
m_NewResellerPageV = New NewResellerPageV
|
|
m_SearchClientPageV = New SearchClientPageV
|
|
m_SearchKeyPageV = New SearchKeyPageV
|
|
m_SearchLicencePageV = New SearchLicencePageV
|
|
m_SearchProductPageV = New SearchProductPageV
|
|
m_SearchVersionPageV = New SearchVersionPageV
|
|
m_SearchResellerPageV = New SearchResellerPageV
|
|
m_UpdateClientPageV = New UpdateClientPageV
|
|
m_UpdateKeyPageV = New UpdateKeyPageV
|
|
m_UpdateLicencePageV = New UpdateLicencePageV
|
|
m_UpdateProductPageV = New UpdateProductPageV
|
|
m_UpdateVersionPageV = New UpdateVersionPageV
|
|
m_UpdateResellerPageV = New UpdateResellerPageV
|
|
' Setto il titolo dell'applicazione
|
|
SetTitle(My.Application.Info.Title.ToString() & " ver. " &
|
|
My.Application.Info.Version.Major.ToString() &
|
|
"." & My.Application.Info.Version.Minor.ToString() &
|
|
(ChrW(97 - 1 + My.Application.Info.Version.Build)).ToString() &
|
|
My.Application.Info.Version.Revision.ToString())
|
|
' Imposto pagina MainMenu all'avvio
|
|
SelProjectMode = MainWindowVM.ProjectModeOpt.MAINMENU
|
|
End Sub
|
|
|
|
#End Region ' CONSTRUCTOR
|
|
|
|
#Region "METHODS"
|
|
|
|
Friend Sub SetTitle(sTitle As String)
|
|
m_Title = sTitle
|
|
NotifyPropertyChanged("Title")
|
|
End Sub
|
|
|
|
Friend Sub ContentRendered()
|
|
' Verifico che l'inizializzazione di tutte le parti del programma sia andata a buon fine
|
|
If Map.EndInit() Then
|
|
m_bInitStatus = True
|
|
' altrimenti chiudo il programma
|
|
Else
|
|
m_bInitStatus = False
|
|
End If
|
|
'ManageDb.CreateTable()
|
|
End Sub
|
|
|
|
#End Region ' METHODS
|
|
|
|
#Region "COMMANDS"
|
|
|
|
#Region "AboutBoxCommand"
|
|
|
|
' Returns a command that manage the MainWindow_Unloaded command
|
|
Public ReadOnly Property AboutBoxCommand() As ICommand
|
|
Get
|
|
If m_cmdAboutBox Is Nothing Then
|
|
m_cmdAboutBox = New Command(AddressOf AboutBox)
|
|
End If
|
|
Return m_cmdAboutBox
|
|
End Get
|
|
End Property
|
|
|
|
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
|
|
Public Sub AboutBox(ByVal param As Object)
|
|
Dim AboutBoxWindow As New AboutBoxV
|
|
AboutBoxWindow.Owner = Application.Current.MainWindow
|
|
AboutBoxWindow.ShowDialog()
|
|
End Sub
|
|
|
|
#End Region ' AboutBoxCommand
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class
|