jj: License Module

This commit is contained in:
Jonathan Jenne
2019-02-04 16:27:49 +01:00
parent e6914c6596
commit 35ec578535
20 changed files with 549 additions and 55 deletions

View File

@@ -248,9 +248,6 @@
<Compile Include="frmConfigUser.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="License\LicenseSchema.vb">
<DependentUpon>LicenseSchema.xsd</DependentUpon>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
@@ -367,9 +364,6 @@
<None Include="Connected Services\NetworkService_DDEDM\System.Data.xsd">
<SubType>Designer</SubType>
</None>
<None Include="License\LicenseSchema.xsd">
<SubType>Designer</SubType>
</None>
<None Include="My Project\app.manifest" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
@@ -438,6 +432,10 @@
<Project>{3DCD6D1A-C830-4241-B7E4-27430E7EA483}</Project>
<Name>LookupControl</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.License\License.vbproj">
<Project>{5ebacbfa-f11a-4bbf-8d02-91461f2293ed}</Project>
<Name>License</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.Logging\Logging.vbproj">
<Project>{903b2d7d-3b80-4be9-8713-7447b704e1b0}</Project>
<Name>Logging</Name>

View File

@@ -1,201 +0,0 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.42000
'
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
' der Code erneut generiert wird.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
Imports System.Xml.Serialization
'
'This source code was auto-generated by xsd, Version=4.6.1586.0.
'
'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1586.0"), _
System.SerializableAttribute(), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute("code"), _
System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=true, [Namespace]:="http://tempuri.org/LicenseSchema.xsd"), _
System.Xml.Serialization.XmlRootAttribute([Namespace]:="http://tempuri.org/LicenseSchema.xsd", IsNullable:=false)> _
Partial Public Class License
Private modulesField() As LicenseModule
'''<remarks/>
<System.Xml.Serialization.XmlArrayItemAttribute("Module", IsNullable:=false)> _
Public Property Modules() As LicenseModule()
Get
Return Me.modulesField
End Get
Set
Me.modulesField = value
End Set
End Property
End Class
'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1586.0"), _
System.SerializableAttribute(), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute("code"), _
System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=true, [Namespace]:="http://tempuri.org/LicenseSchema.xsd")> _
Partial Public Class LicenseModule
Private usersField() As LicenseModuleUser
Private nameField As String
Private validUntilField As Date
Private validUntilFieldSpecified As Boolean
'''<remarks/>
<System.Xml.Serialization.XmlArrayItemAttribute("User", IsNullable:=false)> _
Public Property Users() As LicenseModuleUser()
Get
Return Me.usersField
End Get
Set
Me.usersField = value
End Set
End Property
'''<remarks/>
<System.Xml.Serialization.XmlAttributeAttribute()> _
Public Property Name() As String
Get
Return Me.nameField
End Get
Set
Me.nameField = value
End Set
End Property
'''<remarks/>
<System.Xml.Serialization.XmlAttributeAttribute(DataType:="date")> _
Public Property ValidUntil() As Date
Get
Return Me.validUntilField
End Get
Set
Me.validUntilField = value
End Set
End Property
'''<remarks/>
<System.Xml.Serialization.XmlIgnoreAttribute()> _
Public Property ValidUntilSpecified() As Boolean
Get
Return Me.validUntilFieldSpecified
End Get
Set
Me.validUntilFieldSpecified = value
End Set
End Property
End Class
'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1586.0"), _
System.SerializableAttribute(), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute("code"), _
System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=true, [Namespace]:="http://tempuri.org/LicenseSchema.xsd")> _
Partial Public Class LicenseModuleUser
Private typeField As UserType
Private countField As String
Private testField As Boolean
Private validUntilField As Date
Private validUntilFieldSpecified As Boolean
Public Sub New()
MyBase.New
Me.testField = true
End Sub
'''<remarks/>
<System.Xml.Serialization.XmlAttributeAttribute()> _
Public Property Type() As UserType
Get
Return Me.typeField
End Get
Set
Me.typeField = value
End Set
End Property
'''<remarks/>
<System.Xml.Serialization.XmlAttributeAttribute(DataType:="integer")> _
Public Property Count() As String
Get
Return Me.countField
End Get
Set
Me.countField = value
End Set
End Property
'''<remarks/>
<System.Xml.Serialization.XmlAttributeAttribute(), _
System.ComponentModel.DefaultValueAttribute(true)> _
Public Property Test() As Boolean
Get
Return Me.testField
End Get
Set
Me.testField = value
End Set
End Property
'''<remarks/>
<System.Xml.Serialization.XmlAttributeAttribute(DataType:="date")> _
Public Property ValidUntil() As Date
Get
Return Me.validUntilField
End Get
Set
Me.validUntilField = value
End Set
End Property
'''<remarks/>
<System.Xml.Serialization.XmlIgnoreAttribute()> _
Public Property ValidUntilSpecified() As Boolean
Get
Return Me.validUntilFieldSpecified
End Get
Set
Me.validUntilFieldSpecified = value
End Set
End Property
End Class
'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1586.0"), _
System.SerializableAttribute(), _
System.Xml.Serialization.XmlTypeAttribute([Namespace]:="http://tempuri.org/LicenseSchema.xsd")> _
Public Enum UserType
'''<remarks/>
PowerUser
'''<remarks/>
[ReadOnly]
'''<remarks/>
[WriteOnly]
'''<remarks/>
ReadWrite
End Enum

View File

@@ -1,51 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="LicenseSchema"
targetNamespace="http://tempuri.org/LicenseSchema.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/LicenseSchema.xsd"
xmlns:mstns="http://tempuri.org/LicenseSchema.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:simpleType name="UserType">
<xs:restriction base="xs:string">
<xs:enumeration value="PowerUser" />
<xs:enumeration value="ReadOnly" />
<xs:enumeration value="WriteOnly" />
<xs:enumeration value="ReadWrite" />
</xs:restriction>
</xs:simpleType>
<xs:element name="License">
<xs:complexType>
<xs:sequence>
<xs:element name="Modules">
<xs:complexType>
<xs:sequence>
<xs:element name="Module" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Users">
<xs:complexType>
<xs:sequence>
<xs:element name="User" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:attribute type="UserType" name="Type" use="required"/>
<xs:attribute type="xs:integer" name="Count" use="required"/>
<xs:attribute type="xs:boolean" name="Test" use="optional" default="true"/>
<xs:attribute type="xs:date" name="ValidUntil" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="Name" use="required"/>
<xs:attribute type="xs:date" name="ValidUntil" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@@ -6,6 +6,7 @@ Imports EDMI_ClientSuite.ClassLayout
Imports System.IO
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Logging.LogConfig
Imports DigitalData.Modules.License
Public Class frmMain
Private _Logger As Logger
@@ -129,21 +130,16 @@ Public Class frmMain
Dim oModules As New List(Of LicenseModule)
oModules.Add(oModule)
Dim oLicense = New License() With {
Dim oLicense = New LicenseSchema() With {
.Modules = oModules.ToArray
}
Dim oSerializer As New Xml.Serialization.XmlSerializer(GetType(License))
Dim oLicenseFile As New LicenseFile(My.LogConfig, "E:\")
oLicenseFile.SaveFile(oLicense)
Using oStream = New FileStream("E:\license.xml", FileMode.Create)
oSerializer.Serialize(oStream, oLicense)
oStream.Flush()
End Using
Dim oSerializer As New Xml.Serialization.XmlSerializer(GetType(LicenseSchema))
Dim oLicense2 As LicenseSchema
Dim oLicense2 As License
Using oReader As New StreamReader("E:\license.xml")
oLicense2 = oSerializer.Deserialize(oReader)
End Using
oLicense2 = oLicenseFile.LoadFile()
End Sub
End Class