216 lines
7.0 KiB
VB.net
216 lines
7.0 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
|
|
Dim m_NameDict As Dictionary(Of String, String) = ManageDb.ExecuteStringDictionaryQuery(Query)
|
|
Dim Name As String = m_NameDict(DB_NAME)
|
|
NotifyPropertyChanged("Name")
|
|
|
|
' Carico campo Email
|
|
Dim eQuery As String = "SELECT " & DB_EMAIL & " FROM " & DB_CLIENT &
|
|
" WHERE " & DB_CLIENTID & " LIKE " & IdToUpdate
|
|
Dim m_EmailDict As Dictionary(Of String, String) = ManageDb.ExecuteStringDictionaryQuery(eQuery)
|
|
Dim Email As String = m_EmailDict(DB_EMAIL)
|
|
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)
|
|
Dim selRes As String = ManageDb.ExecuteResellerQuery(selQuery)(0).ResellerName
|
|
m_SelReseller = m_ResellerList.FirstOrDefault(Function(resel) resel.ResellerName.Equals(selRes))
|
|
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 & " = '" & Trim(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
|