Files
Dario Sassi 49ba669707 LicenceManager :
- piccole correzioni
- aggiunta colonna scadenza licenza in SearchLicence.
2026-01-07 16:46:59 +01:00

440 lines
12 KiB
VB.net

Imports MySql.Data.MySqlClient
Public Class Client
Private m_Name As String
Public ReadOnly Property Name As String
Get
Return m_Name
End Get
End Property
Private m_Email As String
Public ReadOnly Property Email As String
Get
Return m_Email
End Get
End Property
Private m_ResellerID As Integer
Public ReadOnly Property ResellerID As Integer
Get
Return m_ResellerID
End Get
End Property
Private m_ClientID As Integer
Public ReadOnly Property ClientID As Integer
Get
Return m_ClientID
End Get
End Property
Sub New(Name As String, ResellerID As Integer, ClientID As Integer, Email As String)
m_Name = Name
m_ResellerID = ResellerID
m_ClientID = ClientID
m_Email = Email
End Sub
Sub New(ClientReader As MySqlDataReader)
m_Name = CType(ClientReader(DB_NAME), String)
m_ResellerID = CInt(ClientReader(DB_RESELLERID))
m_ClientID = CInt(ClientReader(DB_CLIENTID))
m_Email = CType(ClientReader(DB_EMAIL), String)
End Sub
End Class
Public Class Key
Private m_Number As Integer
Public ReadOnly Property Number As Integer
Get
Return m_Number
End Get
End Property
Private m_ClientID As Integer
Public ReadOnly Property ClientID As Integer
Get
Return m_ClientID
End Get
End Property
Private m_IsDongle As Integer
Public ReadOnly Property IsDongle As Integer
Get
Return m_IsDongle
End Get
End Property
Private m_LockID As String
Public ReadOnly Property LockID As String
Get
Return m_LockID
End Get
End Property
Public Enum KeyState
Consegnata = 0
InDeposito = 1
InDepositoEgt = 2
Guasta = 3
Interna = 4
InternaEgt = 5
InDepositoTrial = 6
ANY = 7
End Enum
Private m_State As KeyState
Public ReadOnly Property State As KeyState
Get
Return m_State
End Get
End Property
Private m_KeyDate As Date
Public ReadOnly Property KeyDate As Date
Get
Return m_KeyDate
End Get
End Property
Private m_Note As String
Public ReadOnly Property Note As String
Get
Return m_Note
End Get
End Property
Private m_Seriale As String
Public ReadOnly Property Seriale As String
Get
Return m_Seriale
End Get
End Property
Sub New(Number As Integer, ClientID As Integer, IsDongle As Integer, LockID As String, State As KeyState, KeyDate As Date, Note As String, Seriale As String)
m_Number = Number
m_ClientID = ClientID
m_IsDongle = IsDongle
m_LockID = LockID
m_State = State
m_KeyDate = KeyDate
m_Note = Note
m_Seriale = Seriale
End Sub
Sub New(KeyReader As MySqlDataReader)
m_Number = CInt(KeyReader(DB_NUMBER))
If Not KeyReader(DB_CLIENTID).Equals(DBNull.Value) Then
m_ClientID = CInt(KeyReader(DB_CLIENTID))
End If
m_IsDongle = CInt(KeyReader(DB_ISDONGLE))
m_LockID = CType(KeyReader(DB_LOCKID), String)
m_State = DirectCast([Enum].Parse(GetType(KeyState), KeyReader(DB_STATE)), KeyState)
m_KeyDate = CDate(KeyReader(DB_DATE))
If Not KeyReader(DB_NOTE).Equals(DBNull.Value) Then
m_Note = CType(KeyReader(DB_NOTE), String)
End If
If Not KeyReader(DB_SERIALE).Equals(DBNull.Value) Then
m_Seriale = CType(KeyReader(DB_SERIALE), String)
End If
End Sub
End Class
Public Class Licence
Private m_ProductID As Integer
Public ReadOnly Property ProductID As Integer
Get
Return m_ProductID
End Get
End Property
Private m_ProductVersion As String
Public ReadOnly Property ProductVersion As String
Get
Return m_ProductVersion
End Get
End Property
Private m_ProductLevel As Integer
Public ReadOnly Property ProductLevel As Integer
Get
Return m_ProductLevel
End Get
End Property
Private m_ProductDeadline As Date
Public ReadOnly Property ProductDeadline As Date
Get
Return m_ProductDeadline
End Get
End Property
Private m_Option1 As Integer
Public ReadOnly Property Option1 As Integer
Get
Return m_Option1
End Get
End Property
Private m_Option2 As Integer
Public ReadOnly Property Option2 As Integer
Get
Return m_Option2
End Get
End Property
Private m_OptionDeadline As Date
Public ReadOnly Property OptionDeadline As Date
Get
Return m_OptionDeadline
End Get
End Property
Private m_LockID As String
Public ReadOnly Property Number As String
Get
Return m_LockID
End Get
End Property
Private m_File As String
Public ReadOnly Property File As String
Get
Return m_File
End Get
End Property
Private m_LicenceID As String
Public ReadOnly Property LicenceID As String
Get
Return m_LicenceID
End Get
End Property
Private m_LicenseDate As Date
Public ReadOnly Property LicenseDate As Date
Get
Return m_LicenseDate
End Get
End Property
Public ReadOnly Property ExpirationDate As Date
Get
Dim nYear As Integer = 2015
Dim nMonth As Integer = 12
Dim nVer As Integer = CInt(ProductVersion)
If nVer = 16 Then
nYear = 2017
ElseIf nVer = 18 Then
nYear = 2018
ElseIf nVer = 19 Then
nYear = 2019
ElseIf nVer = 21 Then
nYear = 2020
ElseIf nVer = 22 Then
nYear = 2021
ElseIf nVer >= 2201 And nVer <= 2712 Then
nYear = nVer \ 100 + 1999
nMonth = nVer Mod 100
ElseIf nVer >= 3101 And nVer <= 36812 Then
nYear = nVer \ 100 + 1996
nMonth = nVer Mod 100
End If
Return New Date(nYear, nMonth, DateTime.DaysInMonth(nYear, nMonth))
End Get
End Property
Private m_LicFile As String
Public ReadOnly Property LicFile As String
Get
Return m_LicFile
End Get
End Property
Private m_Note As String
Public ReadOnly Property Note As String
Get
Return m_Note
End Get
End Property
Sub New(ProductID As Integer, ProductVersion As String, ProductLevel As Integer, ProductDeadline As Date,
Option1 As Integer, Option2 As Integer, OptionDeadline As Date, LockID As String, File As String,
LicenceID As String, LicenseDate As Date, LicFile As String, Note As String)
m_ProductID = ProductID
m_ProductVersion = ProductVersion
m_ProductLevel = ProductLevel
m_ProductDeadline = ProductDeadline
m_Option1 = Option1
m_Option2 = Option2
m_OptionDeadline = OptionDeadline
m_LockID = LockID
m_File = File
m_LicenceID = LicenceID
m_LicenseDate = LicenseDate
m_LicFile = LicFile
m_Note = Note
End Sub
Sub New(LicenceReader As MySqlDataReader)
m_ProductID = CInt(LicenceReader(DB_PRODUCTID))
m_ProductVersion = CType(LicenceReader(DB_PRODUCTVERSION), String)
m_ProductLevel = CInt(LicenceReader(DB_PRODUCTLEVEL))
m_ProductDeadline = CDate(LicenceReader(DB_PRODUCTDEADLINE))
m_Option1 = CInt(LicenceReader(DB_OPTION1))
m_Option2 = CInt(LicenceReader(DB_OPTION2))
m_OptionDeadline = CDate(LicenceReader(DB_OPTIONDEADLINE))
m_LockID = CType(LicenceReader(DB_LOCKID), String)
m_File = CType(LicenceReader(DB_FILE), String)
m_LicenceID = CType(LicenceReader(DB_LICENCEID), String)
m_LicenseDate = CDate(LicenceReader(DB_DATE))
If Not LicenceReader(DB_LICFILE).Equals(DBNull.Value) Then
m_LicFile = CType(LicenceReader(DB_LICFILE), String)
End If
If Not LicenceReader(DB_NOTE).Equals(DBNull.Value) Then
m_Note = CType(LicenceReader(DB_NOTE), String)
End If
End Sub
End Class
Public Class Product
Private m_ProductName As String
Public ReadOnly Property ProductName As String
Get
Return m_ProductName
End Get
End Property
Private m_ProductID As Integer
Public ReadOnly Property ProductID As Integer
Get
Return m_ProductID
End Get
End Property
Private m_ProductNumber As Integer
Public ReadOnly Property ProductNumber As Integer
Get
Return m_ProductNumber
End Get
End Property
Private m_ProductOption1 As Integer
Public ReadOnly Property ProductOption1 As Integer
Get
Return m_ProductOption1
End Get
End Property
Private m_ProductOption2 As Integer
Public ReadOnly Property ProductOption2 As Integer
Get
Return m_ProductOption2
End Get
End Property
Sub New(ProductName As String, ProductID As Integer, ProductNumber As Integer, ProductOption1 As Integer, ProductOption2 As Integer)
m_ProductName = ProductName
m_ProductID = ProductID
m_ProductNumber = ProductNumber
m_ProductOption1 = ProductOption1
m_ProductOption2 = ProductOption2
End Sub
Sub New(ProductReader As MySqlDataReader)
m_ProductName = CType(ProductReader(DB_PRODUCTNAME), String)
m_ProductID = CInt(ProductReader(DB_PRODUCTID))
m_ProductNumber = CInt(ProductReader(DB_PRODUCTNUMBER))
m_ProductOption1 = CInt(ProductReader(DB_PRODUCTOPTION1))
m_ProductOption2 = CInt(ProductReader(DB_PRODUCTOPTION2))
End Sub
End Class
Public Class Version
Private m_VersionID As Integer
Public ReadOnly Property VersionID As Integer
Get
Return m_VersionID
End Get
End Property
Private m_ProductID As Integer
Public ReadOnly Property ProductID As Integer
Get
Return m_ProductID
End Get
End Property
Private m_VersionNumber As Integer
Public ReadOnly Property VersionNumber As Integer
Get
Return m_VersionNumber
End Get
End Property
Sub New(VersionID As String, ProductID As String, VersionNumber As Integer)
m_VersionID = CInt(VersionID)
m_ProductID = CInt(ProductID)
m_VersionNumber = VersionNumber
End Sub
Sub New(VersionReader As MySqlDataReader)
m_VersionID = CInt(VersionReader(DB_VERSIONID))
m_ProductID = CInt(VersionReader(DB_PRODUCTID))
m_VersionNumber = CInt(VersionReader(DB_VERSIONNUMBER))
End Sub
End Class
Public Class Reseller
Private m_ResellerName As String
Public ReadOnly Property ResellerName As String
Get
Return m_ResellerName
End Get
End Property
Private m_ResellerID As Integer
Public ReadOnly Property ResellerID As Integer
Get
Return m_ResellerID
End Get
End Property
Private m_Note As String
Public ReadOnly Property Note As String
Get
Return m_Note
End Get
End Property
Sub New(ResellerName As String, ResellerID As Integer, Note As String)
m_ResellerName = ResellerName
m_ResellerID = ResellerID
m_Note = Note
End Sub
Sub New(ResellerReader As MySqlDataReader)
m_ResellerName = CType(ResellerReader(DB_RESELLERNAME), String)
m_ResellerID = CInt(ResellerReader(DB_RESELLERID))
If (Not ResellerReader(DB_NOTE).Equals(DBNull.Value)) Then
m_Note = CType(ResellerReader(DB_NOTE), String)
Else
m_Note = Nothing
End If
End Sub
End Class