diff --git a/DDLicenseService/DDEDMLicenseService.vbproj b/DDLicenseService/DDEDMLicenseService.vbproj
new file mode 100644
index 00000000..2bd7fe17
--- /dev/null
+++ b/DDLicenseService/DDEDMLicenseService.vbproj
@@ -0,0 +1,144 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {CBE9322E-67A1-4CC5-B25F-4A1B4C9FC55C}
+ WinExe
+ DDLicenseService
+ DDEDMLicenseService
+ 512
+ Console
+ v4.6.1
+ True
+
+
+ true
+ full
+ true
+ true
+ bin\Debug\
+ DDEDMLicenseService.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ pdbonly
+ false
+ true
+ true
+ bin\Release\
+ DDEDMLicenseService.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ On
+
+
+ Binary
+
+
+ Off
+
+
+ On
+
+
+ DDLicenseService.EDMWindowsService
+
+
+
+
+ ..\packages\NLog.4.5.11\lib\net45\NLog.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Component
+
+
+
+ True
+ Application.myapp
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+ Component
+
+
+
+
+ VbMyResourcesResXFileCodeGenerator
+ Resources.Designer.vb
+ My.Resources
+ Designer
+
+
+
+
+
+ MyApplicationCodeGenerator
+ Application.Designer.vb
+
+
+ SettingsSingleFileGenerator
+ My
+ Settings.Designer.vb
+
+
+
+
+
+ {991d0231-4623-496d-8bd0-9ca906029cbc}
+ Filesystem
+
+
+ {eaf0ea75-5fa7-485d-89c7-b2d843b03a96}
+ Database
+
+
+ {903b2d7d-3b80-4be9-8713-7447b704e1b0}
+ Logging
+
+
+
+
\ No newline at end of file
diff --git a/DDLicenseService/ILicenseService.vb b/DDLicenseService/ILicenseService.vb
new file mode 100644
index 00000000..f11f08e3
--- /dev/null
+++ b/DDLicenseService/ILicenseService.vb
@@ -0,0 +1,10 @@
+Imports System.ServiceModel
+
+' HINWEIS: Mit dem Befehl "Umbenennen" im Kontextmenü können Sie den Schnittstellennamen "ILicenseService" sowohl im Code als auch in der Konfigurationsdatei ändern.
+
+Public Interface ILicenseService
+
+
+ Sub DoWork()
+
+End Interface
diff --git a/DDLicenseService/LicenseService.vb b/DDLicenseService/LicenseService.vb
new file mode 100644
index 00000000..1afd3a26
--- /dev/null
+++ b/DDLicenseService/LicenseService.vb
@@ -0,0 +1,14 @@
+Imports DigitalData.Modules.Logging
+
+Public Class LicenseService
+ Implements ILicenseService
+
+ Public Shared Event ClientConnectedEvent As EventHandler(Of Session)
+ Public Shared Event ClientDisconnectedEvent As EventHandler(Of Session)
+
+ Public Shared LogConfig As LogConfig
+
+ Public Sub DoWork() Implements ILicenseService.DoWork
+ End Sub
+
+End Class
diff --git a/DDLicenseService/My Project/Application.Designer.vb b/DDLicenseService/My Project/Application.Designer.vb
new file mode 100644
index 00000000..8ab460ba
--- /dev/null
+++ b/DDLicenseService/My Project/Application.Designer.vb
@@ -0,0 +1,13 @@
+'------------------------------------------------------------------------------
+'
+' 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.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
diff --git a/DDLicenseService/My Project/Application.myapp b/DDLicenseService/My Project/Application.myapp
new file mode 100644
index 00000000..758895de
--- /dev/null
+++ b/DDLicenseService/My Project/Application.myapp
@@ -0,0 +1,10 @@
+
+
+ false
+ false
+ 0
+ true
+ 0
+ 1
+ true
+
diff --git a/DDLicenseService/My Project/AssemblyInfo.vb b/DDLicenseService/My Project/AssemblyInfo.vb
new file mode 100644
index 00000000..b3f69a0c
--- /dev/null
+++ b/DDLicenseService/My Project/AssemblyInfo.vb
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' Allgemeine Informationen über eine Assembly werden über die folgenden
+' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+' die einer Assembly zugeordnet sind.
+
+' Werte der Assemblyattribute überprüfen
+
+
+
+
+
+
+
+
+
+
+'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird.
+
+
+' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+'
+' Hauptversion
+' Nebenversion
+' Buildnummer
+' Revision
+'
+' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
+' übernehmen, indem Sie "*" eingeben:
+'
+
+
+
diff --git a/DDLicenseService/My Project/Resources.Designer.vb b/DDLicenseService/My Project/Resources.Designer.vb
new file mode 100644
index 00000000..82280de9
--- /dev/null
+++ b/DDLicenseService/My Project/Resources.Designer.vb
@@ -0,0 +1,63 @@
+'------------------------------------------------------------------------------
+'
+' 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.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+Imports System
+
+Namespace My.Resources
+
+ 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
+ '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
+ 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
+ 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
+ '''
+ ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
+ '''
+ _
+ Friend Module Resources
+
+ Private resourceMan As Global.System.Resources.ResourceManager
+
+ Private resourceCulture As Global.System.Globalization.CultureInfo
+
+ '''
+ ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
+ '''
+ _
+ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
+ Get
+ If Object.ReferenceEquals(resourceMan, Nothing) Then
+ Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DDLicenseService.Resources", GetType(Resources).Assembly)
+ resourceMan = temp
+ End If
+ Return resourceMan
+ End Get
+ End Property
+
+ '''
+ ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
+ ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
+ '''
+ _
+ Friend Property Culture() As Global.System.Globalization.CultureInfo
+ Get
+ Return resourceCulture
+ End Get
+ Set
+ resourceCulture = value
+ End Set
+ End Property
+ End Module
+End Namespace
diff --git a/DDLicenseService/My Project/Resources.resx b/DDLicenseService/My Project/Resources.resx
new file mode 100644
index 00000000..af7dbebb
--- /dev/null
+++ b/DDLicenseService/My Project/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/DDLicenseService/My Project/Settings.Designer.vb b/DDLicenseService/My Project/Settings.Designer.vb
new file mode 100644
index 00000000..2bbfdbc1
--- /dev/null
+++ b/DDLicenseService/My Project/Settings.Designer.vb
@@ -0,0 +1,73 @@
+'------------------------------------------------------------------------------
+'
+' 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.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ _
+ Partial Friend NotInheritable Class MySettings
+ Inherits Global.System.Configuration.ApplicationSettingsBase
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
+
+#Region "Automatische My.Settings-Speicherfunktion"
+#If _MyType = "WindowsForms" Then
+ Private Shared addedHandler As Boolean
+
+ Private Shared addedHandlerLockObject As New Object
+
+ _
+ Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
+#End If
+#End Region
+
+ Public Shared ReadOnly Property [Default]() As MySettings
+ Get
+
+#If _MyType = "WindowsForms" Then
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
+#End If
+ Return defaultInstance
+ End Get
+ End Property
+ End Class
+End Namespace
+
+Namespace My
+
+ _
+ Friend Module MySettingsProperty
+
+ _
+ Friend ReadOnly Property Settings() As Global.DDLicenseService.My.MySettings
+ Get
+ Return Global.DDLicenseService.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/DDLicenseService/My Project/Settings.settings b/DDLicenseService/My Project/Settings.settings
new file mode 100644
index 00000000..85b890b3
--- /dev/null
+++ b/DDLicenseService/My Project/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/DDLicenseService/ProjectInstaller.vb b/DDLicenseService/ProjectInstaller.vb
new file mode 100644
index 00000000..0576459b
--- /dev/null
+++ b/DDLicenseService/ProjectInstaller.vb
@@ -0,0 +1,24 @@
+Imports System.ComponentModel
+Imports System.Configuration.Install
+Imports System.ServiceProcess
+
+
+Public Class ProjectInstaller
+ Inherits Installer
+
+ Private ReadOnly process As ServiceProcessInstaller
+ Private ReadOnly components As IContainer
+ Private ReadOnly service As ServiceInstaller
+
+ Public Sub New()
+ process = New ServiceProcessInstaller With {
+ .Account = ServiceAccount.NetworkService
+ }
+ service = New ServiceInstaller With {
+ .ServiceName = SERVICE_NAME,
+ .DisplayName = SERVICE_DISPLAY_NAME
+ }
+ Installers.Add(process)
+ Installers.Add(service)
+ End Sub
+End Class
diff --git a/SERVICES/DDEDM_NetworkService/Session.vb b/DDLicenseService/Session.vb
similarity index 100%
rename from SERVICES/DDEDM_NetworkService/Session.vb
rename to DDLicenseService/Session.vb
diff --git a/DDLicenseService/SettingsModule.vb b/DDLicenseService/SettingsModule.vb
new file mode 100644
index 00000000..88b69220
--- /dev/null
+++ b/DDLicenseService/SettingsModule.vb
@@ -0,0 +1,4 @@
+Module SettingsModule
+ Public Const SERVICE_NAME As String = "DDEDMLicenseSvc"
+ Public Const SERVICE_DISPLAY_NAME As String = "Digital Data EDM License Service"
+End Module
\ No newline at end of file
diff --git a/DDLicenseService/WindowsService.vb b/DDLicenseService/WindowsService.vb
new file mode 100644
index 00000000..f3ac05f7
--- /dev/null
+++ b/DDLicenseService/WindowsService.vb
@@ -0,0 +1,72 @@
+Imports System.ServiceModel
+Imports System.ServiceProcess
+Imports System.Configuration
+Imports DigitalData.Modules.Logging
+Imports DigitalData.Modules.Database
+Imports DigitalData.Modules.Database.Exceptions
+
+Public Class WindowsService
+ Inherits ServiceBase
+
+ Private _serviceHost As ServiceHost = Nothing
+
+ Private _logConfig As LogConfig
+ Private _logger As Logger
+ Private _db As Firebird
+ Private _clientsConnected As Integer = 0
+ Private _clients As New List(Of Session)
+
+ Public Sub New()
+ ServiceName = SERVICE_NAME
+ End Sub
+
+ Public Shared Sub Main()
+ Run(New WindowsService())
+ End Sub
+
+ Protected Overrides Sub OnStart(ByVal args As String())
+ Try
+ _logConfig = New LogConfig(LogConfig.PathType.CustomPath, "E:\EDMService")
+ _logger = _logConfig.GetLogger()
+
+ _logger.Info("Service {0} is starting", SERVICE_DISPLAY_NAME)
+
+ AddHandler LicenseService.ClientConnectedEvent, AddressOf EDMService_ClientConnected
+ AddHandler LicenseService.ClientDisconnectedEvent, AddressOf EDMService_ClientDisonnected
+
+ LicenseService.LogConfig = _logConfig
+
+ _logger.Info("Starting the WCF Service")
+
+ _serviceHost = New ServiceHost(GetType(LicenseService))
+ _serviceHost.Open()
+
+ _logger.Info("Successfully started the WCF Service!")
+
+ _logger.Info("Service {0} successfully started!", SERVICE_DISPLAY_NAME)
+ Catch ex As Exception
+ _logger.Error(ex, "Failed to start the service host!")
+ End Try
+ End Sub
+
+ Private Sub EDMService_ClientDisonnected(sender As Object, e As Session)
+ _clientsConnected -= 1
+ _clients.Remove(e)
+ _logger.Info("Client {0}/{1} disconnected! Total {2}", e.Username, e.SessionId, _clientsConnected)
+ End Sub
+
+ Private Sub EDMService_ClientConnected(sender As Object, e As Session)
+ _clientsConnected += 1
+ _clients.Add(e)
+ _logger.Info("Client {0}/{1} connected! Total {2}", e.Username, e.SessionId, _clientsConnected)
+ End Sub
+
+ Protected Overrides Sub OnStop()
+ If _serviceHost IsNot Nothing Then
+ _serviceHost.Close()
+ _serviceHost = Nothing
+ End If
+ _logger.Info("Service {0} is stopping!", SERVICE_DISPLAY_NAME)
+ End Sub
+End Class
+
diff --git a/DDLicenseService/app.config b/DDLicenseService/app.config
new file mode 100644
index 00000000..fffa925f
--- /dev/null
+++ b/DDLicenseService/app.config
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DDLicenseService/packages.config b/DDLicenseService/packages.config
new file mode 100644
index 00000000..f89fa324
--- /dev/null
+++ b/DDLicenseService/packages.config
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/DDMonorepo.sln b/DDMonorepo.sln
index 8362091a..1dd85fdb 100644
--- a/DDMonorepo.sln
+++ b/DDMonorepo.sln
@@ -65,6 +65,8 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EDMIFileOps", "EDMI_FILE_OP
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClientSuiteTest", "DXApplication1\ClientSuiteTest\ClientSuiteTest.csproj", "{221FDADA-D849-4036-A7CE-D1FC1D67E1FA}"
EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DDEDMLicenseService", "DDLicenseService\DDEDMLicenseService.vbproj", "{CBE9322E-67A1-4CC5-B25F-4A1B4C9FC55C}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -159,6 +161,10 @@ Global
{221FDADA-D849-4036-A7CE-D1FC1D67E1FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{221FDADA-D849-4036-A7CE-D1FC1D67E1FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{221FDADA-D849-4036-A7CE-D1FC1D67E1FA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CBE9322E-67A1-4CC5-B25F-4A1B4C9FC55C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CBE9322E-67A1-4CC5-B25F-4A1B4C9FC55C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CBE9322E-67A1-4CC5-B25F-4A1B4C9FC55C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CBE9322E-67A1-4CC5-B25F-4A1B4C9FC55C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -186,6 +192,7 @@ Global
{A8C3F298-76AB-4359-AB3C-986E313B4336} = {7AF3F9C2-C939-4A08-95C1-0453207E298A}
{5B1171DC-FFFE-4813-A20D-786AAE47B320} = {3E2008C8-27B1-41DD-9B1A-0C4029F6AECC}
{221FDADA-D849-4036-A7CE-D1FC1D67E1FA} = {8FFE925E-8B84-45F1-93CB-32B1C96F41EB}
+ {CBE9322E-67A1-4CC5-B25F-4A1B4C9FC55C} = {7AF3F9C2-C939-4A08-95C1-0453207E298A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C1BE4090-A0FD-48AF-86CB-39099D14B286}
diff --git a/EDMI_ClientSuite/EDMI_ClientSuite.vbproj b/EDMI_ClientSuite/EDMI_ClientSuite.vbproj
index a8ec9152..8da0a440 100644
--- a/EDMI_ClientSuite/EDMI_ClientSuite.vbproj
+++ b/EDMI_ClientSuite/EDMI_ClientSuite.vbproj
@@ -248,6 +248,9 @@
Form
+
+ LicenseSchema.xsd
+
True
@@ -264,8 +267,6 @@
True
-
-
True
diff --git a/EDMI_ClientSuite/License/LicenseSchema.vb b/EDMI_ClientSuite/License/LicenseSchema.vb
new file mode 100644
index 00000000..9c0e1b20
--- /dev/null
+++ b/EDMI_ClientSuite/License/LicenseSchema.vb
@@ -0,0 +1,201 @@
+'------------------------------------------------------------------------------
+'
+' 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.
+'
+'------------------------------------------------------------------------------
+
+Option Strict Off
+Option Explicit On
+
+Imports System.Xml.Serialization
+
+'
+'This source code was auto-generated by xsd, Version=4.6.1586.0.
+'
+
+'''
+ _
+Partial Public Class License
+
+ Private modulesField() As LicenseModule
+
+ '''
+ _
+ Public Property Modules() As LicenseModule()
+ Get
+ Return Me.modulesField
+ End Get
+ Set
+ Me.modulesField = value
+ End Set
+ End Property
+End Class
+
+'''
+ _
+Partial Public Class LicenseModule
+
+ Private usersField() As LicenseModuleUser
+
+ Private nameField As String
+
+ Private validUntilField As Date
+
+ Private validUntilFieldSpecified As Boolean
+
+ '''
+ _
+ Public Property Users() As LicenseModuleUser()
+ Get
+ Return Me.usersField
+ End Get
+ Set
+ Me.usersField = value
+ End Set
+ End Property
+
+ '''
+ _
+ Public Property Name() As String
+ Get
+ Return Me.nameField
+ End Get
+ Set
+ Me.nameField = value
+ End Set
+ End Property
+
+ '''
+ _
+ Public Property ValidUntil() As Date
+ Get
+ Return Me.validUntilField
+ End Get
+ Set
+ Me.validUntilField = value
+ End Set
+ End Property
+
+ '''
+ _
+ Public Property ValidUntilSpecified() As Boolean
+ Get
+ Return Me.validUntilFieldSpecified
+ End Get
+ Set
+ Me.validUntilFieldSpecified = value
+ End Set
+ End Property
+End Class
+
+'''
+ _
+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
+
+ '''
+ _
+ Public Property Type() As UserType
+ Get
+ Return Me.typeField
+ End Get
+ Set
+ Me.typeField = value
+ End Set
+ End Property
+
+ '''
+ _
+ Public Property Count() As String
+ Get
+ Return Me.countField
+ End Get
+ Set
+ Me.countField = value
+ End Set
+ End Property
+
+ '''
+ _
+ Public Property Test() As Boolean
+ Get
+ Return Me.testField
+ End Get
+ Set
+ Me.testField = value
+ End Set
+ End Property
+
+ '''
+ _
+ Public Property ValidUntil() As Date
+ Get
+ Return Me.validUntilField
+ End Get
+ Set
+ Me.validUntilField = value
+ End Set
+ End Property
+
+ '''
+ _
+ Public Property ValidUntilSpecified() As Boolean
+ Get
+ Return Me.validUntilFieldSpecified
+ End Get
+ Set
+ Me.validUntilFieldSpecified = value
+ End Set
+ End Property
+End Class
+
+'''
+ _
+Public Enum UserType
+
+ '''
+ PowerUser
+
+ '''
+ [ReadOnly]
+
+ '''
+ [WriteOnly]
+
+ '''
+ ReadWrite
+End Enum
diff --git a/EDMI_ClientSuite/MyApplication.vb b/EDMI_ClientSuite/MyApplication.vb
index ec5661ae..d1dabc6e 100644
--- a/EDMI_ClientSuite/MyApplication.vb
+++ b/EDMI_ClientSuite/MyApplication.vb
@@ -22,7 +22,6 @@ Namespace My
Partial Class MyApplication
' User Config
Public User As New UserState()
- Public License As New LicenseState()
End Class
End Namespace
diff --git a/EDMI_ClientSuite/State/LicenseState.vb b/EDMI_ClientSuite/State/LicenseState.vb
deleted file mode 100644
index f96b306d..00000000
--- a/EDMI_ClientSuite/State/LicenseState.vb
+++ /dev/null
@@ -1,25 +0,0 @@
-Public Class LicenseState
- Public Modules As List(Of LicenseModule)
-End Class
-
-Public Class LicenseModule
- Public Name As String
- Public ValidUntil As Date
- Public Users As List(Of LicenseUser)
-End Class
-
-Public Class LicenseUser
- Public Type As UserType
- Public Count As Integer
- Public Test As Boolean
- Public ValidUntil As Date
-End Class
-
-Public Enum UserType
- PowerUser
- [ReadOnly]
- [WriteOnly]
- ReadWrite
-End Enum
-
-
diff --git a/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.Designer.vb b/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.Designer.vb
deleted file mode 100644
index 12f2a903..00000000
--- a/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.Designer.vb
+++ /dev/null
@@ -1,463 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' 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.
-'
-'------------------------------------------------------------------------------
-
-Option Strict On
-Option Explicit On
-
-Imports System
-
-Namespace My.Resources
-
- 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
- '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
- 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
- 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
- '''
- ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
- '''
- _
- Friend Class ControlProperties
-
- Private Shared resourceMan As Global.System.Resources.ResourceManager
-
- Private Shared resourceCulture As Global.System.Globalization.CultureInfo
-
- _
- Friend Sub New()
- MyBase.New
- End Sub
-
- '''
- ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
- '''
- _
- Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
- Get
- If Object.ReferenceEquals(resourceMan, Nothing) Then
- Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DigitalData.GUIS.ClientSuite.ControlProperties", GetType(ControlProperties).Assembly)
- resourceMan = temp
- End If
- Return resourceMan
- End Get
- End Property
-
- '''
- ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
- ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
- '''
- _
- Friend Shared Property Culture() As Global.System.Globalization.CultureInfo
- Get
- Return resourceCulture
- End Get
- Set
- resourceCulture = value
- End Set
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Termin Einstellungen ähnelt.
- '''
- Friend Shared ReadOnly Property category_appointment() As String
- Get
- Return ResourceManager.GetString("category_appointment", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Daten ähnelt.
- '''
- Friend Shared ReadOnly Property category_data() As String
- Get
- Return ResourceManager.GetString("category_data", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Datenbank Einstellungen ähnelt.
- '''
- Friend Shared ReadOnly Property category_database() As String
- Get
- Return ResourceManager.GetString("category_database", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Datums Einstellungen ähnelt.
- '''
- Friend Shared ReadOnly Property category_date() As String
- Get
- Return ResourceManager.GetString("category_date", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Schrift Einstellungen ähnelt.
- '''
- Friend Shared ReadOnly Property category_font() As String
- Get
- Return ResourceManager.GetString("category_font", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Form Einstellungen ähnelt.
- '''
- Friend Shared ReadOnly Property category_form() As String
- Get
- Return ResourceManager.GetString("category_form", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Information ähnelt.
- '''
- Friend Shared ReadOnly Property category_info() As String
- Get
- Return ResourceManager.GetString("category_info", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Eingabe Eigenschaften ähnelt.
- '''
- Friend Shared ReadOnly Property category_input() As String
- Get
- Return ResourceManager.GetString("category_input", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Andere Einstellungen ähnelt.
- '''
- Friend Shared ReadOnly Property category_other() As String
- Get
- Return ResourceManager.GetString("category_other", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Ansichts Einstellungen ähnelt.
- '''
- Friend Shared ReadOnly Property category_view() As String
- Get
- Return ResourceManager.GetString("category_view", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Schlägt bereits eingegebene Einträge bei der der Eingabe vor. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_autosuggest() As String
- Get
- Return ResourceManager.GetString("desc_autosuggest", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Hintergrundfarbe des Elements an. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_backcolor() As String
- Get
- Return ResourceManager.GetString("desc_backcolor", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Beschreibungstext dieses Elements an. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_caption() As String
- Get
- Return ResourceManager.GetString("desc_caption", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Spaltentitel des Elements an. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_col_title() As String
- Get
- Return ResourceManager.GetString("desc_col_title", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Farbe an. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_color() As String
- Get
- Return ResourceManager.GetString("desc_color", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Standardwert dieses Elements an. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_defaultvalue() As String
- Get
- Return ResourceManager.GetString("desc_defaultvalue", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Beschreibung des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt.
- '''
- Friend Shared ReadOnly Property desc_description() As String
- Get
- Return ResourceManager.GetString("desc_description", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt einen SQL Befehl an, der das Control abhängig vom Ergebnis (0 oder 1) aktiviert oder deaktiviert ähnelt.
- '''
- Friend Shared ReadOnly Property desc_enabledwhen() As String
- Get
- Return ResourceManager.GetString("desc_enabledwhen", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Schriftart an. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_fontstyle() As String
- Get
- Return ResourceManager.GetString("desc_fontstyle", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt das Format des Textes an. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_format() As String
- Get
- Return ResourceManager.GetString("desc_format", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Form-ID der zu öffnenden Form an. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_formid() As String
- Get
- Return ResourceManager.GetString("desc_formid", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Der Name eines Elements von dem das End-Datum gelesen wird. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_fromdate() As String
- Get
- Return ResourceManager.GetString("desc_fromdate", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Der Text, der beim überfahren des Controls angezeigt wird ähnelt.
- '''
- Friend Shared ReadOnly Property desc_hint() As String
- Get
- Return ResourceManager.GetString("desc_hint", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die eindeutige ID des Elements an. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_id() As String
- Get
- Return ResourceManager.GetString("desc_id", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Position des Elements an. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_location() As String
- Get
- Return ResourceManager.GetString("desc_location", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Die Id des Formulars, das über das Kontextmenü geöffnet wird. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_masterdataid() As String
- Get
- Return ResourceManager.GetString("desc_masterdataid", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Feld mehrzeilig sein soll. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_multiline() As String
- Get
- Return ResourceManager.GetString("desc_multiline", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den internen Namen des Elements an. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_name() As String
- Get
- Return ResourceManager.GetString("desc_name", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Ort des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt.
- '''
- Friend Shared ReadOnly Property desc_place() As String
- Get
- Return ResourceManager.GetString("desc_place", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob dieses Element nur lesbar ist. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_readonly() As String
- Get
- Return ResourceManager.GetString("desc_readonly", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an ob dieses Element benötigt wird um die Eingabe abzuschließen. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_required() As String
- Get
- Return ResourceManager.GetString("desc_required", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Screen-ID der zu öffnenden Form an. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_screenid() As String
- Get
- Return ResourceManager.GetString("desc_screenid", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob nur vorhandene Listeneinträge ausgewählt werden können ähnelt.
- '''
- Friend Shared ReadOnly Property desc_select_only() As String
- Get
- Return ResourceManager.GetString("desc_select_only", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Feld als Spalte im Grid angezeigt wird. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_showcolumn() As String
- Get
- Return ResourceManager.GetString("desc_showcolumn", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Größe des Elements an ähnelt.
- '''
- Friend Shared ReadOnly Property desc_size() As String
- Get
- Return ResourceManager.GetString("desc_size", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Datenbank-Abfrage für dieses Element an. Es können @RECORD_ID und @FORM_ID als Platzhalter verwendet werden. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_sqlcommand() As String
- Get
- Return ResourceManager.GetString("desc_sqlcommand", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Eine Liste von statischen Werten, die durch ';' getrennt sind. Überschreibt die Daten aus 'Datenbank-Einstellungen' ähnelt.
- '''
- Friend Shared ReadOnly Property desc_staticlist() As String
- Get
- Return ResourceManager.GetString("desc_staticlist", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt.
- '''
- Friend Shared ReadOnly Property desc_subject() As String
- Get
- Return ResourceManager.GetString("desc_subject", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den optionalen zweiten Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt.
- '''
- Friend Shared ReadOnly Property desc_subject2() As String
- Get
- Return ResourceManager.GetString("desc_subject2", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Reihenfolge an, in der das Element durch die Tabulatortaste aktiviert wird. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_tabindex() As String
- Get
- Return ResourceManager.GetString("desc_tabindex", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Element durch die Tabulartortaste aktiviert werden soll. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_tabstop() As String
- Get
- Return ResourceManager.GetString("desc_tabstop", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Der Name eines Elements von dem das Start-Datum gelesen wird. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_todate() As String
- Get
- Return ResourceManager.GetString("desc_todate", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Der Typ des Elements ähnelt.
- '''
- Friend Shared ReadOnly Property desc_type() As String
- Get
- Return ResourceManager.GetString("desc_type", resourceCulture)
- End Get
- End Property
-
- '''
- ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Element angezeigt wird. ähnelt.
- '''
- Friend Shared ReadOnly Property desc_visible() As String
- Get
- Return ResourceManager.GetString("desc_visible", resourceCulture)
- End Get
- End Property
- End Class
-End Namespace
diff --git a/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.en.Designer.vb b/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.en.Designer.vb
deleted file mode 100644
index e69de29b..00000000
diff --git a/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.en.resx b/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.en.resx
deleted file mode 100644
index e526f696..00000000
--- a/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.en.resx
+++ /dev/null
@@ -1,252 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Scheduler Configuration
-
-
- Data
-
-
- Database Configuration
-
-
- Date Configuration
-
-
- Font Configuration
-
-
- Form Configuration
-
-
- Information
-
-
- Other Configuration
-
-
- View Configuration
-
-
- Suggests already entered entries
-
-
- The element's background color.
-
-
- The element's caption.
-
-
- The element's color.
-
-
- The element's colum title.
-
-
- The element's default value.
-
-
- The appointment's description. Dynamic values from other controls can be inserted with the syntax [%controlname].
-
-
- An SQL Query that enables or disables the Control depending on the result (0 or 1)
-
-
- The element's font style.
-
-
- The element's number format.
-
-
- The form-ID of the form that will be opened.
-
-
- The appointment's start-date. Dynamic values from other controls can be inserted with the syntax [%controlname].
-
-
- The text that will be shown when the control is hovered over
-
-
- The element's unique identifier.
-
-
- The element's location
-
-
- The Form's Id that will be opened via the contextmenu.
-
-
- Should the element be a multiline field?
-
-
- The element's internal name
-
-
- The appointment's location. Dynamic values from other controls can be inserted with the syntax [%controlname].
-
-
- Is the element read-only?
-
-
- Is the element required to be filled to complete the input?
-
-
- The screen-ID of the form that will be opened.
-
-
- Can only existing list items be selected?
-
-
- Should the element be show as a column?
-
-
- The element's size
-
-
- The database query for this element. @RECORD_ID and @FORM_ID can be used as placeholders. Dynamic values from other controls can be inserted with the Syntax @controlid@.
-
-
- A list of static values seperated by a semicolon (;)
-
-
- The appointment's subject. Dynamic values from other controls can be inserted with the syntax [%controlname].
-
-
- The appointment's optional secondary subject. Dynamic values from other controls can be inserted with the syntax [%controlname].
-
-
- The order in which this element should be activated by the tab key.
-
-
- Should this element be activated by the tab key?
-
-
- The appointment's end-date. Dynamic values from other controls can be inserted with the syntax [%controlname].
-
-
- The element's type
-
-
- Should the element be visible?
-
-
- Input Configuration
-
-
\ No newline at end of file
diff --git a/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.resx b/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.resx
deleted file mode 100644
index af8c8fbb..00000000
--- a/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.resx
+++ /dev/null
@@ -1,252 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Termin Einstellungen
-
-
- Daten
-
-
- Datenbank Einstellungen
-
-
- Datums Einstellungen
-
-
- Schrift Einstellungen
-
-
- Form Einstellungen
-
-
- Information
-
-
- Andere Einstellungen
-
-
- Ansichts Einstellungen
-
-
- Schlägt bereits eingegebene Einträge bei der der Eingabe vor.
-
-
- Gibt die Hintergrundfarbe des Elements an.
-
-
- Gibt den Beschreibungstext dieses Elements an.
-
-
- Gibt die Farbe an.
-
-
- Gibt den Spaltentitel des Elements an.
-
-
- Gibt den Standardwert dieses Elements an.
-
-
- Gibt die Beschreibung des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden
-
-
- Gibt einen SQL Befehl an, der das Control abhängig vom Ergebnis (0 oder 1) aktiviert oder deaktiviert
-
-
- Gibt die Schriftart an.
-
-
- Gibt das Format des Textes an.
-
-
- Gibt die Form-ID der zu öffnenden Form an.
-
-
- Der Name eines Elements von dem das End-Datum gelesen wird.
-
-
- Der Text, der beim überfahren des Controls angezeigt wird
-
-
- Gibt die eindeutige ID des Elements an.
-
-
- Gibt die Position des Elements an.
-
-
- Die Id des Formulars, das über das Kontextmenü geöffnet wird.
-
-
- Gibt an, ob das Feld mehrzeilig sein soll.
-
-
- Gibt den internen Namen des Elements an.
-
-
- Gibt den Ort des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden
-
-
- Gibt an, ob dieses Element nur lesbar ist.
-
-
- Gibt an ob dieses Element benötigt wird um die Eingabe abzuschließen.
-
-
- Gibt die Screen-ID der zu öffnenden Form an.
-
-
- Gibt an, ob nur vorhandene Listeneinträge ausgewählt werden können
-
-
- Gibt an, ob das Feld als Spalte im Grid angezeigt wird.
-
-
- Gibt die Größe des Elements an
-
-
- Gibt die Datenbank-Abfrage für dieses Element an. Es können @RECORD_ID und @FORM_ID als Platzhalter verwendet werden.
-
-
- Eine Liste von statischen Werten, die durch ';' getrennt sind. Überschreibt die Daten aus 'Datenbank-Einstellungen'
-
-
- Gibt den Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden
-
-
- Gibt den optionalen zweiten Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden
-
-
- Gibt die Reihenfolge an, in der das Element durch die Tabulatortaste aktiviert wird.
-
-
- Gibt an, ob das Element durch die Tabulartortaste aktiviert werden soll.
-
-
- Der Name eines Elements von dem das Start-Datum gelesen wird.
-
-
- Der Typ des Elements
-
-
- Gibt an, ob das Element angezeigt wird.
-
-
- Eingabe Eigenschaften
-
-
\ No newline at end of file
diff --git a/EDMI_ClientSuite/frmMain.Designer.vb b/EDMI_ClientSuite/frmMain.Designer.vb
index c667e950..3e5b83fb 100644
--- a/EDMI_ClientSuite/frmMain.Designer.vb
+++ b/EDMI_ClientSuite/frmMain.Designer.vb
@@ -57,6 +57,7 @@ Partial Class frmMain
Me.DockPanelProcessManager = New DevExpress.XtraBars.Docking.DockPanel()
Me.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer()
Me.ProcessManagerOverview = New EDMI_ClientSuite.ProcessManagerOverview()
+ Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.MainMenu, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DocumentManager, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -73,9 +74,9 @@ Partial Class frmMain
'
Me.RibbonControl.ApplicationButtonDropDownControl = Me.MainMenu
Me.RibbonControl.ExpandCollapseItem.Id = 0
- Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonExit, Me.BarButtonUserSettings, Me.LabelCurrentUser, Me.LabelCurrentMachine, Me.LabelCurrentVersion, Me.BarButtonItem1, Me.BarButtonDock1, Me.SkinDropDownButtonItem1, Me.BarButtonDashboard, Me.BarButtonEntityDesigner, Me.BarButtonDeleteControl, Me.BarButtonConnectionSettings, Me.LabelCurrentLanguage})
+ Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonExit, Me.BarButtonUserSettings, Me.LabelCurrentUser, Me.LabelCurrentMachine, Me.LabelCurrentVersion, Me.BarButtonItem1, Me.BarButtonDock1, Me.SkinDropDownButtonItem1, Me.BarButtonDashboard, Me.BarButtonEntityDesigner, Me.BarButtonDeleteControl, Me.BarButtonConnectionSettings, Me.LabelCurrentLanguage, Me.BarButtonItem2})
Me.RibbonControl.Location = New System.Drawing.Point(0, 0)
- Me.RibbonControl.MaxItemId = 16
+ Me.RibbonControl.MaxItemId = 17
Me.RibbonControl.Name = "RibbonControl"
Me.RibbonControl.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategoryEntityDesigner})
Me.RibbonControl.PageHeaderItemLinks.Add(Me.SkinDropDownButtonItem1)
@@ -218,6 +219,7 @@ Partial Class frmMain
'RibbonPageGroup3
'
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem1)
+ Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem2)
Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
Me.RibbonPageGroup3.Text = "RibbonPageGroup3"
'
@@ -348,6 +350,12 @@ Partial Class frmMain
Me.ProcessManagerOverview.Size = New System.Drawing.Size(337, 163)
Me.ProcessManagerOverview.TabIndex = 0
'
+ 'BarButtonItem2
+ '
+ Me.BarButtonItem2.Caption = "License Test"
+ Me.BarButtonItem2.Id = 16
+ Me.BarButtonItem2.Name = "BarButtonItem2"
+ '
'frmMain
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -413,4 +421,5 @@ Partial Class frmMain
Friend WithEvents BarButtonDeleteControl As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonConnectionSettings As DevExpress.XtraBars.BarButtonItem
Friend WithEvents LabelCurrentLanguage As DevExpress.XtraBars.BarStaticItem
+ Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
End Class
diff --git a/EDMI_ClientSuite/frmMain.resx b/EDMI_ClientSuite/frmMain.resx
index dc362ec9..9a1ff3b1 100644
--- a/EDMI_ClientSuite/frmMain.resx
+++ b/EDMI_ClientSuite/frmMain.resx
@@ -244,29 +244,29 @@
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAMnRFWHRUaXRsZQBDdXN0b21l
- cjtFbXBsb3llZTtQZXJzb247Q29udGFjdDtVc2VyO0NsaWVudH4RNugAAADNSURBVDhPpdExDkFBFAXQ
- X4jeMkg0Kir03xrsRaWxCIuQ6EXCGv4KqL8CkXGvzLzMPP8xoTgymXffDaZwzv3l9TFbbLUh7OHiHWAM
- Sc4qaMEJnHKGNkjWKuiCXg56IFmrYAJNyzQFyVoFS2haJs4kaxWM4AF6mXf8cyVrFdAOdAHvktynAj7Z
- DcIyz9nPGMzh6PH8lrEKOrCC+M155h1nktUFA9jAHfi119D3eOYdZ8wwmxSUcIXwm79htowLqmiYq4oL
- ajXMUUvB71zxBKd8P7UB7yhRAAAAAElFTkSuQmCC
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl
+ cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAM1JREFUOE+l0TEOQUEUBdBfiN4ySDQqKvTfGuxF
+ pbEIi5DoRcIa/gqovwKRca/MvMw8/zGhODKZd98NpnDO/eX1MVtstSHs4eIdYAxJzipowQmccoY2SNYq
+ 6IJeDnogWatgAk3LNAXJWgVLaFomziRrFYzgAXqZd/xzJWsV0A50Ae+S3KcCPtkNwjLP2c8YzOHo8fyW
+ sQo6sIL4zXnmHWeS1QUD2MAd+LXX0Pd45h1nzDCbFJRwhfCbv2G2jAuqaJirigtqNcxRS8HvXPEEp3w/
+ tQHvKFEAAAAASUVORK5CYII=
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAMnRFWHRUaXRsZQBDdXN0b21l
- cjtFbXBsb3llZTtQZXJzb247Q29udGFjdDtVc2VyO0NsaWVudH4RNugAAAH4SURBVFhHxdaxS1VhGMdx
- QRcHh8BoVWppyL3VEApsCPpjoiFCF8FddHEPGhqFXGxVgoiGIAIlR7FoMEg4/n6H8xze571frw7e6/BZ
- 3vO8z/fcex2caJrmVg0cPF/ZuY5leSe/5H/nWN7LC6E7SfRS3Gi4siHNFbaF7vail+JGw4WnQkHyUmhH
- K3opbjRc8NdOMfJBaEcreiluNFz4LhQjP4R2tKKX4kbDhb9CMfJbaEcreiluNFyg0GX+Ce1oRS/FjYY7
- i0KhYXyHdvW9FDca7mwKRYbxHdrV91LcaLizJhQZxndoV99LcaPhzn05EQoRz/oO7ep7KW40XHgjFCOv
- hHa0opfiRsOFR0Ix4lna0YpeihsNVz4KBUu7Qnd70Utxo+HKgpwJhc3PPEN3e9FLcaNh8ExOpY7/ET+j
- O0n0Utxo+BJ35bX4J/kkb+We0OyA6KW40XBlEs5qU3CWRC/FjYYLj+WzPCjOav7r/yKepeet6KW4wfCc
- rMg3id96T6alnp2RA4k531mVeUmz0UtxK4buyJb4/71YWNqXJ+Kv25bkq9Csd3iXd17rBR7KT6FltfMO
- Pat5p3f3vRQ3PZyVQ6EFN8G7Z6NHL7BeDI/KevToBUb56cNh9OgF6MKNix69wFE9PAJH0Rt4gXHDw3HC
- w3HCw/FpJi4ACnRMQSftMegAAAAASUVORK5CYII=
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAydEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO1Bl
+ cnNvbjtDb250YWN0O1VzZXI7Q2xpZW50fhE26AAAAfhJREFUWEfF1rFLVWEYx3FBFweHwGhVamnIvdUQ
+ CmwI+mOiIUIXwV10cQ8aGoVcbFWCiIYgAiVHsWgwSDj+fofzHN7nvV+vDt7r8Fne87zP99x7HZxomuZW
+ DRw8X9m5jmV5J7/kf+dY3ssLoTtJ9FLcaLiyIc0VtoXu9qKX4kbDhadCQfJSaEcreiluNFzw104x8kFo
+ Ryt6KW40XPguFCM/hHa0opfiRsOFv0Ix8ltoRyt6KW40XKDQZf4J7WhFL8WNhjuLQqFhfId29b0UNxru
+ bApFhvEd2tX3UtxouLMmFBnGd2hX30txo+HOfTkRChHP+g7t6nspbjRceCMUI6+EdrSil+JGw4VHQjHi
+ WdrRil6KGw1XPgoFS7tCd3vRS3Gj4cqCnAmFzc88Q3d70Utxo2HwTE6ljv8RP6M7SfRS3Gj4Enfltfgn
+ +SRv5Z7Q7IDopbjRcGUSzmpTcJZEL8WNhguP5bM8KM5q/uv/Ip6l563opbjB8JysyDeJ33pPpqWenZED
+ iTnfWZV5SbPRS3Erhu7Ilvj/vVhY2pcn4q/bluSr0Kx3eJd3XusFHspPoWW18w49q3mnd/e9FDc9nJVD
+ oQU3wbtno0cvsF4Mj8p69OgFRvnpw2H06AXowo2LHr3AUT08AkfRG3iBccPDccLDccLD8WkmLgAKdExB
+ J+0x6AAAAABJRU5ErkJggg==
diff --git a/EDMI_ClientSuite/frmMain.vb b/EDMI_ClientSuite/frmMain.vb
index 7237e462..510e1f1a 100644
--- a/EDMI_ClientSuite/frmMain.vb
+++ b/EDMI_ClientSuite/frmMain.vb
@@ -106,4 +106,44 @@ Public Class frmMain
frm.MdiParent = DocumentManager.MdiParent
frm.Show()
End Sub
+
+ Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
+ Dim oUser1 = New LicenseModuleUser With {
+ .Type = UserType.PowerUser,
+ .Test = False,
+ .Count = 5,
+ .ValidUntil = New Date(),
+ .ValidUntilSpecified = True
+ }
+
+ Dim oUsers As New List(Of LicenseModuleUser)
+ oUsers.Add(oUser1)
+
+ Dim oModule = New LicenseModule() With {
+ .Users = oUsers.ToArray(),
+ .Name = "EDMI",
+ .ValidUntil = New Date(),
+ .ValidUntilSpecified = True
+ }
+
+ Dim oModules As New List(Of LicenseModule)
+ oModules.Add(oModule)
+
+ Dim oLicense = New License() With {
+ .Modules = oModules.ToArray
+ }
+
+ Dim oSerializer As New Xml.Serialization.XmlSerializer(GetType(License))
+
+ Using oStream = New FileStream("E:\license.xml", FileMode.Create)
+ oSerializer.Serialize(oStream, oLicense)
+ oStream.Flush()
+ End Using
+
+ Dim oLicense2 As License
+
+ Using oReader As New StreamReader("E:\license.xml")
+ oLicense2 = oSerializer.Deserialize(oReader)
+ End Using
+ End Sub
End Class
\ No newline at end of file
diff --git a/SERVICES/DDEDM_NetworkService/App.config b/SERVICES/DDEDM_NetworkService/App.config
index 203b962c..a1581da4 100644
--- a/SERVICES/DDEDM_NetworkService/App.config
+++ b/SERVICES/DDEDM_NetworkService/App.config
@@ -1,4 +1,4 @@
-
+
@@ -18,20 +18,19 @@
-
+
-
-
-
-
-
-
+
+
+
+
+
+
@@ -39,27 +38,19 @@
-
+
-
+
-
+
@@ -76,4 +67,9 @@
-
\ No newline at end of file
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SERVICES/DDEDM_NetworkService/DDEDMService.vbproj b/SERVICES/DDEDM_NetworkService/DDEDMService.vbproj
index f2c98f78..5594f0b6 100644
--- a/SERVICES/DDEDM_NetworkService/DDEDMService.vbproj
+++ b/SERVICES/DDEDM_NetworkService/DDEDMService.vbproj
@@ -6,7 +6,7 @@
AnyCPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}
Exe
- DigitalData.Services.EDMService.EDMWindowsService
+ DigitalData.Services.EDMService.WindowsService
DigitalData.Services.EDMService
EDMService
512
@@ -47,29 +47,23 @@
On
-
- ..\..\DDMonorepo\Modules.Database\bin\Debug\DigitalData.Modules.Database.dll
+
+ ..\..\packages\FirebirdSql.Data.FirebirdClient.6.4.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll
-
- ..\..\DDMonorepo\Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll
-
-
- ..\..\DDMonorepo\Modules.Logging\bin\Debug\DigitalData.Modules.Logging.dll
-
-
- ..\..\DDMonorepo\Modules.Database\bin\Debug\FirebirdSql.Data.FirebirdClient.dll
-
-
- ..\..\DDMonorepo\Modules.Logging\bin\Debug\NLog.dll
+
+
+ ..\..\packages\NLog.4.5.11\lib\net45\NLog.dll
+
+
@@ -92,10 +86,9 @@
-
-
+
Component
@@ -145,6 +138,21 @@
PreserveNewest
Designer
+
+
+
+
+ {991d0231-4623-496d-8bd0-9ca906029cbc}
+ Filesystem
+
+
+ {EAF0EA75-5FA7-485D-89C7-B2D843B03A96}
+ Database
+
+
+ {903B2D7D-3B80-4BE9-8713-7447B704E1B0}
+ Logging
+
\ No newline at end of file
diff --git a/SERVICES/DDEDM_NetworkService/EDMService.vb b/SERVICES/DDEDM_NetworkService/EDMService.vb
index 84d6cf13..22cca182 100644
--- a/SERVICES/DDEDM_NetworkService/EDMService.vb
+++ b/SERVICES/DDEDM_NetworkService/EDMService.vb
@@ -8,16 +8,11 @@ Imports DigitalData.Services.EDMService
Public Class EDMService
Implements IEDMService
- Implements IDisposable
-
- Public Shared Event ClientConnectedEvent As EventHandler(Of Session)
- Public Shared Event ClientDisconnectedEvent As EventHandler(Of Session)
Public Shared LogConfig As LogConfig
Public Shared Database As Firebird
Public Shared AppConfig As AppConfig
- Private ReadOnly _session As Session
Private ReadOnly _logger As Logger
Private _request As Request = Nothing
@@ -29,13 +24,6 @@ Public Class EDMService
Dim oUsername = oOperationContext.ServiceSecurityContext.WindowsIdentity.Name
_logger = LogConfig.GetLogger()
- _session = New Session(oUsername)
-
- RaiseEvent ClientConnectedEvent(Me, _session)
- End Sub
-
- Public Sub Dispose() Implements IDisposable.Dispose
- RaiseEvent ClientDisconnectedEvent(Me, _session)
End Sub
#Region "Request"
diff --git a/SERVICES/DDEDM_NetworkService/EDMWindowsService.vb b/SERVICES/DDEDM_NetworkService/WindowsService.vb
similarity index 97%
rename from SERVICES/DDEDM_NetworkService/EDMWindowsService.vb
rename to SERVICES/DDEDM_NetworkService/WindowsService.vb
index 67b30681..16830755 100644
--- a/SERVICES/DDEDM_NetworkService/EDMWindowsService.vb
+++ b/SERVICES/DDEDM_NetworkService/WindowsService.vb
@@ -5,7 +5,7 @@ Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Database.Exceptions
-Public Class EDMWindowsService
+Public Class WindowsService
Inherits ServiceBase
Private _serviceHost As ServiceHost = Nothing
@@ -23,7 +23,7 @@ Public Class EDMWindowsService
End Sub
Public Shared Sub Main()
- Run(New EDMWindowsService())
+ Run(New WindowsService())
End Sub
Protected Overrides Sub OnStart(ByVal args As String())
diff --git a/SERVICES/DDEDM_NetworkService/packages.config b/SERVICES/DDEDM_NetworkService/packages.config
new file mode 100644
index 00000000..9204b8da
--- /dev/null
+++ b/SERVICES/DDEDM_NetworkService/packages.config
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file