diff --git a/DDMonorepo.sln b/DDMonorepo.sln
index 6cab254b..1d698830 100644
--- a/DDMonorepo.sln
+++ b/DDMonorepo.sln
@@ -132,8 +132,6 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Monitor", "GUIs.Monitor\Mon
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MonoRepoUtils", "ConfigCreator\MonoRepoUtils.vbproj", "{9D4AC920-C78E-41C3-994E-91690FF79380}"
EndProject
-Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Database.Cached", "Database.Cached\Database.Cached.vbproj", "{E0DC883D-FAE1-4103-B2BA-043EBE697B09}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -352,10 +350,6 @@ Global
{9D4AC920-C78E-41C3-994E-91690FF79380}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9D4AC920-C78E-41C3-994E-91690FF79380}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9D4AC920-C78E-41C3-994E-91690FF79380}.Release|Any CPU.Build.0 = Release|Any CPU
- {E0DC883D-FAE1-4103-B2BA-043EBE697B09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E0DC883D-FAE1-4103-B2BA-043EBE697B09}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E0DC883D-FAE1-4103-B2BA-043EBE697B09}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E0DC883D-FAE1-4103-B2BA-043EBE697B09}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -414,7 +408,6 @@ Global
{65EFB268-C0E0-40C1-8981-9F70DEE5C74A} = {F98C0329-C004-417F-B2AB-7466E88D8220}
{E24E8D40-0361-4C07-8FAE-3621DE316E70} = {8FFE925E-8B84-45F1-93CB-32B1C96F41EB}
{9D4AC920-C78E-41C3-994E-91690FF79380} = {8FFE925E-8B84-45F1-93CB-32B1C96F41EB}
- {E0DC883D-FAE1-4103-B2BA-043EBE697B09} = {3E2008C8-27B1-41DD-9B1A-0C4029F6AECC}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C1BE4090-A0FD-48AF-86CB-39099D14B286}
diff --git a/State/ModuleState.vb b/State/ModuleState.vb
new file mode 100644
index 00000000..9f960d5f
--- /dev/null
+++ b/State/ModuleState.vb
@@ -0,0 +1,7 @@
+Namespace State
+ Public Class ModuleState
+ Public Property HasAccess As Boolean
+ Public Property IsAdmin As Boolean
+ Public Property LoggedIn As Integer
+ End Class
+End Namespace
\ No newline at end of file
diff --git a/State/My Project/Application.Designer.vb b/State/My Project/Application.Designer.vb
new file mode 100644
index 00000000..8ab460ba
--- /dev/null
+++ b/State/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/State/My Project/Application.myapp b/State/My Project/Application.myapp
new file mode 100644
index 00000000..758895de
--- /dev/null
+++ b/State/My Project/Application.myapp
@@ -0,0 +1,10 @@
+
+
+ false
+ false
+ 0
+ true
+ 0
+ 1
+ true
+
diff --git a/State/My Project/AssemblyInfo.vb b/State/My Project/AssemblyInfo.vb
new file mode 100644
index 00000000..09bb81e4
--- /dev/null
+++ b/State/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 wird für die typelib-ID verwendet, 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,
+' indem Sie "*" wie unten gezeigt eingeben:
+'
+
+
+
diff --git a/State/My Project/Resources.Designer.vb b/State/My Project/Resources.Designer.vb
new file mode 100644
index 00000000..cbcc5534
--- /dev/null
+++ b/State/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("DigitalData.Modules.State.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/State/My Project/Resources.resx b/State/My Project/Resources.resx
new file mode 100644
index 00000000..af7dbebb
--- /dev/null
+++ b/State/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/State/My Project/Settings.Designer.vb b/State/My Project/Settings.Designer.vb
new file mode 100644
index 00000000..dec125aa
--- /dev/null
+++ b/State/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.DigitalData.Modules.State.My.MySettings
+ Get
+ Return Global.DigitalData.Modules.State.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/State/My Project/Settings.settings b/State/My Project/Settings.settings
new file mode 100644
index 00000000..85b890b3
--- /dev/null
+++ b/State/My Project/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/State/ServiceState.vb b/State/ServiceState.vb
new file mode 100644
index 00000000..5b00e66e
--- /dev/null
+++ b/State/ServiceState.vb
@@ -0,0 +1,11 @@
+Imports DigitalData.Modules.EDMI.API
+
+Namespace State
+ Public Class ServiceState
+ Public Property IsOnline As Boolean = False
+ Public Property IsActive As Boolean = False
+ Public Property LastChecked As Date = Date.Now
+ Public Property Address As String = String.Empty
+ Public Property Client As Client = Nothing
+ End Class
+End Namespace
\ No newline at end of file
diff --git a/State/SettingsState.vb b/State/SettingsState.vb
new file mode 100644
index 00000000..6a9e50e6
--- /dev/null
+++ b/State/SettingsState.vb
@@ -0,0 +1,5 @@
+Namespace State
+ Public Class SettingsState
+ Public GdPictureKey As String = String.Empty
+ End Class
+End Namespace
\ No newline at end of file
diff --git a/State/State.vbproj b/State/State.vbproj
new file mode 100644
index 00000000..ce551278
--- /dev/null
+++ b/State/State.vbproj
@@ -0,0 +1,108 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {3D8AEB1A-1FAB-4107-8FFE-67337C281AD0}
+ Library
+ DigitalData.Modules.State
+ DigitalData.Modules.State
+ 512
+ Windows
+ v4.6.1
+ true
+
+
+ true
+ full
+ true
+ true
+ bin\Debug\
+ DigitalData.Modules.State.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ pdbonly
+ false
+ true
+ true
+ bin\Release\
+ DigitalData.Modules.State.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ On
+
+
+ Binary
+
+
+ Off
+
+
+ On
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ Application.myapp
+ True
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+ VbMyResourcesResXFileCodeGenerator
+ Resources.Designer.vb
+ My.Resources
+ Designer
+
+
+
+
+ MyApplicationCodeGenerator
+ Application.Designer.vb
+
+
+ SettingsSingleFileGenerator
+ My
+ Settings.Designer.vb
+
+
+
+
\ No newline at end of file
diff --git a/State/UserState.vb b/State/UserState.vb
new file mode 100644
index 00000000..ffe668e5
--- /dev/null
+++ b/State/UserState.vb
@@ -0,0 +1,33 @@
+Imports System.Threading
+Imports System.Environment
+
+Namespace State
+ '''
+ ''' Helper Class to hold User State
+ '''
+ Public Class UserState
+ Public Property UserId As Integer
+ Public Property UserName As String
+ Public Property Surname As String
+ Public Property GivenName As String
+ Public Property ShortName As String
+ Public Property Email As String
+ Public Property MachineName As String
+ Public Property DateFormat As String
+ Public Property Language As String
+ Public Property LanguageID As Int16
+ Public Property IsAdmin As Boolean = False
+
+ Public Property HideBasicConfig As Boolean = False
+
+ '''
+ ''' Initialize user object with values that can be read from the environment
+ '''
+ Public Sub New()
+ Language = Thread.CurrentThread.CurrentCulture.Name
+ UserName = Environment.UserName
+ MachineName = Environment.MachineName
+ End Sub
+ End Class
+End Namespace
+