52 lines
1.5 KiB
VB.net
52 lines
1.5 KiB
VB.net
Imports System.IO
|
|
Imports System.Xml.Serialization
|
|
Imports DigitalData.Modules.Logging
|
|
|
|
Public Class LicenseFile
|
|
Public Const LICENSE_FILENAME = "License.xml"
|
|
|
|
Public ReadOnly Path As String
|
|
Private _Logger As Logger
|
|
|
|
Public Sub New(LogConfig As LogConfig, Path As String)
|
|
Me.Path = Path
|
|
_Logger = LogConfig.GetLogger()
|
|
End Sub
|
|
|
|
Private Function GetSerializer() As XmlSerializer
|
|
Dim oSerializer As New XmlSerializer(GetType(LicenseSchema))
|
|
Return oSerializer
|
|
End Function
|
|
|
|
Public Function LoadFile(Optional FileName As String = LICENSE_FILENAME) As LicenseSchema
|
|
Try
|
|
Dim oSerializer = GetSerializer()
|
|
Dim oFilePath As String = IO.Path.Combine(Path, FileName)
|
|
Dim oLicense As LicenseSchema
|
|
|
|
Using oReader As New StreamReader(oFilePath)
|
|
oLicense = oSerializer.Deserialize(oReader)
|
|
End Using
|
|
|
|
Return oLicense
|
|
Catch ex As Exception
|
|
_Logger.Error(ex)
|
|
Throw ex
|
|
End Try
|
|
End Function
|
|
|
|
Public Sub SaveFile(License As LicenseSchema, Optional FileName As String = LICENSE_FILENAME)
|
|
Try
|
|
Dim oSerializer = GetSerializer()
|
|
|
|
Using oStream = New FileStream(FileName, FileMode.Create, FileAccess.Write)
|
|
oSerializer.Serialize(oStream, License)
|
|
oStream.Flush()
|
|
End Using
|
|
Catch ex As Exception
|
|
_Logger.Error(ex)
|
|
Throw ex
|
|
End Try
|
|
End Sub
|
|
End Class
|