Files
LicenceManager/UpdateVersionPage/UpdateVersionPageVM.vb
T
Renzo Lanza 08237de2d8 LicenceManager 2.1c6:
- In UpdateLicencePage viene mostrato il nome del Prodotto della Licenza che si sta aggiornando 
- Ogni pulsante "Close" fa ritornare alla pagina precedente (Correzione simile per i vari pulsanti Update e New, mentre Delete rimane nella stessa pagina)
- Correzione pulsanti del Main Menu (non hanno più la scritta "Cerca...")
- I DataGrid non tagliano più l'ultima riga visibile ma si aggiustano in base al numero intero di righe visibili (implementato per tutte le pagine Search tranne che per Product per via di errori che non riesco a risolvere
2019-03-25 08:58:31 +00:00

191 lines
5.4 KiB
VB.net

Imports EgtWPFLib5
Public Class UpdateVersionPageVM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Private m_IdToUpdate As Integer
Public Property IdToUpdate As Integer
Get
Return m_IdToUpdate
End Get
Set(value As Integer)
m_IdToUpdate = value
End Set
End Property
Private m_ProductList As List(Of Product)
Public ReadOnly Property ProductList As List(Of Product)
Get
Return m_ProductList
End Get
End Property
Private m_SelProduct As Product
Public Property SelProduct As Product
Get
Return m_SelProduct
End Get
Set(value As Product)
m_SelProduct = value
NotifyPropertyChanged("SelProduct")
End Set
End Property
Private m_VersionNumber As Integer
Public Property VersionNumber As Integer
Get
Return m_VersionNumber
End Get
Set(value As Integer)
m_VersionNumber = value
NotifyPropertyChanged("VersionNumber")
End Set
End Property
' Definizione comandi
Private m_cmdUpdate As Command
Private m_cmdCancel As Command
#Region "Messages"
Public ReadOnly Property UpdateVersionMsg As String
Get
Return "Update version"
End Get
End Property
Public ReadOnly Property ProductNameMsg As String
Get
Return "Product name"
End Get
End Property
Public ReadOnly Property UpdateMsg As String
Get
Return "Update"
End Get
End Property
Public ReadOnly Property CancelMsg As String
Get
Return "Close"
End Get
End Property
#End Region ' Messages
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTOR"
Sub New()
' Imposto riferimento nella mappa
Map.SetRefUpdateVersionPageVM(Me)
End Sub
#End Region ' CONSTRUCTOR
#Region "METHODS"
Friend Sub InitUpdateVersionPage()
Dim Query As String = "SELECT * FROM " & DB_VERSION &
" WHERE " & DB_VERSIONID & " LIKE " & IdToUpdate
VersionNumber = ManageDb.ExecuteVersionQuery(Query)(0).VersionNumber
NotifyPropertyChanged("VersionNumber")
' Carico lista Product
Dim pQuery As String = "SELECT * FROM " & DB_PRODUCT
m_ProductList = ManageDb.ExecuteProductQuery(pQuery)
NotifyPropertyChanged("ProductList")
Dim pvQuery As String = "SELECT * FROM " & DB_PRODUCT &
" JOIN " & DB_VERSION &
" ON " & DB_PRODUCT & "." & DB_PRODUCTID &
"=" & DB_VERSION & "." & DB_PRODUCTID &
" WHERE " & DB_VERSIONID & " LIKE " & IdToUpdate
SelProduct = m_ProductList.FirstOrDefault(Function(prodl) prodl.ProductID.Equals(ManageDb.ExecuteVersionQuery(pvQuery)(0).ProductID))
NotifyPropertyChanged("SelProduct")
End Sub
#End Region ' METHODS
#Region "COMMANDS"
#Region "Update"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property UpdateVersion_Command As ICommand
Get
If m_cmdUpdate Is Nothing Then
m_cmdUpdate = New Command(AddressOf Update)
End If
Return m_cmdUpdate
End Get
End Property
Public Sub Update(ByVal param As Object)
If Not IsNothing(SelProduct) OrElse
Not IsNothing(VersionNumber) Then
' Aggiorno tabella Version
Dim Query As String = "UPDATE " & DB_VERSION
Dim bFirstWhere As Boolean = True
If Not IsNothing(SelProduct) OrElse
Not IsNothing(VersionNumber) Then
Query &= " SET "
If Not IsNothing(SelProduct) Then
EvalWhere(bFirstWhere, Query)
Query &= DB_PRODUCTID & " = '" & SelProduct.ProductID & "' "
End If
If Not IsNothing(VersionNumber) Then
EvalWhere(bFirstWhere, Query)
Query &= DB_VERSIONNUMBER & " = '" & VersionNumber & "' "
End If
Query &= "WHERE " & DB_VERSIONID & " = " & IdToUpdate
Query = Query.TrimEnd(","c, " "c)
End If
ManageDb.ExecuteQuery(Query)
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.SEARCHVERSION
Else
MessageBox.Show("Compleatare il campo presente")
End If
End Sub
Private Sub EvalWhere(ByRef bFirst As Boolean, ByRef Query As String)
If bFirst Then
bFirst = False
Else
Query &= ", "
End If
End Sub
#End Region ' Update
#Region "Cancel"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property Cancel_Command As ICommand
Get
If m_cmdCancel Is Nothing Then
m_cmdCancel = New Command(AddressOf Cancel)
End If
Return m_cmdCancel
End Get
End Property
Public Sub Cancel(ByVal param As Object)
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.SEARCHVERSION
End Sub
#End Region ' Cancel
#End Region 'COMMANDS
End Class