Files
LicenceManager/MainMenu/MainMenuVM.vb
T
Renzo Lanza 592b801507 LicenseManager 2.3c1:
- 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
2021-03-09 16:23:14 +00:00

520 lines
17 KiB
VB.net

Imports System.Collections.ObjectModel
Imports EgtWPFLib5
Public Class MainMenuVM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Private Const ESSETRE_ID As Integer = 30
Private Const DaysBeforeExpiration As Integer = 5
Public UpdateFromExpLic As Boolean = False
Private m_ExpiringLic_Visibility As Visibility
Public Property ExpiringLic_Visibility As Visibility
Get
Return m_ExpiringLic_Visibility
End Get
Set(value As Visibility)
m_ExpiringLic_Visibility = value
NotifyPropertyChanged("ExpiringLic_Visibility")
End Set
End Property
Private m_SelSearchResult As Licence
Public Property SelSearchResult As Licence
Get
Return m_SelSearchResult
End Get
Set(value As Licence)
m_SelSearchResult = value
End Set
End Property
Private m_SearchResult As ObservableCollection(Of SearchLicence)
Public ReadOnly Property SearchResult As ObservableCollection(Of SearchLicence)
Get
Return m_SearchResult
End Get
End Property
' Definizione comandi
Private m_cmdNewClient As Command
Private m_cmdNewKey As Command
Private m_cmdNewLicence As Command
Private m_cmdNewProduct As Command
Private m_cmdNewVersion As Command
Private m_cmdNewReseller As Command
Private m_cmdSearchClient As Command
Private m_cmdSearchKey As Command
Private m_cmdSearchLicence As Command
Private m_cmdSearchProduct As Command
Private m_cmdSearchVersion As Command
Private m_cmdSearchReseller As Command
Private m_cmdUpdateClient As Command
Private m_cmdUpdateKey As Command
Private m_cmdUpdateLicence As Command
Private m_cmdUpdateProduct As Command
Private m_cmdUpdateVersion As Command
Private m_cmdUpdateReseller As Command
'Private m_cmdAboutBox As Command
Private m_cmdUpdateOverwrite As Command
Private m_cmdUpdateNew As Command
#Region "Messages"
Public ReadOnly Property UpdateOverwriteMsg As String
Get
Return "Update (Overwrite)"
End Get
End Property
#End Region ' Messages
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTOR"
Sub New()
' Imposto riferimento nella mappa
Map.SetRefMainMenuVM(Me)
'LoadExpiringLicences()
End Sub
#End Region ' CONSTRUCTOR
#Region "COMMANDS"
#Region "NewClient"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property NewClient_Command As ICommand
Get
If m_cmdNewClient Is Nothing Then
m_cmdNewClient = New Command(AddressOf NewClient)
End If
Return m_cmdNewClient
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub NewClient(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.NEWCLIENT
End Sub
#End Region ' NewClient
#Region "NewKey"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property NewKey_Command As ICommand
Get
If m_cmdNewKey Is Nothing Then
m_cmdNewKey = New Command(AddressOf NewKey)
End If
Return m_cmdNewKey
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub NewKey(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.NEWKEY
End Sub
#End Region ' NewKey
#Region "NewLicence"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property NewLicence_Command As ICommand
Get
If m_cmdNewLicence Is Nothing Then
m_cmdNewLicence = New Command(AddressOf NewLicence)
End If
Return m_cmdNewLicence
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub NewLicence(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.NEWLICENCE
End Sub
#End Region ' NewLicence
#Region "NewProduct"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property NewProduct_Command As ICommand
Get
If m_cmdNewProduct Is Nothing Then
m_cmdNewProduct = New Command(AddressOf NewProduct)
End If
Return m_cmdNewProduct
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub NewProduct(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.NEWPRODUCT
End Sub
#End Region ' NewProduct
#Region "NewVersion"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property NewVersion_Command As ICommand
Get
If m_cmdNewVersion Is Nothing Then
m_cmdNewVersion = New Command(AddressOf NewVersion)
End If
Return m_cmdNewVersion
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub NewVersion(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.NEWVERSION
End Sub
#End Region ' NewVersion
#Region "NewReseller"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property NewReseller_Command As ICommand
Get
If m_cmdNewReseller Is Nothing Then
m_cmdNewReseller = New Command(AddressOf NewReseller)
End If
Return m_cmdNewReseller
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub NewReseller(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.NEWRESELLER
End Sub
#End Region ' NewReseller
#Region "SearchClient"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property SearchClient_Command As ICommand
Get
If m_cmdSearchClient Is Nothing Then
m_cmdSearchClient = New Command(AddressOf SearchClient)
End If
Return m_cmdSearchClient
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub SearchClient(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.SEARCHCLIENT
End Sub
#End Region ' SearchCLient
#Region "SearchKey"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property SearchKey_Command As ICommand
Get
If m_cmdSearchKey Is Nothing Then
m_cmdSearchKey = New Command(AddressOf SearchKey)
End If
Return m_cmdSearchKey
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub SearchKey(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.SEARCHKEY
End Sub
#End Region ' SearchKey
#Region "SearchLicence"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property SearchLicence_Command As ICommand
Get
If m_cmdSearchLicence Is Nothing Then
m_cmdSearchLicence = New Command(AddressOf SearchLicence)
End If
Return m_cmdSearchLicence
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub SearchLicence(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.SEARCHLICENCE
End Sub
#End Region ' SearchLicence
#Region "SearchProduct"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property SearchProduct_Command As ICommand
Get
If m_cmdSearchProduct Is Nothing Then
m_cmdSearchProduct = New Command(AddressOf SearchProduct)
End If
Return m_cmdSearchProduct
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub SearchProduct(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.SEARCHPRODUCT
End Sub
#End Region ' SearchProduct
#Region "SearchVersion"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property SearchVersion_Command As ICommand
Get
If m_cmdSearchVersion Is Nothing Then
m_cmdSearchVersion = New Command(AddressOf SearchVersion)
End If
Return m_cmdSearchVersion
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub SearchVersion(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.SEARCHVERSION
End Sub
#End Region ' SearchVersion
#Region "SearchReseller"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property SearchReseller_Command As ICommand
Get
If m_cmdSearchReseller Is Nothing Then
m_cmdSearchReseller = New Command(AddressOf SearchReseller)
End If
Return m_cmdSearchReseller
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub SearchReseller(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.SEARCHRESELLER
End Sub
#End Region ' SearchReseller
#Region "UpdateClient"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property UpdateClient_Command As ICommand
Get
If m_cmdUpdateClient Is Nothing Then
m_cmdUpdateClient = New Command(AddressOf UpdateClient)
End If
Return m_cmdUpdateClient
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub UpdateClient(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.UPDATECLIENT
End Sub
#End Region ' UpdateClient
#Region "UpdateKey"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property UpdateKey_Command As ICommand
Get
If m_cmdUpdateKey Is Nothing Then
m_cmdUpdateKey = New Command(AddressOf UpdateKey)
End If
Return m_cmdUpdateKey
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub UpdateKey(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.UPDATEKEY
End Sub
#End Region ' UpdateKey
#Region "UpdateLicence"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property UpdateLicence_Command As ICommand
Get
If m_cmdUpdateLicence Is Nothing Then
m_cmdUpdateLicence = New Command(AddressOf UpdateLicence)
End If
Return m_cmdUpdateLicence
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub UpdateLicence(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.UPDATELICENCE
End Sub
#End Region ' UpdateKey
#Region "UpdateProduct"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property UpdateProduct_Command As ICommand
Get
If m_cmdUpdateProduct Is Nothing Then
m_cmdUpdateProduct = New Command(AddressOf UpdateProduct)
End If
Return m_cmdUpdateProduct
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub UpdateProduct(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.UPDATEPRODUCT
End Sub
#End Region ' UpdateProduct
#Region "UpdateVersion"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property UpdateVersion_Command As ICommand
Get
If m_cmdUpdateVersion Is Nothing Then
m_cmdUpdateVersion = New Command(AddressOf UpdateVersion)
End If
Return m_cmdUpdateVersion
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub UpdateVersion(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.UPDATEVERSION
End Sub
#End Region ' UpdateVersion
#Region "UpdateReseller"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property UpdateReseller_Command As ICommand
Get
If m_cmdUpdateReseller Is Nothing Then
m_cmdUpdateReseller = New Command(AddressOf UpdateReseller)
End If
Return m_cmdUpdateReseller
End Get
End Property
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Public Sub UpdateReseller(ByVal param As Object)
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.UPDATERESELLER
End Sub
#End Region ' SearchReseller
'#Region "AboutBox"
' ' Returns a command that manage the MainWindow_Unloaded command
' Public ReadOnly Property AboutBox_Command 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)
' Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.SEARCHRESELLER
' End Sub
'#End Region ' AboutBox
#End Region ' COMMANDS
#Region "METHODS"
Friend Sub InitMainMenuPage()
LoadExpiringLicences()
End Sub
#Region "LoadExpiringLicenses"
Private Sub LoadExpiringLicences()
' Carico lista ProductName
Dim ProductList As List(Of Product)
Dim prodQuery As String
prodQuery = "SELECT * FROM " & DB_PRODUCT
ProductList = ManageDb.ExecuteProductQuery(prodQuery)
Dim Query As String = "SELECT * FROM " & DB_LICENCE & " INNER JOIN " & DB_PRODUCT &
" ON " & DB_LICENCE & "." & DB_PRODUCTID & " = " & DB_PRODUCT & "." & DB_PRODUCTID &
" INNER JOIN " & DB_KEY &
" ON " & DB_KEY & "." & DB_LOCKID & " = " & DB_LICENCE & "." & DB_LOCKID &
" INNER JOIN " & DB_CLIENT &
" ON " & DB_KEY & "." & DB_CLIENTID & " = " & DB_CLIENT & "." & DB_CLIENTID &
" WHERE " & DB_CLIENT & "." & DB_CLIENTID & " = " & ESSETRE_ID &
" AND DATEDIFF(" & DB_LICENCE & "." & DB_DATE & ", '" & Format(DateTime.Now.AddYears(-1), "yyyy-MM-dd") & "') > 0 " &
" AND DATEDIFF(" & DB_LICENCE & "." & DB_DATE & ", '" & Format(DateTime.Now.AddYears(-1), "yyyy-MM-dd") & "') < " & DaysBeforeExpiration
m_SearchResult = New ObservableCollection(Of SearchLicence)(ManageDb.ExecuteExpiringLicenceQuery(Query, ProductList))
NotifyPropertyChanged("SearchResult")
If m_SearchResult.Count > 0 Then
ExpiringLic_Visibility = Visibility.Visible
Else
ExpiringLic_Visibility = Visibility.Collapsed
End If
End Sub
#End Region ' LoadExpiringLicenses
#Region "UpdateOverwrite"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property UpdateOverwrite_Command As ICommand
Get
If m_cmdUpdateOverwrite Is Nothing Then
m_cmdUpdateOverwrite = New Command(AddressOf UpdateOverwrite)
End If
Return m_cmdUpdateOverwrite
End Get
End Property
Public Sub UpdateOverwrite(ByVal param As Object)
If Not IsNothing(m_SelSearchResult) Then
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Map.refUpdateLicencePageVM.Licence = m_SelSearchResult
UpdateFromExpLic = True
Map.refUpdateLicencePageVM.Overwrite = True
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.UPDATELICENCE
Else
MessageBox.Show("Non è stata selezionata nessuna licenza")
End If
End Sub
#End Region ' UpdateOverwrite
#End Region ' METHODS
End Class