Files
LicenceManager/UpdateClientPage/UpdateClientPageVM.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

213 lines
6.8 KiB
VB.net

Imports EgtWPFLib5
Public Class UpdateClientPageVM
Inherits ClientPageVM
#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_ResellerList As List(Of Reseller)
Public Overloads ReadOnly Property ResellerList As List(Of Reseller)
Get
Return m_ResellerList
End Get
End Property
Private m_SelReseller As Reseller
Public Overloads Property SelReseller As Reseller
Get
Return m_SelReseller
End Get
Set(value As Reseller)
m_SelReseller = value
NotifyPropertyChanged("SelReseller")
End Set
End Property
' Definizione comandi
Private m_cmdUpdate As Command
Private m_cmdCancel As Command
#Region "Messages"
Public ReadOnly Property UpdateClientMsg As String
Get
Return "Update client"
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.SetRefUpdateClientPageVM(Me)
End Sub
#End Region ' CONSTRUCTOR
#Region "METHODS"
Friend Sub InitUpdateClientPage()
' Carico campo Name
Dim Query As String = "SELECT " & DB_NAME & " FROM " & DB_CLIENT &
" WHERE " & DB_CLIENTID & " LIKE " & IdToUpdate
Name = ManageDb.ExecuteStringQuery(Query, DB_NAME)(0)
NotifyPropertyChanged("Name")
' Carico campo Email
Dim eQuery As String = "SELECT " & DB_EMAIL & " FROM " & DB_CLIENT &
" WHERE " & DB_CLIENTID & " LIKE " & IdToUpdate
Email = ManageDb.ExecuteStringQuery(eQuery, DB_EMAIL)(0)
NotifyPropertyChanged("Email")
' Carico lista Reseller
Dim rQuery As String = "SELECT * FROM " & DB_RESELLER
m_ResellerList = ManageDb.ExecuteResellerQuery(rQuery)
NotifyPropertyChanged("ResellerList")
' Carico elemento della lista Reseller selezionato precdentemente
Dim selQuery As String = "SELECT * FROM " & DB_CLIENT &
" INNER JOIN " & DB_RESELLER & " ON " & DB_CLIENT & "." & DB_RESELLERID & " = " &
DB_RESELLER & "." & DB_RESELLERID &
" WHERE " & DB_CLIENTID & " LIKE " & IdToUpdate
'm_SelReseller = ManageDb.ExecuteResellerQuery(rQuery)(0)
'm_SelReseller = m_ResellerList(2)
m_SelReseller = m_ResellerList.FirstOrDefault(Function(resel) resel.ResellerName.Equals(ManageDb.ExecuteResellerQuery(selQuery)(0).ResellerName))
NotifyPropertyChanged("SelReseller")
End Sub
#End Region ' METHODS
#Region "COMMANDS"
#Region "Update"
' Returns a command that manage the MainWindow_Unloaded command
Public ReadOnly Property UpdateClient_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 String.IsNullOrWhiteSpace(Name) OrElse
Not String.IsNullOrWhiteSpace(Email) OrElse
Not IsNothing(SelReseller) Then
' Cerco nella tabella Client
Dim Query As String = "UPDATE " & DB_CLIENT
Dim bFirstWhere As Boolean = True
If Not String.IsNullOrWhiteSpace(Name) OrElse
Not String.IsNullOrWhiteSpace(Email) OrElse
Not IsNothing(SelReseller) Then
Query &= " SET "
If Not String.IsNullOrWhiteSpace(Name) Then
EvalWhere(bFirstWhere, Query)
Query &= DB_NAME & " = '" & Name & "' "
End If
If Not String.IsNullOrWhiteSpace(Email) Then
EvalWhere(bFirstWhere, Query)
Query &= DB_EMAIL & " = '" & Email & "' "
End If
If Not IsNothing(SelReseller) Then
EvalWhere(bFirstWhere, Query)
Dim reQuery As String = "SELECT * FROM " & DB_RESELLER & " WHERE "
reQuery &= DB_RESELLERNAME & " = '" & SelReseller.ResellerName & "' "
reQuery = reQuery.TrimEnd(","c, " "c)
Dim reseller As Reseller = ManageDb.ExecuteResellerQuery(reQuery).Item(0)
Dim reId As Integer = reseller.ResellerID
Query &= DB_RESELLERID & " = '" & reId & "' "
'Query &= DB_RESELLERNAME & " = '" & SelReseller.ResellerName & "%' "
End If
Query &= "WHERE " & DB_CLIENTID & " = " & 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.SEARCHCLIENT
Else
MessageBox.Show("Completare almeno un campo")
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.SEARCHCLIENT
End Sub
#End Region ' Cancel
'#Region "GetResellerID"
' ' Returns a command that manage the MainWindow_Unloaded command
' Public Sub GetResellerID(ByVal param As Object)
' Dim Query As String = "SELECT " & DB_RESELLERID & "FROM" & DB_RESELLER & "WHERE "
' Query &= DB_RESELLERNAME & " = '" & SelReseller.ResellerName & "%' "
' Query = Query.TrimEnd(","c, " "c)
' ' ManageDb.ExecuteQuery(Query)
' Dim cmd As MySqlCommand = New MySqlCommand(stm, conn)
' Dim value As Object = cmd.ExecuteScalar()
' If value! = null Then
' String nama_student = nama_studentObj.ToString()
' End If
' End Sub
'#End Region ' GetResellerID
#End Region 'COMMANDS
End Class