c43ef9c011
- modifiche per AboutBox - tolte costanti inutili - semplificato Ini file - modificata generazione licenza.
453 lines
19 KiB
VB.net
453 lines
19 KiB
VB.net
Imports MySql.Data.MySqlClient
|
|
|
|
|
|
Module ManageDb
|
|
|
|
#Region "FIELDS & PROPERTIES"
|
|
|
|
Private m_DbPath As String ' String.Empty
|
|
|
|
Public Property DbPath As String
|
|
Get
|
|
Return m_DbPath
|
|
End Get
|
|
Set(value As String)
|
|
m_DbPath = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_DbConnection As MySqlConnection = New MySqlConnection(m_DbPath)
|
|
Public Property DbConnection As MySqlConnection
|
|
Get
|
|
Return m_DbConnection
|
|
End Get
|
|
Set(value As MySqlConnection)
|
|
m_DbConnection = value
|
|
End Set
|
|
End Property
|
|
|
|
#End Region ' FIELDS & PROPERTIES
|
|
|
|
#Region "METHODS"
|
|
|
|
Friend Function ConnectToDb() As Boolean
|
|
Dim DbPath As String = Map.refMainWindowVM.MainWindowM.sDbConnect
|
|
m_DbPath = DbPath
|
|
m_DbConnection = New MySqlConnection(DbPath)
|
|
Return Not IsNothing(m_DbConnection)
|
|
End Function
|
|
|
|
Friend Function ConnectToDb(DbPath As String) As Boolean
|
|
m_DbPath = DbPath
|
|
m_DbConnection = New MySqlConnection(DbPath)
|
|
Return Not IsNothing(m_DbConnection)
|
|
End Function
|
|
|
|
Friend Sub CreateTable()
|
|
|
|
Dim MySqlCommand As String
|
|
|
|
MySqlCommand = "CREATE TABLE " & DB_RESELLER & " (" & DB_RESELLERID & " INTEGER PRIMARY KEY, " &
|
|
DB_RESELLERNAME & " TEXT)"
|
|
ExecuteQuery(MySqlCommand)
|
|
|
|
MySqlCommand = "CREATE TABLE " & DB_CLIENT & " (" & DB_NAME & " TEXT, " &
|
|
DB_RESELLERID & " INTEGER," &
|
|
DB_CLIENTID & " INTEGER PRIMARY KEY, " &
|
|
"FOREIGN KEY (" & DB_RESELLERID & ") REFERENCES " & DB_RESELLER & " (" & DB_RESELLERID & "))"
|
|
ExecuteQuery(MySqlCommand)
|
|
|
|
MySqlCommand = "CREATE TABLE " & DB_KEY & " (" & DB_NUMBER & " INTEGER, " &
|
|
DB_CLIENTID & " INTEGER, " &
|
|
DB_ISDONGLE & " INTEGER, " &
|
|
DB_LOCKID & " VARCHAR(45) PRIMARY KEY, " & ' " TEXT PRIMARY KEY, " &
|
|
"FOREIGN KEY (" & DB_CLIENTID & ") REFERENCES " & DB_CLIENT & " (" & DB_CLIENTID & "))"
|
|
ExecuteQuery(MySqlCommand)
|
|
|
|
MySqlCommand = "CREATE TABLE " & DB_LICENCE & " (" & DB_LICENCEID & " INTEGER PRIMARY KEY, " &
|
|
DB_PRODUCTID & " INTEGER, " &
|
|
DB_PRODUCTVERSION & " INTEGER, " & ' " TEXT, " &
|
|
DB_PRODUCTLEVEL & " INTEGER, " &
|
|
DB_PRODUCTDEADLINE & " DATE, " & ' " INTEGER, " &
|
|
DB_OPTION1 & " INTEGER, " &
|
|
DB_OPTION2 & " INTEGER, " &
|
|
DB_OPTIONDEADLINE & " DATE, " & ' " INTEGER, " &
|
|
DB_LOCKID & " VARCHAR(45), " & ' " TEXT, " &
|
|
DB_FILE & " VARCHAR(45), " & ' " TEXT, " &
|
|
"FOREIGN KEY (" & DB_LOCKID & ") REFERENCES " & DB_KEY & " (" & DB_LOCKID & "), " &
|
|
"FOREIGN KEY (" & DB_PRODUCTID & ") REFERENCES " & DB_PRODUCT & " (" & DB_PRODUCTID & "))"
|
|
ExecuteQuery(MySqlCommand)
|
|
|
|
MySqlCommand = "CREATE TABLE " & DB_PRODUCT & " (" & DB_PRODUCTID & " INTEGER PRIMARY KEY, " &
|
|
DB_PRODUCTNAME & " TEXT, " &
|
|
DB_PRODUCTNUMBER & " INTEGER, " &
|
|
DB_PRODUCTOPTION1 & " INTEGER, " &
|
|
DB_PRODUCTOPTION2 & " INTEGER)"
|
|
ExecuteQuery(MySqlCommand)
|
|
|
|
MySqlCommand = "CREATE TABLE " & DB_VERSION & " (" & DB_VERSIONID & " INTEGER PRIMARY KEY, " &
|
|
DB_PRODUCTID & " INTEGER, " &
|
|
DB_VERSIONNUMBER & " INTEGER, " &
|
|
"FOREIGN KEY (" & DB_PRODUCTID & ") REFERENCES " & DB_PRODUCT & " (" & DB_PRODUCTID & "))"
|
|
ExecuteQuery(MySqlCommand)
|
|
End Sub
|
|
|
|
Friend Function ExecuteQuery(MySqlQuery As String) As Integer
|
|
Dim ModifiedRowNumber As Integer
|
|
Try
|
|
m_DbConnection.Open()
|
|
Dim Command As MySqlCommand = New MySqlCommand(MySqlQuery, m_DbConnection)
|
|
ModifiedRowNumber = Command.ExecuteNonQuery()
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
Finally
|
|
m_DbConnection.Close()
|
|
End Try
|
|
Return ModifiedRowNumber
|
|
End Function
|
|
|
|
Friend Function ExecuteReaderQuery(SqlQuery As String) As MySqlDataReader
|
|
Dim Command As MySqlCommand = New MySqlCommand(SqlQuery, m_DbConnection)
|
|
Dim Reader As MySqlDataReader = Command.ExecuteReader()
|
|
Return Reader
|
|
End Function
|
|
|
|
'Friend Function ExecuteVersionQuery(SqlQuery As String) As List(Of Version)
|
|
' ManageDb.DbConnection.Open()
|
|
' Dim Command As SQLiteCommand = New SQLiteCommand(SqlQuery, m_DbConnection)
|
|
' Dim Reader As SQLiteDataReader = Command.ExecuteReader()
|
|
' Dim VersionList As New List(Of Version)
|
|
' While Reader.Read()
|
|
' VersionList.Add(New Version(Reader))
|
|
' End While
|
|
' ManageDb.DbConnection.Close()
|
|
' Return VersionList
|
|
'End Function
|
|
|
|
Friend Function ExecuteStringQuery(MySqlQuery As String, ResColumnName As String) As List(Of String)
|
|
Dim StringList As New List(Of String)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
StringList.Add(CType(Reader(ResColumnName), String))
|
|
End While
|
|
If IsNothing(StringList) Then
|
|
StringList.Add(String.Empty)
|
|
End If
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return StringList
|
|
End Function
|
|
|
|
Friend Function ExecuteIntegerQuery(MySqlQuery As String, ResColumnName As String) As List(Of Integer)
|
|
Dim IntegerList As New List(Of Integer)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
IntegerList.Add(CInt(Reader(ResColumnName)))
|
|
End While
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return IntegerList
|
|
End Function
|
|
|
|
Friend Function ExecuteClientQuery(MySqlQuery As String) As List(Of Client)
|
|
Dim ClientList As New List(Of Client)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
ClientList.Add(New Client(Reader))
|
|
End While
|
|
If IsNothing(ClientList) Then
|
|
ClientList.Add(Nothing)
|
|
End If
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return ClientList
|
|
End Function
|
|
|
|
Friend Function ExecuteKeyQuery(MySqlQuery As String) As List(Of Key)
|
|
Dim KeyList As New List(Of Key)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
KeyList.Add(New Key(Reader))
|
|
End While
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return KeyList
|
|
End Function
|
|
|
|
Friend Function ExecuteProductQuery(MySqlQuery As String) As List(Of Product)
|
|
Dim ProductList As New List(Of Product)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
ProductList.Add(New Product(Reader))
|
|
End While
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return ProductList
|
|
End Function
|
|
|
|
Friend Function ExecuteVersionQuery(MySqlQuery As String) As List(Of Version)
|
|
Dim VersionList As New List(Of Version)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
VersionList.Add(New Version(Reader))
|
|
End While
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return VersionList
|
|
End Function
|
|
|
|
Friend Function ExecuteNumberQuery(MySqlQuery As String) As Integer
|
|
Dim Number As Integer
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
Reader.Read()
|
|
Number = If(Reader(DB_MAXNUMBER) Is DBNull.Value, 0, CInt(Reader(DB_MAXNUMBER)))
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return Number
|
|
End Function
|
|
|
|
Friend Function ExecuteResellerQuery(MySqlQuery As String) As List(Of Reseller)
|
|
Dim ResellerList As New List(Of Reseller)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
ResellerList.Add(New Reseller(Reader))
|
|
End While
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return ResellerList
|
|
End Function
|
|
|
|
Friend Function ExecuteSearchClientQuery(MySqlQuery As String) As List(Of SearchClient)
|
|
Dim ClientList As New List(Of SearchClient)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
ClientList.Add(New SearchClient(Reader))
|
|
End While
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return ClientList
|
|
End Function
|
|
|
|
Friend Function ExecuteSearchKeyQuery(MySqlQuery As String) As List(Of SearchKey)
|
|
Dim KeyList As New List(Of SearchKey)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
KeyList.Add(New SearchKey(Reader))
|
|
End While
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return KeyList
|
|
End Function
|
|
|
|
Friend Function ExecuteSearchLicenceQuery(MySqlQuery As String) As List(Of SearchLicence)
|
|
Dim LicenceList As New List(Of SearchLicence)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
LicenceList.Add(New SearchLicence(Reader))
|
|
End While
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return LicenceList
|
|
End Function
|
|
|
|
Friend Function ExecuteSearchProductQuery(MySqlQuery As String) As List(Of Product)
|
|
Dim ProductList As New List(Of Product)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
ProductList.Add(New Product(Reader))
|
|
End While
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return ProductList
|
|
End Function
|
|
|
|
Friend Function ExecuteSearchVersionQuery(MySqlQuery As String) As List(Of SearchVersion)
|
|
Dim VersionList As New List(Of SearchVersion)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
VersionList.Add(New SearchVersion(Reader))
|
|
End While
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return VersionList
|
|
End Function
|
|
|
|
Friend Function ExecuteSearchResellerQuery(MySqlQuery As String) As List(Of SearchReseller)
|
|
Dim ResellerList As New List(Of SearchReseller)
|
|
Try
|
|
Using DbConnection As New MySqlConnection(m_DbPath)
|
|
DbConnection.Open()
|
|
Using Command As MySqlCommand = New MySqlCommand(MySqlQuery, DbConnection)
|
|
Using Reader As MySqlDataReader = Command.ExecuteReader()
|
|
While Reader.Read()
|
|
ResellerList.Add(New SearchReseller(Reader))
|
|
End While
|
|
End Using
|
|
End Using
|
|
DbConnection.Close()
|
|
End Using
|
|
Catch ex As MySqlException
|
|
MessageBox.Show(ex.Message)
|
|
End Try
|
|
Return ResellerList
|
|
End Function
|
|
|
|
|
|
Friend Sub AddRandomRows(nRow As Integer)
|
|
Dim ImagePathList() As String = {"c:\EgtData\OmagPHOTO\Data\Lastra15_18.jpg",
|
|
"c:\EgtData\OmagPHOTO\Data\Lastra18_10.jpg",
|
|
"c:\EgtData\OmagPHOTO\Data\Lastra313.jpg",
|
|
"c:\EgtData\OmagPHOTO\Data\Lastra313_b.jpg",
|
|
"c:\EgtData\OmagPHOTO\Data\Lastra3138bit.jpg",
|
|
"c:\EgtData\OmagPHOTO\Data\Lastra33-18_234.jpg",
|
|
"c:\EgtData\OmagPHOTO\Data\Lastra55_33.jpg",
|
|
"c:\EgtData\OmagPHOTO\Data\Lastra55-23.jpg",
|
|
"c:\EgtData\OmagPHOTO\Data\Prova1.jpg",
|
|
"c:\EgtData\OmagPHOTO\Data\Prova2.jpg",
|
|
"c:\EgtData\OmagPHOTO\Data\Prova3.jpg",
|
|
"c:\EgtData\OmagPHOTO\Data\Prova4.jpg"}
|
|
Dim Text As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
For i = 0 To nRow
|
|
Dim R As New Random()
|
|
Dim Name As String = "Lastra" & i
|
|
Dim ImagePath As String = ImagePathList(R.Next(0, ImagePathList.Length))
|
|
'Dim SlabState As String = Map.refOptionPanelVM.StateList(R.Next(0, Map.refOptionPanelVM.StateList.Count)).Id.ToString
|
|
'Dim Material As String = Map.refOptionPanelVM.MaterialList(R.Next(0, Map.refOptionPanelVM.MaterialList.Count))
|
|
Dim SlabThickness As String = (R.Next(200, 700) / 10).ToString
|
|
Dim WarehousePosition As String = Text(R.Next(Text.Length)) & R.Next(1, 100) & "." & R.Next(1, 100)
|
|
Dim AddedDate As DateTime = DateTime.Now - New TimeSpan(R.Next(0, 730), R.Next(0, 24), R.Next(0, 60), R.Next(0, 60))
|
|
' Aggiungo la nuova lastra al Db
|
|
'Dim Query As String = "INSERT INTO " & Slab.DB_SLABS & " (" & Slab.DB_ID & ", " & Slab.DB_IMAGEPATH & ", " & Slab.DB_STATE & ", " & Slab.DB_PROJASSIGNEDTO & ", " & Slab.DB_MATERIAL & ", " & Slab.DB_THICKNESS & ", " & Slab.DB_WAREHOUSEPOS & ", " & Slab.DB_ADDEDDATE & ")" &
|
|
' " VALUES ('" & Name & "', " &
|
|
' "'" & ImagePath & "', " &
|
|
' SlabState & ", " &
|
|
' "'" & "C:\EgtData\OmagOFFICE\Progetto" & i & "', " &
|
|
' "'" & Material & "', " &
|
|
' SlabThickness & ", " &
|
|
' "'" & WarehousePosition & "', " &
|
|
' "Date('" & (String.Format("{0:yyyy-MM-dd}", AddedDate)) & "'))"
|
|
'ManageDb.ExecuteQuery(Query)
|
|
Next
|
|
End Sub
|
|
|
|
#End Region ' METHODS
|
|
|
|
End Module
|