9 Commits

Author SHA1 Message Date
Developer01
5b302d8673 Push mit allen Modules 2025-10-02 14:35:25 +02:00
Developer01
ca962fba9b EDMI API 2025-10-02 12:32:16 +02:00
Developer01
89b05d5f78 Update auf .NET 8 2025-10-01 15:17:45 +02:00
Developer01
2332f64748 Bin und Debug 2025-09-19 13:06:44 +02:00
Developer01
3901fdc3a5 Stage Commit 2025-09-19 13:05:04 +02:00
Developer01
c16401c7d6 Include Database/bin folder 2025-09-19 12:59:32 +02:00
Developer01
e13434ccff GDPicture Update 2025-09-18 16:37:05 +02:00
Developer01
e9427b35be ViewDocument before GDPicture Update 2025-09-17 14:05:04 +02:00
Developer01
51798a28f5 ViewDocument xrechnung 2025-09-17 10:38:54 +02:00
1143 changed files with 3079123 additions and 1811 deletions

View File

@@ -1,183 +0,0 @@
# .NET 8.0 Upgrade Plan
## Execution Steps
Execute steps below sequentially one by one in the order they are listed.
1. Validate that an .NET 8.0 SDK required for this upgrade is installed on the machine and if not, help to get it installed.
2. Ensure that the SDK version specified in global.json files is compatible with the .NET 8.0 upgrade.
3. Upgrade Logging\Logging.vbproj.
4. Upgrade Encryption\Encryption.vbproj.
5. Upgrade Base\Base.vbproj.
6. Upgrade ZooFlow\ZooFlow.vbproj.
7. Upgrade Interfaces\Interfaces.vbproj.
8. Upgrade Database\Database.vbproj.
9. Upgrade Config\Config.vbproj.
10. Upgrade Filesystem\Filesystem.vbproj.
11. Upgrade Messaging\Messaging.vbproj.
12. Upgrade Windream\Windream.vbproj.
13. Upgrade Windows\Windows.vbproj.
14. Upgrade Patterns\Patterns.vbproj.
15. Upgrade License\License.vbproj.
16. Upgrade Jobs\Jobs.vbproj.
17. Upgrade EDMIAPI\EDMI.API.vbproj.
## Settings
This section contains settings and data used by execution steps.
### Excluded projects
Keine Projekte ausgeschlossen.
### Aggregate NuGet packages modifications across all projects
NuGet packages used across all selected projects or their dependencies that need version update in projects that reference them.
| Package Name | Current Version | New Version | Description |
|:-------------------------------------------|:---------------:|:-----------:|:----------------------------------------------------------------------------|
| DigitalData.Modules.Logging | 2.6.5 | | No supported .NET 8 compatible package available; evaluate replacement. |
| EntityFramework | 6.4.4 | 6.5.1 | Required newer EF 6.5.1 for .NET 8 compatibility and LTS support. |
| EntityFramework.Firebird | 6.4.0 | 10.1.0 | Update to Firebird 10.1.0 for .NET 8 compatibility. |
| GdPicture | 14.3.18 | 14.2.100 | Use 14.2.100 as recommended compatible build. |
| Microsoft.Identity.Client | 4.55.0 | 4.79.2 | Security vulnerability fix and current MSAL LTS recommendation. |
| Microsoft.IdentityModel.Abstractions | 6.22.0 | 8.15.0 | Move to latest IdentityModel LTS version. |
| Microsoft.VisualBasic | 10.3.0 | | Functionality provided by .NET 8 framework reference; remove package. |
| Newtonsoft.Json | 13.0.3 | 13.0.4 | Bring Newtonsoft.Json to supported patch level. |
| S22.Imap | 3.6.0.0 | | No supported .NET 8 compatible package available; evaluate alternative. |
| System.Buffers | 4.6.0 | | Functionality provided by .NET 8 framework reference; remove package. |
| System.Data.Odbc | 6.0.1 | 8.0.1 | Update to provider version aligned with .NET 8. |
| System.Memory | 4.6.0 | | Functionality provided by .NET 8 framework reference; remove package. |
| System.Numerics.Vectors | 4.6.0 | | Functionality provided by .NET 8 framework reference; remove package. |
| System.Runtime.CompilerServices.Unsafe | 6.1.0 | 6.1.2 | Align with latest patch to match .NET 8 dependencies. |
| System.Threading.Tasks.Extensions | 4.5.4 | | Functionality provided by .NET 8 framework reference; remove package. |
| System.ValueTuple | 4.5.0 | | Functionality provided by .NET 8 framework reference; remove package. |
### Project upgrade details
#### Logging/Logging.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0`.
- Convert the project file to SDK-style format.
#### Encryption/Encryption.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0`.
- Convert the project file to SDK-style format.
#### Base/Base.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0-windows`.
- Convert the project file to SDK-style format.
#### ZooFlow/ZooFlow.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0-windows`.
- Convert the project file to SDK-style format.
#### Interfaces/Interfaces.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0`.
- Convert the project file to SDK-style format.
NuGet packages changes:
- Update `GdPicture` from `14.3.18` to `14.2.100` (compatibility recommendation).
- Update `Newtonsoft.Json` from `13.0.3` to `13.0.4`.
- Update `System.Runtime.CompilerServices.Unsafe` from `6.1.0` to `6.1.2`.
- Remove `Microsoft.VisualBasic`, `System.Buffers`, `System.Memory`, `System.Numerics.Vectors`, `System.Threading.Tasks.Extensions`, and `System.ValueTuple` because their APIs are provided by the .NET 8 framework.
#### Database/Database.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0`.
- Convert the project file to SDK-style format.
NuGet packages changes:
- Update `EntityFramework.Firebird` from `6.4.0` to `10.1.0`.
- Update `EntityFramework` from `6.4.4` to `6.5.1`.
- Update `System.Data.Odbc` from `6.0.1` to `8.0.1`.
#### Config/Config.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0-windows`.
- Convert the project file to SDK-style format.
NuGet packages changes:
- Update `EntityFramework.Firebird` from `6.4.0` to `10.1.0`.
- Update `EntityFramework` from `6.4.4` to `6.5.1`.
- Update `System.Data.Odbc` from `6.0.1` to `8.0.1`.
#### Filesystem/Filesystem.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0`.
- Convert the project file to SDK-style format.
#### Messaging/Messaging.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0-windows`.
- Convert the project file to SDK-style format.
NuGet packages changes:
- `DigitalData.Modules.Logging` 2.6.5 has no supported .NET 8 version; evaluate migrating to an updated logging package.
- `S22.Imap` 3.6.0.0 has no supported .NET 8 version; evaluate replacement.
- Update `Microsoft.Identity.Client` from `4.55.0` to `4.79.2` (security fix).
- Update `Microsoft.IdentityModel.Abstractions` from `6.22.0` to `8.15.0`.
#### Windream/Windream.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0`.
- Convert the project file to SDK-style format.
NuGet packages changes:
- `DigitalData.Modules.Logging` 2.6.5 has no supported .NET 8 version; evaluate migrating to an updated logging package.
#### Windows/Windows.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0-windows`.
- Convert the project file to SDK-style format.
NuGet packages changes:
- `DigitalData.Modules.Logging` 2.6.5 has no supported .NET 8 version; evaluate migrating to an updated logging package.
#### Patterns/Patterns.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0-windows`.
- Convert the project file to SDK-style format.
NuGet packages changes:
- `DigitalData.Modules.Logging` 2.6.5 has no supported .NET 8 version; evaluate migrating to an updated logging package.
#### License/License.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0`.
- Convert the project file to SDK-style format.
#### Jobs/Jobs.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0`.
- Convert the project file to SDK-style format.
NuGet packages changes:
- Update `GdPicture` from `14.3.18` to `14.2.100`.
- Update `Newtonsoft.Json` from `13.0.3` to `13.0.4`.
- Update `System.Runtime.CompilerServices.Unsafe` from `6.1.0` to `6.1.2`.
- Remove `Microsoft.VisualBasic`, `System.Buffers`, `System.Memory`, `System.Numerics.Vectors`, `System.Threading.Tasks.Extensions`, and `System.ValueTuple` because their APIs are provided by the .NET 8 framework.
#### EDMIAPI/EDMI.API.vbproj modifications
Project properties changes:
- Target framework should be changed from `.NETFramework,Version=v4.6.2` to `net8.0`.
- Convert the project file to SDK-style format.

13
.gitignore vendored
View File

@@ -14,16 +14,16 @@
*.userprefs *.userprefs
# Build results # Build results
[Dd]ebug/ #[Dd]ebug/
[Dd]ebugPublic/ [Dd]ebugPublic/
[Rr]elease/ #[Rr]elease/
[Rr]eleases/ [Rr]eleases/
x64/ x64/
x86/ x86/
[Aa][Rr][Mm]/ [Aa][Rr][Mm]/
[Aa][Rr][Mm]64/ [Aa][Rr][Mm]64/
bld/ bld/
[Bb]in/ #[Bb]in/
[Oo]bj/ [Oo]bj/
[Ll]og/ [Ll]og/
@@ -337,4 +337,9 @@ ASALocalRun/
.localhistory/ .localhistory/
# BeatPulse healthcheck temp database # BeatPulse healthcheck temp database
healthchecksdb healthchecksdb
/Logging.Test/bin/Debug
/Mailfunctions/bin/Debug
/Base.Test/bin/Debug/net6.0
/Database.Test/bin/Debug/net6.0
/Filesystem_ONLYDLL/bin/Debug

View File

@@ -1,73 +1,31 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<OutputType>Library</OutputType>
<RootNamespace>DigitalData.Modules.Base</RootNamespace> <RootNamespace>DigitalData.Modules.Base</RootNamespace>
<AssemblyName>DigitalData.Modules.Base</AssemblyName> <TargetFramework>net8.0-windows</TargetFramework>
<MyType>Windows</MyType>
<UseWindowsForms>true</UseWindowsForms> <UseWindowsForms>true</UseWindowsForms>
<ImportWindowsDesktopTargets>true</ImportWindowsDesktopTargets> <AssemblyName>DigitalData.Modules.Base</AssemblyName>
<ImplicitUsings>enable</ImplicitUsings>
<PostBuildEvent>powershell.exe -command "&amp; { &amp;'$(SolutionDir)copy-binary.ps1' '$(TargetPath)' '$(TargetFileName)' '$(ConfigurationName)' '$(ProjectName)' }"</PostBuildEvent>
<AssemblyTitle>Modules.Base</AssemblyTitle>
<Description>basisfunktionalitäten für DigitalData Anwendungen</Description>
<Company>Digital Data GmbH</Company> <Company>Digital Data GmbH</Company>
<Product>Modules.</Product> <AssemblyTitle>Provides baseclasses, methods and constants for DD Products</AssemblyTitle>
<Copyright>Copyright © 2025</Copyright> <AssemblyVersion>1.3.9</AssemblyVersion>
<AssemblyVersion>1.3.9.0</AssemblyVersion> <FileVersion>1.3.9</FileVersion>
<FileVersion>1.3.9.0</FileVersion> <Title>$(AssemblyName)</Title>
</PropertyGroup> <Product>$(AssemblyName)</Product>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DocumentationFile>DigitalData.Modules.Base.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DefineDebug>false</DefineDebug>
<DocumentationFile>DigitalData.Modules.Base.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="NLog" Version="5.0.5" /> <PackageReference Include="NLog" Version="6.0.4" />
<PackageReference Include="NuGet.CommandLine" Version="6.13.2" /> <PackageReference Include="System.Configuration.ConfigurationManager" Version="9.0.9" />
<PackageReference Include="Microsoft.AspNetCore.SystemWebAdapters" Version="2.2.1" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="10.0.1" />
<PackageReference Include="CoreWCF.Primitives" Version="1.8.0" />
<PackageReference Include="CoreWCF.ConfigurationManager" Version="1.8.0" />
<PackageReference Include="CoreWCF.Http" Version="1.8.0" />
<PackageReference Include="CoreWCF.WebHttp" Version="1.8.0" />
<PackageReference Include="CoreWCF.NetTcp" Version="1.8.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Import Include="System.Data" /> <ProjectReference Include="..\Logging_.NET8\Logging_.NET8.vbproj" />
<Import Include="DigitalData.Modules.Logging" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Update="My Project\Application.Designer.vb"> <None Update="MyProject\Settings.settings">
<AutoGen>True</AutoGen> <Generator>SettingsSingleFileGenerator</Generator>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Update="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Update="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Update="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None> </None>
</ItemGroup> </ItemGroup>
<ItemGroup>
<Content Include="README.txt" /> </Project>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Logging\Logging.vbproj" />
</ItemGroup>
</Project>

View File

@@ -1,4 +1,4 @@
Imports DigitalData.Modules.Logging Imports Digitaldata.Modules.Logging
''' <summary> ''' <summary>
''' BaseClass that sets up a Logger. ''' BaseClass that sets up a Logger.

View File

@@ -1,4 +1,6 @@
Public Class DatabaseEx Imports System.Data
Public Class DatabaseEx
''' <summary> ''' <summary>
''' TODO: Deprecate ''' TODO: Deprecate
''' Checks a Row value for three different `null` values, ''' Checks a Row value for three different `null` values,

View File

@@ -1,6 +1,6 @@
Imports System.IO Imports System.IO
Imports System.IO.Compression Imports System.IO.Compression
Imports DigitalData.Modules.Logging Imports Digitaldata.Modules.Logging
Public Class Compression Public Class Compression
Private ReadOnly _logger As Logger Private ReadOnly _logger As Logger

View File

@@ -1,7 +1,7 @@
Imports System.IO Imports System.IO
Imports System.Security.Cryptography Imports System.Security.Cryptography
Imports System.Text.Encoding Imports System.Text.Encoding
Imports DigitalData.Modules.Logging Imports Digitaldata.Modules.Logging
''' <summary> ''' <summary>
''' https://stackoverflow.com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp ''' https://stackoverflow.com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp

View File

@@ -1,6 +1,6 @@
Imports System.IO Imports System.IO
Imports DigitalData.Modules.Base.FileWatcherFilters Imports DigitalData.Modules.Base.FileWatcherFilters
Imports DigitalData.Modules.Logging Imports Digitaldata.Modules.Logging
Public Class FileWatcher Public Class FileWatcher

View File

@@ -1,4 +1,4 @@
Imports DigitalData.Modules.Logging Imports Digitaldata.Modules.Logging
Imports System.IO Imports System.IO
Imports System.Security.Cryptography Imports System.Security.Cryptography
Imports System.Text Imports System.Text

View File

@@ -1,6 +1,6 @@
Imports System.Globalization Imports System.Globalization
Imports System.Threading Imports System.Threading
Imports DigitalData.Modules.Logging Imports Digitaldata.Modules.Logging
''' <summary> ''' <summary>
''' Functions relating to i18n, Cultures, Translations ''' Functions relating to i18n, Cultures, Translations

View File

@@ -1,4 +1,4 @@
Imports DigitalData.Modules.Logging Imports Digitaldata.Modules.Logging
Public Class MimeEx Public Class MimeEx
Inherits BaseClass Inherits BaseClass

View File

@@ -1,4 +1,5 @@
Imports System.Runtime.CompilerServices Imports System.Data
Imports System.Runtime.CompilerServices
Imports System.Web Imports System.Web
Public Module ModuleExtensions Public Module ModuleExtensions

View File

@@ -1,9 +0,0 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
<Assembly: AssemblyTrademark("1.3.9.0")>
<Assembly: ComVisible(False)>
'Die folgende GUID wird für die typelib-ID verwendet, wenn dieses Projekt für COM verfügbar gemacht wird.
<Assembly: Guid("f097830c-82fe-4cd0-8df6-e458522c1ddd")>

View File

@@ -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
'<Assembly: AssemblyTitle("Modules.Base")>
'<Assembly: AssemblyDescription("basisfunktionalitäten für DigitalData Anwendungen")>
'<Assembly: AssemblyCompany("Digital Data GmbH")>
'<Assembly: AssemblyProduct("Modules.")>
''<Assembly: AssemblyCopyright("Copyright © 2025")>
'<Assembly: AssemblyTrademark("1.3.9.0")>
<Assembly: ComVisible(False)>
'Die folgende GUID wird für die typelib-ID verwendet, wenn dieses Projekt für COM verfügbar gemacht wird.
<Assembly: Guid("f097830c-82fe-4cd0-8df6-e458522c1ddd")>
' 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:
' <Assembly: AssemblyVersion("1.0.*")>
'<Assembly: AssemblyVersion("1.3.9.0")>
'<Assembly: AssemblyFileVersion("1.3.9.0")>

View File

@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true"> <SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles> <Profiles>
<Profile Name="(Default)" /> <Profile Name="Default" />
</Profiles> </Profiles>
<Settings /> <Settings />
</SettingsFile> </SettingsFile>

View File

@@ -1,8 +1,9 @@
Imports System Imports System
Imports System.Drawing Imports System.Drawing
Imports System.Runtime.InteropServices Imports System.Runtime.InteropServices
Imports Digitaldata.Modules.Base.NativeMethods
Imports System.Windows.Forms Imports System.Windows.Forms
Imports DigitalData.Modules.Base.NativeMethods
Public Class ScreenEx Public Class ScreenEx
Public Const DEFAULT_WINDOW_HEIGHT = 480 Public Const DEFAULT_WINDOW_HEIGHT = 480

View File

@@ -1,5 +1,5 @@
Imports System.Globalization Imports System.Globalization
Imports DigitalData.Modules.Logging Imports Digitaldata.Modules.Logging
Public Class StringFunctions Public Class StringFunctions
Public Shared Function SplitText_Length(ByVal input As String, ByVal maxLength As Integer) As List(Of String) Public Shared Function SplitText_Length(ByVal input As String, ByVal maxLength As Integer) As List(Of String)

View File

@@ -1,5 +1,6 @@
Imports System.ComponentModel Imports System.ComponentModel
Imports System.Runtime.InteropServices Imports System.Runtime.InteropServices
Imports Digitaldata.Modules.Logging
Imports DigitalData.Modules.Base.NativeMethods Imports DigitalData.Modules.Base.NativeMethods
Public Class WindowsEx Public Class WindowsEx

View File

@@ -0,0 +1,136 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"DigitalData.Modules.Base/1.0.0": {
"dependencies": {
"DigitalData.Modules.Logging": "1.0.0",
"NLog": "6.0.4",
"System.Configuration.ConfigurationManager": "9.0.9",
"DigitalData.Modules.Logging.Reference": "2.0.0.0"
},
"runtime": {
"DigitalData.Modules.Base.dll": {}
}
},
"NLog/6.0.4": {
"runtime": {
"lib/netstandard2.1/NLog.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.4.4534"
}
}
},
"System.Configuration.ConfigurationManager/9.0.9": {
"dependencies": {
"System.Diagnostics.EventLog": "9.0.9",
"System.Security.Cryptography.ProtectedData": "9.0.9"
},
"runtime": {
"lib/net8.0/System.Configuration.ConfigurationManager.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
}
},
"System.Diagnostics.EventLog/9.0.9": {
"runtime": {
"lib/net8.0/System.Diagnostics.EventLog.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
},
"runtimeTargets": {
"runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "0.0.0.0"
},
"runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
}
},
"System.Security.Cryptography.ProtectedData/9.0.9": {
"runtime": {
"lib/net8.0/System.Security.Cryptography.ProtectedData.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
}
},
"DigitalData.Modules.Logging/1.0.0": {
"dependencies": {
"NLog": "6.0.4",
"System.Configuration.ConfigurationManager": "9.0.9"
},
"runtime": {
"DigitalData.Modules.Logging.dll": {
"fileVersion": "0.0.0.0"
}
}
},
"DigitalData.Modules.Logging.Reference/2.0.0.0": {
"runtime": {
"DigitalData.Modules.Logging.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.0.0.0"
}
}
}
}
},
"libraries": {
"DigitalData.Modules.Base/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"NLog/6.0.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Xr+lIk1ZlTTFXEqnxQVLxrDqZlt2tm5X+/AhJbaY2emb/dVtGDiU5QuEtj3gHtwV/SWlP/rJ922I/BPuOJXlRw==",
"path": "nlog/6.0.4",
"hashPath": "nlog.6.0.4.nupkg.sha512"
},
"System.Configuration.ConfigurationManager/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Q1LknxnRmmsUXt/ElBp739Gexppy0HeDYxvExpJq09jAYhpTHRRRkZIwfNKfM4BGRlFzRDVdnerZawxoE8naMg==",
"path": "system.configuration.configurationmanager/9.0.9",
"hashPath": "system.configuration.configurationmanager.9.0.9.nupkg.sha512"
},
"System.Diagnostics.EventLog/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-wpsUfnyv8E5K4WQaok6weewvAbQhcLwXFcHBm5U0gdEaBs85N//ssuYvRPFWwz2rO/9/DFP3A1sGMzUFBj8y3w==",
"path": "system.diagnostics.eventlog/9.0.9",
"hashPath": "system.diagnostics.eventlog.9.0.9.nupkg.sha512"
},
"System.Security.Cryptography.ProtectedData/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-XN37933FTzEkqGJoOTunvnvzAv/4VO/9wQ0QwsGcrR5KyQpYT0z4Ssm+f+fpY9bea6srypFp3JjNPHHC26xzLw==",
"path": "system.security.cryptography.protecteddata/9.0.9",
"hashPath": "system.security.cryptography.protecteddata.9.0.9.nupkg.sha512"
},
"DigitalData.Modules.Logging/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"DigitalData.Modules.Logging.Reference/2.0.0.0": {
"type": "reference",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

View File

@@ -0,0 +1,361 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Base
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Base.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Base.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Base.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Base.BaseClass">
<summary>
BaseClass that sets up a Logger.
</summary>
</member>
<member name="T:DigitalData.Modules.Base.Encryption">
<summary>
https://stackoverflow.com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp
</summary>
</member>
<member name="M:DigitalData.Modules.Base.DatabaseEx.NotNull``1(System.Data.DataRow,System.String,``0)">
<summary>
TODO: Deprecate
Checks a Row value for three different `null` values,
Nothing, Empty String, DBNull
Returns the original value if the value is not null, or `defaultValue`
</summary>
<typeparam name="T">The type of the value</typeparam>
<param name="pRow">The DataRow that contains the value</param>
<param name="pColumn">The column name</param>
<param name="pDefaultValue">The default value</param>
<returns>The original value or the default value</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.GetChecksum(System.String)">
<summary>
Reads the file at `FilePath` and computes a SHA256 Hash from its contents
</summary>
<param name="FilePath"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.GetVersionedFilename(System.String)">
<summary>
Adds file version string to given filename `Destination` if that file already exists.
</summary>
<param name="pFilePath">Filepath to check</param>
<returns>Versioned string</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.GetVersionedFilenameWithFilecheck(System.String,System.Func{System.String,System.Boolean})">
<summary>
Adds file version string to given filename `Destination` if that file already exists.
</summary>
<param name="pFilePath">Filepath to check</param>
<param name="pFileExistsAction">Custom action to check for file existence</param>
<returns>Versioned string</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.GetVersionedString(System.String)">
<summary>
Split String at version separator to:
check if string is already versioned,
get the string version of an already versioned string
</summary>
<example>
Examples:
test1.pdf --> test1 --> ['test1'] --> no fileversion
test1~2.pdf --> test1~2 --> ['test1', '2'] --> version 2
test1~12345~2.pdf --> test1~12345~2 --> ['test1', '12345', '2'] --> still version 2
somestring~3 --> somestring~3 --> ['somestring', '3'] --> version 3
</example>
<param name="pString">The string to versioned</param>
<returns>Tuple of string and version</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.RemoveFiles(System.String,System.Int32,System.String,System.String,System.Boolean)">
<summary>
Removes files in a directory filtered by filename, extension and last write date
</summary>
<param name="Path">The directory in which files will be deleted</param>
<param name="FileKeepTime">Only delete files which are older than x days. Must be between 0 and 1000 days.</param>
<param name="FileBaseName">A filename filter which will be checked</param>
<param name="FileExtension">A file extension which will be checked</param>
<param name="ContinueOnError">Should the function continue with deleting when a file could not be deleted?</param>
<returns>True if all files were deleted or if no files were deleted, otherwise false</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.CopyDirectory(System.String,System.String,System.Boolean)">
<summary>
Copied from https://docs.microsoft.com/en-us/dotnet/standard/io/how-to-copy-directories
</summary>
<param name="SourceDirName"></param>
<param name="DestDirName"></param>
<param name="CopySubDirs"></param>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.CreateDirectory(System.String,System.Boolean)">
<summary>
Tries to create a directory and returns its path.
Returns a temp path if `DirectoryPath` can not be created or written to.
</summary>
<param name="DirectoryPath">The directory to create</param>
<param name="TestWriteAccess">Should a write access test be performed?</param>
<returns>The used path</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.TestFileIsLocked(System.String)">
<summary>
Checks if a file is locked, ie. in use by another process.
</summary>
<remarks>
https://docs.microsoft.com/en-us/dotnet/standard/io/handling-io-errors
https://stackoverflow.com/questions/876473/is-there-a-way-to-check-if-a-file-is-in-use
</remarks>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.TestFileSizeIsLessThanMaxFileSize(System.String,System.Int32)">
<summary>
Checks the size of the supplied file.
</summary>
<param name="pFilePath"></param>
<param name="pMaxFileSizeInMegaBytes"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.FileWatcher.HandleFileChanged(System.Object,System.IO.FileSystemEventArgs)">
<summary>
This may fire twice for a single save operation,
see: https://blogs.msdn.microsoft.com/oldnewthing/20140507-00/?p=1053/
</summary>
</member>
<member name="T:DigitalData.Modules.Base.FileWatcherFilters">
<summary>
Built-in filters for FileWatcher that are useful for correctly detecting changes on Office documents (currently Office 2016)
</summary>
</member>
<member name="T:DigitalData.Modules.Base.FileWatcherFilters.BaseFileFilter">
<summary>
Base Filter that all filters must inherit from
Provides two functions that may be overridden and some useful file extension lists
</summary>
</member>
<member name="T:DigitalData.Modules.Base.FileWatcherFilters.TempFileFilter">
<summary>
Simple Filter that filters changes made on temporary files
</summary>
</member>
<member name="T:DigitalData.Modules.Base.FileWatcherFilters.OfficeFileFilter">
<summary>
Filter to detect changes on Office files
</summary>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.Truncate(System.String,System.Int32)">
<summary>
Truncates a string to the specified length if it exceeds that length.
</summary>
<param name="pString">The string</param>
<param name="pLength">The maximum string length</param>
<returns>The truncated string</returns>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.EscapeForSQL(System.String)">
<summary>
Replaces single quotes in text for SQL Commands.
</summary>
<param name="pString">The string</param>
<returns>The escaped string.</returns>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.ToBoolean(System.String)">
<summary>
Converts a string to boolean. Accepts true and 1 as truthy values
</summary>
<param name="pString">The input string</param>
<returns>True if input is true or 1, otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.IsNullOrEmpty(System.String)">
<summary>
Checks if a string is null or empty
</summary>
<param name="pString">The input string</param>
<returns>True string is null or empty, otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.IsNotNullOrEmpty(System.String)">
<summary>
Checks if a string is NOT null or empty
</summary>
<param name="pString">The input string</param>
<returns>True string is null or empty, otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.GetChecksumFromFileContents(System.String)">
<summary>
Reads the file at `FilePath` and computes a SHA256 Hash from its contents
</summary>
<param name="pFilePath"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.GetDateDirectory(System.String,System.DateTime)">
<summary>
Returns a Dictionary path in the form of [Base]\[Year]\[Month]\[Day]
</summary>
<param name="pBaseDirectory">The basedirectory</param>
<param name="pDate">The date to be used</param>
<returns>The final directory path</returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.GetDateDirectory(System.String)">
<summary>
Returns a Dictionary path in the form of [Base]\[Year]\[Month]\[Day] based on the current date
</summary>
<param name="pBaseDirectory">The basedirectory</param>
<returns>The final directory path</returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.CreateDateDirectory(System.String,System.DateTime)">
<summary>
Creates a Dictionary in the form of [Base]\[Year]\[Month]\[Day]
</summary>
<param name="pBaseDirectory">The basedirectory</param>
<param name="pDate">The date to be used</param>
<returns>The created path. If the directory cannot be created, Nothing.</returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.CreateDateDirectory(System.String)">
<summary>
Creates a Dictionary in the form of [Base]\[Year]\[Month]\[Day] based on the current date
</summary>
<param name="pBaseDirectory">The basedirectory</param>
<returns>The created path. If the directory cannot be created, Nothing.</returns>
</member>
<member name="M:DigitalData.Modules.Base.ObjectEx.NotNull``1(``0,``0)">
<summary>
Checks a value for three different `null` values,
Nothing, Empty String, DBNull
Returns the original value if the value is not null, or `defaultValue`
</summary>
<typeparam name="T">The type of the value</typeparam>
<param name="value">The value</param>
<param name="defaultValue">The default Value</param>
<returns>The original value or the default value</returns>
</member>
<member name="M:DigitalData.Modules.Base.ObjectEx.ToEnum``1(System.String)">
<summary>
Converts a String value to the given Enum
</summary>
<typeparam name="T">The Enum Type</typeparam>
<param name="value">The string value to convert</param>
</member>
<member name="M:DigitalData.Modules.Base.ObjectEx.ToEnum``1(System.Int32)">
<summary>
Converts an Integer value to the given Enum
</summary>
<typeparam name="T">The Enum Type</typeparam>
<param name="value">The integer value to convert</param>
</member>
<member name="M:DigitalData.Modules.Base.ObjectEx.ToEnum``1(System.Int64)">
<summary>
Converts a Long value to the given Enum
</summary>
<typeparam name="T">The Enum Type</typeparam>
<param name="value">The long value to convert</param>
</member>
<member name="M:DigitalData.Modules.Base.GraphicsEx.GetBrightness(System.Drawing.Color)">
<summary>
Returns the brightness of a color as a number between 0 and 1
</summary>
<param name="pColor">The color to check</param>
<returns>Low values for dark colors, high values for bright colors.</returns>
</member>
<member name="M:DigitalData.Modules.Base.GraphicsEx.GetContrastedColor(System.Drawing.Color)">
<summary>
Returns a foreground/text color of either black or white, depending on the brightness of `pOtherColor`
</summary>
<param name="pOtherColor">The Background color whose brightness is determined</param>
<returns>A text color which is either white or black</returns>
</member>
<member name="T:DigitalData.Modules.Base.LanguageEx">
<summary>
Functions relating to i18n, Cultures, Translations
</summary>
</member>
<member name="M:DigitalData.Modules.Base.LanguageEx.SetApplicationLanguage(DigitalData.Modules.Logging.Logger,System.String,System.String)">
<summary>
Sets the Language of the current thread by setting CurrentCulture and CurrentUICulture
</summary>
<param name="pLogger">A Logger instance</param>
<param name="pUserLanguage">A language code in the form of 'de-DE'</param>
<param name="pUserDateFormat">A custom date pattern</param>
</member>
<member name="M:DigitalData.Modules.Base.LanguageEx.LogApplicationLanguage(DigitalData.Modules.Logging.Logger)">
<summary>
Logs the culture settings of the current thread
</summary>
<param name="pLogger">A Logger instance</param>
</member>
<member name="M:DigitalData.Modules.Base.ScreenEx.IsVisibleOnAnyScreen(System.Drawing.Point)">
<summary>
Checks if a point is Visible on any screen
</summary>
</member>
<member name="M:DigitalData.Modules.Base.ScreenEx.SizeIsVisible(System.Drawing.Size)">
<summary>
Checks if Size is not negative
</summary>
</member>
<member name="M:DigitalData.Modules.Base.ScreenEx.LocationIsVisible(System.Drawing.Point)">
<summary>
Checks if Location is not negative
</summary>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.ConvertTextToSlug(System.String)">
<summary>
Creates a "slug" from text that can be used as part of a valid URL.
Invalid characters are converted to hyphens. Punctuation that Is
perfect valid in a URL Is also converted to hyphens to keep the
result mostly text. Steps are taken to prevent leading, trailing,
And consecutive hyphens.
</summary>
<param name="s">The string to convert</param>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.RemoveInvalidCharacters(System.String)">
<summary>
Removes Invalid characters from a string, suitable for file and path names
Removed characters are:
* Illegal File-characters
* Illegal Path-characters
* Unicode characters that classify as Emoji
* All characters above codepoint U+10000
See:
https://stackoverflow.com/questions/46905176/detecting-all-emojis
https://stackoverflow.com/questions/28023682/how-do-i-remove-emoji-characters-from-a-string
</summary>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.GetShortGUID">
<summary>
Generates a random short (8 characters) guid
</summary>
<returns>The generated guid as a String</returns>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.TestContainsInvalidCharacters(System.String)">
<summary>
Checks if string contains invalid characters
</summary>
<param name="pString"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.GetChecksum(System.String)">
<summary>
Creates a hash using the SHA256 algorithm and returns it
</summary>
<param name="pStringToCheck">Any string</param>
<returns></returns>
</member>
</members>
</doc>

Binary file not shown.

View File

@@ -0,0 +1,200 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Logging
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Logging.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Logging.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Logging.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Logging.LogConfig">
<module>LogConfig</module>
<version>0.0.1.0</version>
<date>02.10.2018</date>
<summary>
Module that writes file-logs to different locations:
local application data, the current directory or a custom path.
Files and directories will be automatically created.
</summary>
<dependencies>
NLog, >= 4.5.8
</dependencies>
<example>
Imports DigitalData.Modules.Logging
Class FooProgram
Private Logger as Logger
Private LogConfig as LogConfig
Public Sub New()
LogConfig = new LogConfig(args)
Logger = LogConfig.GetLogger()
End Sub
Public Sub Bar()
Logger.Info("Baz")
End Sub
End Class
Class FooLib
Private Logger as NLog.Logger
Public Sub New(LogConfig as LogConfig)
Logger = LogConfig.GetLogger()
End Sub
Public Sub Bar()
Logger.Info("Baz")
End Sub
End Class
</example>
<remarks>
If logpath can not be written to, falls back to temp folder as defined in:
https://docs.microsoft.com/de-de/dotnet/api/system.io.path.gettemppath?view=netframework-4.7.2
If used in a service, LogPath must be set to CustomPath, otherwise the Log will be written to System32!
For NLog Troubleshooting, set the following Environment variables to write the NLog internal Log:
- NLOG_INTERNAL_LOG_LEVEL: Debug
- NLOG_INTERNAL_LOG_FILE: ex. C:\Temp\Nlog_Internal.log
</remarks>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogFactory">
<summary>
Returns the NLog.LogFactory object that is used to create Loggers
</summary>
<returns>LogFactory object</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogFile">
<summary>
Returns the path to the current default logfile
</summary>
<returns>Filepath to the logfile</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogDirectory">
<summary>
Returns the path to the current log directory
</summary>
<returns>Directory path to the log directory</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.Debug">
<summary>
Determines if a debug log will be written
</summary>
<returns>True, if debug log will be written. False otherwise.</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.Logs">
<summary>
Returns Logs in Memory as List(Of String) if Debug is enabled
Returns an empty list if debug is disabled
</summary>
<returns>A list of log messages</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.#ctor(DigitalData.Modules.Logging.LogOptions)">
<summary>
Initializes a new LogConfig object with the options supplied as a LogOptions object
</summary>
<param name="Options"></param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.#ctor(DigitalData.Modules.Logging.LogConfig.PathType,System.String,System.String,System.String,System.String,System.Int32)">
<summary>
Initializes a new LogConfig object with a logpath and optinally a filename-suffix.
</summary>
<param name="LogPath">The basepath to write logs to. Can be AppData, CurrentDirectory or CustomPath.</param>
<param name="CustomLogPath">If `logPath` is set to custom, this defines the custom logPath.</param>
<param name="Suffix">If set to anything other than Nothing, extends the logfile name with this suffix.</param>
<param name="CompanyName">CompanyName is used to construct log-path in when LogPath is set to PathType:AppData</param>
<param name="ProductName">ProductName is used to construct log-path in when LogPath is set to PathType:AppData</param>
<param name="FileKeepRangeInDays">Amount of days where files are kept and not deleted.</param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ClearOldLogfiles(System.Int32)">
<summary>
Clears old LogFiles from the configured logpath for compliance with the GDPR
</summary>
<param name="FileKeepRange">Days in which logfiles should be kept. All files older than `Now - FileKeepInterval` will be deleted.</param>
<returns>True, if files were deleted as expected or no files were deleted. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger">
<summary>
Returns the Logger for the calling class
</summary>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger(System.String)">
<summary>
Returns the Logger for the specified classname
</summary>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLoggerFor(System.String)">
<summary>
Returns the Logger for the specified module using event-properties
</summary>
<remarks>
https://github.com/NLog/NLog/wiki/EventProperties-Layout-Renderer
https://stackoverflow.com/questions/31337030/separate-log-file-for-specific-class-instance-using-nlog/32065824#32065824
</remarks>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger(System.String,System.String)">
<summary>
Returns the Logger for a class specified by `ClassName`
</summary>
<param name="ClassName">The name of the class the logger belongs to</param>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ClearLogs">
<summary>
Clears the internal log
</summary>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetClassFullName(System.Boolean,System.Int32)">
<summary>
Gets the fully qualified name of the class invoking the calling method,
including the namespace but Not the assembly.
</summary>
<returns>The fully qualified class name</returns>
<remarks>This method is very resource-intensive!</remarks>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetConfig(System.String,System.String)">
<summary>
Returns the initial log configuration
</summary>
<param name="productName">The chosen productname</param>
<param name="logFileSuffix">The chosen suffix</param>
<returns>A NLog.LoggingConfiguration object</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.AddDefaultRules(NLog.Config.LoggingConfiguration@)">
<summary>
Adds the default rules
</summary>
<param name="config">A NLog.LoggingConfiguration object</param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetCurrentLogFilePath">
<summary>
Returns the full path of the current default log file.
</summary>
<returns>Full path of the current default log file</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ReloadConfig">
<summary>
Reconfigures and re-adds all loggers, optionally adding the debug rule.
</summary>
</member>
</members>
</doc>

BIN
Base/bin/Release/NLog.dll Normal file

Binary file not shown.

28265
Base/bin/Release/NLog.xml Normal file

File diff suppressed because it is too large Load Diff

6
Base/packages.config Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="DigitalData.Modules.Logging" version="2.6.5" targetFramework="net462" />
<package id="NLog" version="5.0.5" targetFramework="net461" />
<package id="NuGet.CommandLine" version="6.13.2" targetFramework="net462" developmentDependency="true" />
</packages>

View File

@@ -1,58 +1,34 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<OutputType>Library</OutputType>
<RootNamespace>DigitalData.Modules.Config</RootNamespace> <RootNamespace>DigitalData.Modules.Config</RootNamespace>
<TargetFramework>net8.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<AssemblyName>DigitalData.Modules.Config</AssemblyName> <AssemblyName>DigitalData.Modules.Config</AssemblyName>
<MyType>Empty</MyType> <Company>Digital Data GmbH</Company>
<ImplicitUsings>enable</ImplicitUsings> <AssemblyTitle>Provides configuration methods for DD Products</AssemblyTitle>
<PostBuildEvent>powershell.exe -command "&amp; { &amp;'$(SolutionDir)copy-binary.ps1' '$(TargetPath)' '$(TargetFileName)' '$(ConfigurationName)' '$(ProjectName)' }"</PostBuildEvent> <AssemblyVersion>1.4.0</AssemblyVersion>
<AssemblyTitle>Modules.Config</AssemblyTitle> <FileVersion>1.4.0</FileVersion>
<Description>Stellt Module für die Konfiguration von Produkten bereit</Description> <Title>$(AssemblyName)</Title>
<Company>Digital Data GmbH, Heuchelheim</Company> <Product>$(AssemblyName)</Product>
<Product>Modules.Config</Product>
<Copyright>Copyright © 2025</Copyright>
<AssemblyVersion>1.3.0.0</AssemblyVersion>
<FileVersion>1.3.0.0</FileVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DocumentationFile>DigitalData.Modules.Config.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DefineDebug>false</DefineDebug>
<DocumentationFile>DigitalData.Modules.Config.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="EntityFramework" Version="6.5.1" /> <PackageReference Include="NLog" Version="6.0.4" />
<PackageReference Include="EntityFramework.Firebird" Version="10.1.0" />
<PackageReference Include="FirebirdSql.Data.FirebirdClient" Version="10.3.2" />
<PackageReference Include="NLog" Version="5.0.5" />
<PackageReference Include="System.Data.Odbc" Version="8.0.1" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="10.0.1" />
<PackageReference Include="CoreWCF.Primitives" Version="1.8.0" />
<PackageReference Include="CoreWCF.ConfigurationManager" Version="1.8.0" />
<PackageReference Include="CoreWCF.Http" Version="1.8.0" />
<PackageReference Include="CoreWCF.WebHttp" Version="1.8.0" />
<PackageReference Include="CoreWCF.NetTcp" Version="1.8.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Import Include="DigitalData.Modules.Logging" />
<Import Include="DigitalData.Modules.Base" />
<Import Include="DigitalData.Modules.Database" />
</ItemGroup>
<ItemGroup>
<Compile Remove="My Project\Application.Designer.vb" />
<Compile Remove="My Project\Resources.Designer.vb" />
<Compile Remove="My Project\Settings.Designer.vb" />
<EmbeddedResource Remove="My Project\Resources.resx" />
<None Remove="My Project\Application.myapp" />
<None Remove="My Project\Settings.settings" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Logging\Logging.vbproj" />
<ProjectReference Include="..\Base\Base.vbproj" /> <ProjectReference Include="..\Base\Base.vbproj" />
<ProjectReference Include="..\Database\Database.vbproj" /> <ProjectReference Include="..\Database\Database.vbproj" />
<ProjectReference Include="..\Encryption\Encryption.vbproj" />
<ProjectReference Include="..\Logging_.NET8\Logging_.NET8.vbproj" />
</ItemGroup> </ItemGroup>
</Project>
<ItemGroup>
<None Update="MyProject\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
</None>
</ItemGroup>
</Project>

View File

@@ -1,4 +1,4 @@
Imports NLog Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
@@ -12,7 +12,7 @@ Public Class ConfigDbFunct
''' <param name="pLogConfig">An instance of LogConfig</param> ''' <param name="pLogConfig">An instance of LogConfig</param>
''' <param name="pConnectionString">Initial connectionstring for connecting to DD_ECM database.</param> ''' <param name="pConnectionString">Initial connectionstring for connecting to DD_ECM database.</param>
''' <returns>LicenseKey, if found, otherwise String.Empty</returns> ''' <returns>LicenseKey, if found, otherwise String.Empty</returns>
Public Shared Function GetProductLicense(pProductName As String, pVersion As String, pLogConfig As Object, pConnectionString As String) As String Public Shared Function GetProductLicense(pProductName As String, pVersion As String, pLogConfig As LogConfig, pConnectionString As String) As String
Dim oLogger As Logger = pLogConfig.GetLogger() Dim oLogger As Logger = pLogConfig.GetLogger()
@@ -36,8 +36,6 @@ Public Class ConfigDbFunct
Dim oDatabase As MSSQLServer = New MSSQLServer(pLogConfig, oDecryptedConnectionString) Dim oDatabase As MSSQLServer = New MSSQLServer(pLogConfig, oDecryptedConnectionString)
Dim oSql As String = "SELECT LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE NAME = '" + pProductName + "' AND ACTIVE = 1 AND VERSION = '" + pVersion + "'" Dim oSql As String = "SELECT LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE NAME = '" + pProductName + "' AND ACTIVE = 1 AND VERSION = '" + pVersion + "'"
oLogger.Debug(String.Format("oSql in GetProductLicense: {0}", oSql))
Return String.Empty
Dim oLicenseString As String = oDatabase.GetScalarValue(oSql) Dim oLicenseString As String = oDatabase.GetScalarValue(oSql)
Return oLicenseString Return oLicenseString

View File

@@ -1,13 +1,9 @@
Imports System.IO Imports System.IO
Imports System.Reflection Imports System.Reflection
Imports System.Xml.Serialization Imports System.Xml.Serialization
Imports DigitalData.Modules.Config Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Config.ConfigAttributes
Imports DigitalData.Modules.Base Imports DigitalData.Modules.Base
Imports ConnectionStringAttribute = DigitalData.Modules.Config.ConfigAttributes.ConnectionStringAttribute
Imports ConnectionStringAppServerAttribute = DigitalData.Modules.Config.ConfigAttributes.ConnectionStringAppServerAttribute
Imports ConnectionStringTestAttribute = DigitalData.Modules.Config.ConfigAttributes.ConnectionStringTestAttribute
Imports EDMIAppServerAttribute = DigitalData.Modules.Config.ConfigAttributes.EDMIAppServerAttribute
Imports GlobalSettingAttribute = DigitalData.Modules.Config.ConfigAttributes.GlobalSettingAttribute
Public Class ConfigManager(Of T) Public Class ConfigManager(Of T)
Public Const USER_CONFIG_NAME As String = "UserConfig.xml" Public Const USER_CONFIG_NAME As String = "UserConfig.xml"
@@ -30,7 +26,6 @@ Public Class ConfigManager(Of T)
Private ReadOnly _Blueprint As T Private ReadOnly _Blueprint As T
Private ReadOnly _BlueprintType As Type Private ReadOnly _BlueprintType As Type
Private ReadOnly _Serializer As XmlSerializer Private ReadOnly _Serializer As XmlSerializer
Private _Config As T
Private ReadOnly _ExcludedAttributes = New List(Of Type) From { Private ReadOnly _ExcludedAttributes = New List(Of Type) From {
GetType(ConnectionStringAttribute), GetType(ConnectionStringAttribute),
@@ -66,10 +61,6 @@ Public Class ConfigManager(Of T)
''' </summary> ''' </summary>
''' <returns></returns> ''' <returns></returns>
Public ReadOnly Property Config As T Public ReadOnly Property Config As T
Get
Return _Config
End Get
End Property
''' <summary> ''' <summary>
''' Path to the current user config. ''' Path to the current user config.
@@ -111,21 +102,18 @@ Public Class ConfigManager(Of T)
''' <param name="ApplicationStartupPath">The path to check for a third config file. This is useful when running the Application in an environment where AppData/ProgramData directories are not available</param> ''' <param name="ApplicationStartupPath">The path to check for a third config file. This is useful when running the Application in an environment where AppData/ProgramData directories are not available</param>
''' <param name="ForceUserConfig">Override values from ComputerConfig with UserConfig</param> ''' <param name="ForceUserConfig">Override values from ComputerConfig with UserConfig</param>
Public Sub New(LogConfig As LogConfig, UserConfigPath As String, ComputerConfigPath As String, Optional ApplicationStartupPath As String = "", Optional ForceUserConfig As Boolean = False) Public Sub New(LogConfig As LogConfig, UserConfigPath As String, ComputerConfigPath As String, Optional ApplicationStartupPath As String = "", Optional ForceUserConfig As Boolean = False)
If LogConfig Is Nothing Then Throw New ArgumentNullException(NameOf(LogConfig))
If String.IsNullOrWhiteSpace(UserConfigPath) Then Throw New ArgumentException("UserConfigPath must be provided", NameOf(UserConfigPath))
_LogConfig = LogConfig _LogConfig = LogConfig
_Logger = LogConfig.GetLogger() _Logger = LogConfig.GetLogger()
_File = New FilesystemEx(_LogConfig) _File = New FilesystemEx(_LogConfig)
_Blueprint = Activator.CreateInstance(Of T)() _Blueprint = Activator.CreateInstance(Of T)
_BlueprintType = _Blueprint.GetType() _BlueprintType = _Blueprint.GetType
_Serializer = New XmlSerializer(_BlueprintType) _Serializer = New XmlSerializer(_BlueprintType)
_UserDirectory = _File.CreateDirectory(UserConfigPath) _UserDirectory = _File.CreateDirectory(UserConfigPath)
_UserConfigPath = Path.Combine(_UserDirectory, USER_CONFIG_NAME) _UserConfigPath = Path.Combine(_UserDirectory, USER_CONFIG_NAME)
If Not String.IsNullOrWhiteSpace(ComputerConfigPath) Then If ComputerConfigPath <> String.Empty Then
If IO.File.Exists(ComputerConfigPath) Then If IO.File.Exists(ComputerConfigPath) Then
_ComputerDirectory = _File.CreateDirectory(ComputerConfigPath, False) _ComputerDirectory = _File.CreateDirectory(ComputerConfigPath, False)
Else Else
@@ -134,9 +122,9 @@ Public Class ConfigManager(Of T)
_ComputerConfigPath = Path.Combine(_ComputerDirectory, COMPUTER_CONFIG_NAME) _ComputerConfigPath = Path.Combine(_ComputerDirectory, COMPUTER_CONFIG_NAME)
End If End If
_AppConfigDirectory = ApplicationStartupPath If ApplicationStartupPath <> String.Empty Then
If Not String.IsNullOrWhiteSpace(ApplicationStartupPath) Then
_AppConfigPath = Path.Combine(ApplicationStartupPath, APP_CONFIG_NAME) _AppConfigPath = Path.Combine(ApplicationStartupPath, APP_CONFIG_NAME)
End If End If
_WriteAllValuesToUserConfig = ForceUserConfig _WriteAllValuesToUserConfig = ForceUserConfig

View File

@@ -1,15 +1,16 @@
Imports System.IO Imports System.IO
Imports NLog Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Logging
Public Class ConfigUtils Public Class ConfigUtils
Private ReadOnly _Logger As Logger Private ReadOnly _Logger As Logger
' Private ReadOnly _File As FilesystemEx Private ReadOnly _File As FilesystemEx
Private Const MIGRATE_DIRECTORY As String = "Migrate" Private Const MIGRATE_DIRECTORY As String = "Migrate"
Public Sub New(Logger As NLog.Logger) Public Sub New(LogConfig As LogConfig)
_Logger = Logger _Logger = LogConfig.GetLogger()
' _File = New FilesystemEx(LogConfig) _File = New FilesystemEx(LogConfig)
End Sub End Sub
''' <summary> ''' <summary>

View File

@@ -0,0 +1,13 @@
'------------------------------------------------------------------------------
' <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 On
Option Explicit On

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>false</MySubMain>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<ApplicationType>1</ApplicationType>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

63
Config/My Project/Resources.Designer.vb generated Normal file
View File

@@ -0,0 +1,63 @@
'------------------------------------------------------------------------------
' <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 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.
'''<summary>
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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.Config.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
End Module
End Namespace

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

73
Config/My Project/Settings.Designer.vb generated Normal file
View File

@@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <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 On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.DigitalData.Modules.Config.My.MySettings
Get
Return Global.DigitalData.Modules.Config.My.MySettings.Default
End Get
End Property
End Module
End Namespace

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

5
Config/README.txt Normal file
View File

@@ -0,0 +1,5 @@
BASE MODULE
===========
This module is intended for often used constants and datastructures.
Therefor it is important that this module does not have any dependencies on other modules!!

Binary file not shown.

View File

@@ -0,0 +1,361 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Base
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Base.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Base.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Base.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Base.BaseClass">
<summary>
BaseClass that sets up a Logger.
</summary>
</member>
<member name="T:DigitalData.Modules.Base.Encryption">
<summary>
https://stackoverflow.com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp
</summary>
</member>
<member name="M:DigitalData.Modules.Base.DatabaseEx.NotNull``1(System.Data.DataRow,System.String,``0)">
<summary>
TODO: Deprecate
Checks a Row value for three different `null` values,
Nothing, Empty String, DBNull
Returns the original value if the value is not null, or `defaultValue`
</summary>
<typeparam name="T">The type of the value</typeparam>
<param name="pRow">The DataRow that contains the value</param>
<param name="pColumn">The column name</param>
<param name="pDefaultValue">The default value</param>
<returns>The original value or the default value</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.GetChecksum(System.String)">
<summary>
Reads the file at `FilePath` and computes a SHA256 Hash from its contents
</summary>
<param name="FilePath"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.GetVersionedFilename(System.String)">
<summary>
Adds file version string to given filename `Destination` if that file already exists.
</summary>
<param name="pFilePath">Filepath to check</param>
<returns>Versioned string</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.GetVersionedFilenameWithFilecheck(System.String,System.Func{System.String,System.Boolean})">
<summary>
Adds file version string to given filename `Destination` if that file already exists.
</summary>
<param name="pFilePath">Filepath to check</param>
<param name="pFileExistsAction">Custom action to check for file existence</param>
<returns>Versioned string</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.GetVersionedString(System.String)">
<summary>
Split String at version separator to:
check if string is already versioned,
get the string version of an already versioned string
</summary>
<example>
Examples:
test1.pdf --> test1 --> ['test1'] --> no fileversion
test1~2.pdf --> test1~2 --> ['test1', '2'] --> version 2
test1~12345~2.pdf --> test1~12345~2 --> ['test1', '12345', '2'] --> still version 2
somestring~3 --> somestring~3 --> ['somestring', '3'] --> version 3
</example>
<param name="pString">The string to versioned</param>
<returns>Tuple of string and version</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.RemoveFiles(System.String,System.Int32,System.String,System.String,System.Boolean)">
<summary>
Removes files in a directory filtered by filename, extension and last write date
</summary>
<param name="Path">The directory in which files will be deleted</param>
<param name="FileKeepTime">Only delete files which are older than x days. Must be between 0 and 1000 days.</param>
<param name="FileBaseName">A filename filter which will be checked</param>
<param name="FileExtension">A file extension which will be checked</param>
<param name="ContinueOnError">Should the function continue with deleting when a file could not be deleted?</param>
<returns>True if all files were deleted or if no files were deleted, otherwise false</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.CopyDirectory(System.String,System.String,System.Boolean)">
<summary>
Copied from https://docs.microsoft.com/en-us/dotnet/standard/io/how-to-copy-directories
</summary>
<param name="SourceDirName"></param>
<param name="DestDirName"></param>
<param name="CopySubDirs"></param>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.CreateDirectory(System.String,System.Boolean)">
<summary>
Tries to create a directory and returns its path.
Returns a temp path if `DirectoryPath` can not be created or written to.
</summary>
<param name="DirectoryPath">The directory to create</param>
<param name="TestWriteAccess">Should a write access test be performed?</param>
<returns>The used path</returns>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.TestFileIsLocked(System.String)">
<summary>
Checks if a file is locked, ie. in use by another process.
</summary>
<remarks>
https://docs.microsoft.com/en-us/dotnet/standard/io/handling-io-errors
https://stackoverflow.com/questions/876473/is-there-a-way-to-check-if-a-file-is-in-use
</remarks>
</member>
<member name="M:DigitalData.Modules.Base.FilesystemEx.TestFileSizeIsLessThanMaxFileSize(System.String,System.Int32)">
<summary>
Checks the size of the supplied file.
</summary>
<param name="pFilePath"></param>
<param name="pMaxFileSizeInMegaBytes"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.FileWatcher.HandleFileChanged(System.Object,System.IO.FileSystemEventArgs)">
<summary>
This may fire twice for a single save operation,
see: https://blogs.msdn.microsoft.com/oldnewthing/20140507-00/?p=1053/
</summary>
</member>
<member name="T:DigitalData.Modules.Base.FileWatcherFilters">
<summary>
Built-in filters for FileWatcher that are useful for correctly detecting changes on Office documents (currently Office 2016)
</summary>
</member>
<member name="T:DigitalData.Modules.Base.FileWatcherFilters.BaseFileFilter">
<summary>
Base Filter that all filters must inherit from
Provides two functions that may be overridden and some useful file extension lists
</summary>
</member>
<member name="T:DigitalData.Modules.Base.FileWatcherFilters.TempFileFilter">
<summary>
Simple Filter that filters changes made on temporary files
</summary>
</member>
<member name="T:DigitalData.Modules.Base.FileWatcherFilters.OfficeFileFilter">
<summary>
Filter to detect changes on Office files
</summary>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.Truncate(System.String,System.Int32)">
<summary>
Truncates a string to the specified length if it exceeds that length.
</summary>
<param name="pString">The string</param>
<param name="pLength">The maximum string length</param>
<returns>The truncated string</returns>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.EscapeForSQL(System.String)">
<summary>
Replaces single quotes in text for SQL Commands.
</summary>
<param name="pString">The string</param>
<returns>The escaped string.</returns>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.ToBoolean(System.String)">
<summary>
Converts a string to boolean. Accepts true and 1 as truthy values
</summary>
<param name="pString">The input string</param>
<returns>True if input is true or 1, otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.IsNullOrEmpty(System.String)">
<summary>
Checks if a string is null or empty
</summary>
<param name="pString">The input string</param>
<returns>True string is null or empty, otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Base.ModuleExtensions.IsNotNullOrEmpty(System.String)">
<summary>
Checks if a string is NOT null or empty
</summary>
<param name="pString">The input string</param>
<returns>True string is null or empty, otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.GetChecksumFromFileContents(System.String)">
<summary>
Reads the file at `FilePath` and computes a SHA256 Hash from its contents
</summary>
<param name="pFilePath"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.GetDateDirectory(System.String,System.DateTime)">
<summary>
Returns a Dictionary path in the form of [Base]\[Year]\[Month]\[Day]
</summary>
<param name="pBaseDirectory">The basedirectory</param>
<param name="pDate">The date to be used</param>
<returns>The final directory path</returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.GetDateDirectory(System.String)">
<summary>
Returns a Dictionary path in the form of [Base]\[Year]\[Month]\[Day] based on the current date
</summary>
<param name="pBaseDirectory">The basedirectory</param>
<returns>The final directory path</returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.CreateDateDirectory(System.String,System.DateTime)">
<summary>
Creates a Dictionary in the form of [Base]\[Year]\[Month]\[Day]
</summary>
<param name="pBaseDirectory">The basedirectory</param>
<param name="pDate">The date to be used</param>
<returns>The created path. If the directory cannot be created, Nothing.</returns>
</member>
<member name="M:DigitalData.Modules.Base.FileEx.CreateDateDirectory(System.String)">
<summary>
Creates a Dictionary in the form of [Base]\[Year]\[Month]\[Day] based on the current date
</summary>
<param name="pBaseDirectory">The basedirectory</param>
<returns>The created path. If the directory cannot be created, Nothing.</returns>
</member>
<member name="M:DigitalData.Modules.Base.ObjectEx.NotNull``1(``0,``0)">
<summary>
Checks a value for three different `null` values,
Nothing, Empty String, DBNull
Returns the original value if the value is not null, or `defaultValue`
</summary>
<typeparam name="T">The type of the value</typeparam>
<param name="value">The value</param>
<param name="defaultValue">The default Value</param>
<returns>The original value or the default value</returns>
</member>
<member name="M:DigitalData.Modules.Base.ObjectEx.ToEnum``1(System.String)">
<summary>
Converts a String value to the given Enum
</summary>
<typeparam name="T">The Enum Type</typeparam>
<param name="value">The string value to convert</param>
</member>
<member name="M:DigitalData.Modules.Base.ObjectEx.ToEnum``1(System.Int32)">
<summary>
Converts an Integer value to the given Enum
</summary>
<typeparam name="T">The Enum Type</typeparam>
<param name="value">The integer value to convert</param>
</member>
<member name="M:DigitalData.Modules.Base.ObjectEx.ToEnum``1(System.Int64)">
<summary>
Converts a Long value to the given Enum
</summary>
<typeparam name="T">The Enum Type</typeparam>
<param name="value">The long value to convert</param>
</member>
<member name="M:DigitalData.Modules.Base.GraphicsEx.GetBrightness(System.Drawing.Color)">
<summary>
Returns the brightness of a color as a number between 0 and 1
</summary>
<param name="pColor">The color to check</param>
<returns>Low values for dark colors, high values for bright colors.</returns>
</member>
<member name="M:DigitalData.Modules.Base.GraphicsEx.GetContrastedColor(System.Drawing.Color)">
<summary>
Returns a foreground/text color of either black or white, depending on the brightness of `pOtherColor`
</summary>
<param name="pOtherColor">The Background color whose brightness is determined</param>
<returns>A text color which is either white or black</returns>
</member>
<member name="T:DigitalData.Modules.Base.LanguageEx">
<summary>
Functions relating to i18n, Cultures, Translations
</summary>
</member>
<member name="M:DigitalData.Modules.Base.LanguageEx.SetApplicationLanguage(DigitalData.Modules.Logging.Logger,System.String,System.String)">
<summary>
Sets the Language of the current thread by setting CurrentCulture and CurrentUICulture
</summary>
<param name="pLogger">A Logger instance</param>
<param name="pUserLanguage">A language code in the form of 'de-DE'</param>
<param name="pUserDateFormat">A custom date pattern</param>
</member>
<member name="M:DigitalData.Modules.Base.LanguageEx.LogApplicationLanguage(DigitalData.Modules.Logging.Logger)">
<summary>
Logs the culture settings of the current thread
</summary>
<param name="pLogger">A Logger instance</param>
</member>
<member name="M:DigitalData.Modules.Base.ScreenEx.IsVisibleOnAnyScreen(System.Drawing.Point)">
<summary>
Checks if a point is Visible on any screen
</summary>
</member>
<member name="M:DigitalData.Modules.Base.ScreenEx.SizeIsVisible(System.Drawing.Size)">
<summary>
Checks if Size is not negative
</summary>
</member>
<member name="M:DigitalData.Modules.Base.ScreenEx.LocationIsVisible(System.Drawing.Point)">
<summary>
Checks if Location is not negative
</summary>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.ConvertTextToSlug(System.String)">
<summary>
Creates a "slug" from text that can be used as part of a valid URL.
Invalid characters are converted to hyphens. Punctuation that Is
perfect valid in a URL Is also converted to hyphens to keep the
result mostly text. Steps are taken to prevent leading, trailing,
And consecutive hyphens.
</summary>
<param name="s">The string to convert</param>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.RemoveInvalidCharacters(System.String)">
<summary>
Removes Invalid characters from a string, suitable for file and path names
Removed characters are:
* Illegal File-characters
* Illegal Path-characters
* Unicode characters that classify as Emoji
* All characters above codepoint U+10000
See:
https://stackoverflow.com/questions/46905176/detecting-all-emojis
https://stackoverflow.com/questions/28023682/how-do-i-remove-emoji-characters-from-a-string
</summary>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.GetShortGUID">
<summary>
Generates a random short (8 characters) guid
</summary>
<returns>The generated guid as a String</returns>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.TestContainsInvalidCharacters(System.String)">
<summary>
Checks if string contains invalid characters
</summary>
<param name="pString"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Base.StringEx.GetChecksum(System.String)">
<summary>
Creates a hash using the SHA256 algorithm and returns it
</summary>
<param name="pStringToCheck">Any string</param>
<returns></returns>
</member>
</members>
</doc>

Binary file not shown.

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="FirebirdSql.Data.FirebirdClient" type="EntityFramework.Firebird.FbProviderServices, EntityFramework.Firebird" />
</providers>
<defaultConnectionFactory type="EntityFramework.Firebird.FbConnectionFactory, EntityFramework.Firebird" />
</entityFramework>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FirebirdSql.Data.FirebirdClient" publicKeyToken="3750abcc3150b00c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.5.0.0" newVersion="7.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -0,0 +1,195 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Config
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Config.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Config.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Config.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Config.ConfigAttributes.ConnectionStringAttribute">
<summary>
The primary connection string. Will not be saved to userconfig.
</summary>
</member>
<member name="T:DigitalData.Modules.Config.ConfigAttributes.ConnectionStringTestAttribute">
<summary>
The test connection string. Will not be saved to userconfig.
</summary>
</member>
<member name="T:DigitalData.Modules.Config.ConfigAttributes.ConnectionStringAppServerAttribute">
<summary>
The app serverSQL connection string. Will not be saved to userconfig.
</summary>
</member>
<member name="T:DigitalData.Modules.Config.ConfigAttributes.EDMIAppServerAttribute">
<summary>
The EDMIapp server . Will not be saved to userconfig.
</summary>
</member>
<member name="T:DigitalData.Modules.Config.ConfigAttributes.GlobalSettingAttribute">
<summary>
Global setting. Will not be saved to userconfig.
</summary>
</member>
<member name="M:DigitalData.Modules.Config.ConfigDbFunct.GetProductLicense(System.String,System.String,DigitalData.Modules.Logging.LogConfig,System.String)">
<summary>
Ermittelt die aktuelle Lizenz für das gewünschte Produkt
aus der DB-Tabelle TBDD_3RD_PARTY_MODULES
</summary>
<param name="pLogConfig">An instance of LogConfig</param>
<param name="pConnectionString">Initial connectionstring for connecting to DD_ECM database.</param>
<returns>LicenseKey, if found, otherwise String.Empty</returns>
</member>
<member name="F:DigitalData.Modules.Config.ConfigManager`1._WriteAllValuesToUserConfig">
<summary>
Signals that all properties will be written to (and read from) the UserConfig.xml
If Value is `True`:
- AppConfig.xml does NOT exist
- ComputerConfig.xml does NOT exist
- ConnectionStrings will be saved to or read from UserConfig.xml
If Value is `False`:
- No ConnectionStrings will be saved to or read from UserConfig.xml
Can be overwritten by optional parameter `ForceUserConfig`
</summary>
</member>
<member name="P:DigitalData.Modules.Config.ConfigManager`1.Config">
<summary>
Returns the currently loaded config object
</summary>
<returns></returns>
</member>
<member name="P:DigitalData.Modules.Config.ConfigManager`1.UserConfigPath">
<summary>
Path to the current user config.
</summary>
<returns></returns>
</member>
<member name="P:DigitalData.Modules.Config.ConfigManager`1.ComputerConfigPath">
<summary>
Path to the current computer config.
</summary>
<returns></returns>
</member>
<member name="P:DigitalData.Modules.Config.ConfigManager`1.AppConfigPath">
<summary>
Path to the current Application config.
</summary>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Config.ConfigManager`1.#ctor(DigitalData.Modules.Logging.LogConfig,System.String,System.String,System.String,System.Boolean)">
<summary>
Creates a new instance of the ConfigManager
</summary>
<seealso cref="T:DigitalData.Modules.Config.ConfigSample"/>
<param name="LogConfig">LogConfig instance</param>
<param name="UserConfigPath">The path to check for a user config file, eg. AppData (Usually Application.UserAppDataPath or Application.LocalUserAppDataPath)</param>
<param name="ComputerConfigPath">The path to check for a computer config file, eg. ProgramData (Usually Application.CommonAppDataPath)</param>
<param name="ApplicationStartupPath">The path to check for a third config file. This is useful when running the Application in an environment where AppData/ProgramData directories are not available</param>
<param name="ForceUserConfig">Override values from ComputerConfig with UserConfig</param>
</member>
<member name="M:DigitalData.Modules.Config.ConfigManager`1.#ctor(DigitalData.Modules.Logging.LogConfig,System.String)">
<summary>
Creates a new ConfigManager with a single (user)config path
</summary>
<param name="LogConfig">LogConfig instance</param>
<param name="ConfigPath">The path to check for a user config file, eg. AppData (Usually Application.UserAppDataPath or Application.LocalUserAppDataPath)</param>
</member>
<member name="M:DigitalData.Modules.Config.ConfigManager`1.Save(System.Boolean)">
<summary>
Save the current config object to `UserConfigPath`
</summary>
<param name="ForceAll">Force saving all attributes including the attributes marked as excluded</param>
<returns>True if save was successful, False otherwise</returns>
</member>
<member name="M:DigitalData.Modules.Config.ConfigManager`1.Reload">
<summary>
Reloads the config object from file.
</summary>
<returns>True if reload was successful, False otherwise</returns>
</member>
<member name="M:DigitalData.Modules.Config.ConfigManager`1.CopyValues(`0,`0,System.Collections.Generic.List{System.Type})">
<summary>
Copies all properties from Source to Target, except those who have an attribute
listed in ExcludedAttributeTypes
</summary>
<param name="Source">Source config object</param>
<param name="Target">Target config object</param>
<param name="ExcludedAttributeTypes">List of Attribute type to exclude</param>
</member>
<member name="M:DigitalData.Modules.Config.ConfigManager`1.FilterValues(`0,System.Collections.Generic.List{System.Type})">
<summary>
Filters a config object by copying all values except `ExcludedAttributeTypes`
</summary>
<param name="Data">Config object</param>
<param name="ExcludedAttributeTypes">List of Attribute type to exclude</param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Config.ConfigManager`1.Serialize(`0)">
<summary>
Serialize a config object to byte array
</summary>
<param name="Data"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Config.ConfigManager`1.WriteToFile(`0,System.String,System.Boolean)">
<summary>
Write an object to disk as xml
</summary>
<param name="Data">The object to write</param>
<param name="Path">The file name to write to</param>
</member>
<member name="M:DigitalData.Modules.Config.ConfigManager`1.ReadFromFile(System.String)">
<summary>
Reads an xml from disk and deserializes to object
</summary>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Config.ConfigUtils.MigrateUserAppDataConfig(System.String,System.String,System.String)">
<summary>
Migrate a config file when the ProductName has changed
</summary>
<param name="pUserBasePath">The user config base path, should be Application.UserAppDataPath</param>
<param name="pProductName">The current or new product name</param>
<param name="pOldProductName">The old product name</param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Config.ConfigUtils.MigrateCommonAppDataConfig(System.String,System.String,System.String)">
<summary>
Migrate a config file when the ProductName has changed
</summary>
<param name="pCommonBasePath">The config base path, should be Application.CommonAppDataPath</param>
<param name="pProductName">The current or new product name</param>
<param name="pOldProductName">The old product name</param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Config.ConfigUtils.MigrateAppDataConfig(System.String,System.String,System.String,System.String)">
<summary>
Migrate a config file when the ProductName has changed
</summary>
<param name="pBasePath">The config base path, can be Application.UserAppDataPath or Application.CommonAppDataPath</param>
<param name="pProductName">The current or new product name</param>
<param name="pOldProductName">The old product name</param>
<returns></returns>
</member>
</members>
</doc>

Binary file not shown.

View File

@@ -0,0 +1,335 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Database
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Database.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Database.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Database.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.Create(DigitalData.Modules.Logging.LogConfig,System.String)">
<summary>
Create a new instance of Dispatcher. This is the preferred way to create the dispatcher.
</summary>
<param name="pLogConfig">An instance of LogConfig</param>
<param name="pConnectionString">Initial connectionstring for connecting to DD_ECM database.</param>
<returns>An instance of Dispatcher with connections</returns>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.#ctor(DigitalData.Modules.Logging.LogConfig,System.Collections.Generic.List{DigitalData.Modules.Database.Dispatcher.DispatcherConnection})">
<summary>
Create a new instance of Dispatcher. Needs a manually constructed list of connection objects.
</summary>
<param name="pLogConfig">An instance of LogConfig</param>
<param name="pConnections">A list of DispatcherConnection objects</param>
<seealso cref="M:DigitalData.Modules.Database.Dispatcher.Create(DigitalData.Modules.Logging.LogConfig,System.String)"/>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.GetDatatable(System.String,System.Int32)">
<summary>
Returns a Datatable from the database with the specified connection id
</summary>
<param name="pSQLCommand">The SQL query</param>
<param name="pConnectionId">The connection id</param>
<returns>A datatable with the results or nothing if an error occurred</returns>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.GetDatatable(System.String)">
<summary>
Returns a Datatable from the database
</summary>
<param name="pSQLCommand">The SQL query</param>
<returns>A datatable with the results or nothing if an error occurred</returns>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.ExecuteNonQuery(System.String,System.Int32)">
<summary>
Executes a query without return value like INSERT or UPDATE from the database with the specified connection id and
returns a boolean value indicating success or failure of the query
</summary>
<param name="pSQLCommand">The SQL query</param>
<param name="pConnectionId">The connection id</param>
<returns>True if the query was successful, otherwise false</returns>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.ExecuteNonQuery(System.String)">
<summary>
Executes a query without return value like INSERT or UPDATE from the database and
returns a boolean value indicating success or failure of the query
</summary>
<param name="pSQLCommand">The SQL query</param>
<returns>True if the query was successful, otherwise false</returns>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.GetScalarValue(System.String,System.Int32)">
<summary>
Returns a single value from the database specified by the connection id
</summary>
<param name="pSQLCommand">The SQL query</param>
<param name="pConnectionId">The connection id</param>
<returns>A value of type object</returns>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.GetScalarValue(System.String)">
<summary>
Returns a single value from the database
</summary>
<param name="pSQLCommand">The SQL query</param>
<returns>A value of type object</returns>
</member>
<member name="T:DigitalData.Modules.Database.Firebird">
<summary>
MODULE: Firebird
VERSION: 0.0.0.4
DATE: 18.12.2018
DESCRIPTION:
DEPENDENCIES: NLog, >= 4.5.10
EntityFramework.Firebird, >= 6.4.0
FirebirdSql.Data.FirebirdClient, >= 6.4.0
PARAMETERS: LogConfig, DigitalData.Modules.Logging.LogConfig
The LogFactory containing the current log config. Used to instanciate the class logger for this and any dependent class
DataSource, String
The server where the database lives, for example 127.0.0.1 or dd-vmx09-vm03
Database, String
The location of the Database in the format `127.0.0.1:E:\Path\To\Database.FDB`
User, String
The user name to connect as
Password, String
The user's password
PROPERTIES: ConnectionEstablished, Boolean
If the last opened connection was successful
ConnectionFailed, Boolean
If the last opened connection failed
ConnectionString, String
The used connectionstring
EXAMPLES:
REMARKS: If the connection fails due to "wrong username or password", the cause might be that the server harddrive is full..
</summary>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.#ctor(DigitalData.Modules.Logging.LogConfig,System.String,System.String,System.String,System.String)">
<summary>
</summary>
<param name="LogConfig">The LogFactory containing the current log config. Used to instanciate the class logger for this and any dependent class</param>
<param name="Datasource">The server where the database lives, for example 127.0.0.1 or dd-vmx09-vm03</param>
<param name="Database">The location of the Database in the format `127.0.0.1:E:\Path\To\Database.FDB`</param>
<param name="User">The user name to connect as</param>
<param name="Password">The user's password</param>
<exception cref="T:DigitalData.Modules.Database.Exceptions.DatabaseException"></exception>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetConnectionString(System.String,System.String,System.String,System.String)">
<summary>
Builds a connectionstring from the provided arguments.
</summary>
<param name="DataSource">The database server where to connect to</param>
<param name="Database">The datasource, eg. the path of the FDB-file</param>
<param name="User">The user used to connect to the database</param>
<param name="Password">The password of the connecting user</param>
<returns>A connectionstring</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.ExecuteNonQueryWithConnection(System.String,FirebirdSql.Data.FirebirdClient.FbConnection,DigitalData.Modules.Database.Firebird.TransactionMode,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a non-query command.
</summary>
<param name="SqlCommand">The command to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.ExecuteNonQuery(System.String)">
<summary>
Executes a non-query command.
</summary>
<param name="SqlCommand">The command to execute</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.ExecuteNonQuery(System.String,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a non-query command inside the specified transaction.
</summary>
<param name="SqlCommand">The command to execute</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetScalarValueWithConnection(System.String,FirebirdSql.Data.FirebirdClient.FbConnection,DigitalData.Modules.Database.Firebird.TransactionMode,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a sql query resulting in a scalar value.
</summary>
<param name="SqlQuery">The query to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>The scalar value if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetScalarValue(System.String)">
<summary>
Executes a sql query resulting in a scalar value.
</summary>
<param name="SqlQuery">The query to execute</param>
<returns>The scalar value if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetDatatableWithConnection(System.String,FirebirdSql.Data.FirebirdClient.FbConnection,DigitalData.Modules.Database.Firebird.TransactionMode,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetDatatable(System.String,DigitalData.Modules.Database.Firebird.TransactionMode,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="P:DigitalData.Modules.Database.IDatabase.DBInitialized">
<summary>
Returns true if the initial connection to the configured database was successful.
</summary>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.ExecuteNonQueryWithConnection(System.String,System.Data.Odbc.OdbcConnection)">
<summary>
Executes a non-query command.
</summary>
<param name="SqlQuery">The command to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.ExecuteNonQuery(System.String)">
<summary>
Executes a non-query command.
</summary>
<param name="SqlCommand">The command to execute</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.GetScalarValueWithConnection(System.String,System.Data.Odbc.OdbcConnection)">
<summary>
Executes a sql query resulting in a scalar value.
</summary>
<param name="SqlQuery">The query to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>The scalar value if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.GetScalarValue(System.String)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.GetDatatableWithConnection(System.String,System.Data.Odbc.OdbcConnection)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.GetDatatable(System.String)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.EncryptConnectionString(System.String)">
<summary>
Encrypts a connection string password.
</summary>
<param name="ConnectionString">A connection string with a plain-text password</param>
<returns>The connection string with the password encrypted.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.DecryptConnectionString(System.String)">
<summary>
Decrypts a connection string password.
</summary>
<param name="ConnectionString">A connection string with a encrypted password</param>
<returns>The connection string with the password decrypted.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.NewExecutenonQuery(System.String)">
<summary>
Executes the passed sql-statement
</summary>
<param name="executeStatement">the sql statement</param>
<returns>Returns true if properly executed, else false</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.NewExecuteScalar(System.String)">
<summary>
Executes the passed sql-statement as Scalar
</summary>
<param name="executeStatement">the sql statement</param>
<returns>Returns the scalarvalue</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.OpenSQLConnection(Oracle.ManagedDataAccess.Client.OracleConnection)">
<summary>
This Function intentionally has no try..catch block to have any errors caught outside
</summary>
<param name="Connection"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.EncryptConnectionString(System.String)">
<summary>
Encrypts a connection string password.
</summary>
<param name="pConnectionString">A connection string with a plain-text password</param>
<returns>The connection string with the password encrypted.</returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.DecryptConnectionString(System.String)">
<summary>
Decrypts a connection string password.
</summary>
<param name="pConnectionString">A connection string with a encrypted password</param>
<returns>The connection string with the password decrypted.</returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.OpenSQLConnection(System.Data.SqlClient.SqlConnection)">
<summary>
This Function intentionally has no try..catch block to have any errors caught outside
</summary>
<param name="pConnection"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.GetDatatable(System.String,System.Int32)">
<summary>
Returns a Datatable for a SQL Statement
</summary>
<param name="pSqlCommand">SQL Command Text for Datatable (select XYZ from TableORView)</param>
<returns>A datatable</returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.GetDatatable(System.Data.SqlClient.SqlCommand,System.Int32)">
<summary>
Returns a datatable for a SQL Statement
</summary>
<param name="pSqlCommandObject">SQL Command Object for Datatable (select XYZ from TableORView)</param>
<returns>A datatable</returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.NewExecuteNonQueryAsync(System.String,System.Int32)">
<summary>
Executes the passed sql-statement in asyncmode
</summary>
<param name="SqlCommand">the sql statement</param>
<param name="commandtimeout">Optional Timeout</param>
<remarks></remarks>
</member>
</members>
</doc>

Binary file not shown.

View File

@@ -0,0 +1,31 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Encryption
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Encryption.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Encryption.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Encryption.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Encryption.Encryption">
<summary>
https://stackoverflow.com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp
</summary>
</member>
</members>
</doc>

Binary file not shown.

View File

@@ -0,0 +1,200 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Logging
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Logging.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Logging.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Logging.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Logging.LogConfig">
<module>LogConfig</module>
<version>0.0.1.0</version>
<date>02.10.2018</date>
<summary>
Module that writes file-logs to different locations:
local application data, the current directory or a custom path.
Files and directories will be automatically created.
</summary>
<dependencies>
NLog, >= 4.5.8
</dependencies>
<example>
Imports DigitalData.Modules.Logging
Class FooProgram
Private Logger as Logger
Private LogConfig as LogConfig
Public Sub New()
LogConfig = new LogConfig(args)
Logger = LogConfig.GetLogger()
End Sub
Public Sub Bar()
Logger.Info("Baz")
End Sub
End Class
Class FooLib
Private Logger as NLog.Logger
Public Sub New(LogConfig as LogConfig)
Logger = LogConfig.GetLogger()
End Sub
Public Sub Bar()
Logger.Info("Baz")
End Sub
End Class
</example>
<remarks>
If logpath can not be written to, falls back to temp folder as defined in:
https://docs.microsoft.com/de-de/dotnet/api/system.io.path.gettemppath?view=netframework-4.7.2
If used in a service, LogPath must be set to CustomPath, otherwise the Log will be written to System32!
For NLog Troubleshooting, set the following Environment variables to write the NLog internal Log:
- NLOG_INTERNAL_LOG_LEVEL: Debug
- NLOG_INTERNAL_LOG_FILE: ex. C:\Temp\Nlog_Internal.log
</remarks>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogFactory">
<summary>
Returns the NLog.LogFactory object that is used to create Loggers
</summary>
<returns>LogFactory object</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogFile">
<summary>
Returns the path to the current default logfile
</summary>
<returns>Filepath to the logfile</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogDirectory">
<summary>
Returns the path to the current log directory
</summary>
<returns>Directory path to the log directory</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.Debug">
<summary>
Determines if a debug log will be written
</summary>
<returns>True, if debug log will be written. False otherwise.</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.Logs">
<summary>
Returns Logs in Memory as List(Of String) if Debug is enabled
Returns an empty list if debug is disabled
</summary>
<returns>A list of log messages</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.#ctor(DigitalData.Modules.Logging.LogOptions)">
<summary>
Initializes a new LogConfig object with the options supplied as a LogOptions object
</summary>
<param name="Options"></param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.#ctor(DigitalData.Modules.Logging.LogConfig.PathType,System.String,System.String,System.String,System.String,System.Int32)">
<summary>
Initializes a new LogConfig object with a logpath and optinally a filename-suffix.
</summary>
<param name="LogPath">The basepath to write logs to. Can be AppData, CurrentDirectory or CustomPath.</param>
<param name="CustomLogPath">If `logPath` is set to custom, this defines the custom logPath.</param>
<param name="Suffix">If set to anything other than Nothing, extends the logfile name with this suffix.</param>
<param name="CompanyName">CompanyName is used to construct log-path in when LogPath is set to PathType:AppData</param>
<param name="ProductName">ProductName is used to construct log-path in when LogPath is set to PathType:AppData</param>
<param name="FileKeepRangeInDays">Amount of days where files are kept and not deleted.</param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ClearOldLogfiles(System.Int32)">
<summary>
Clears old LogFiles from the configured logpath for compliance with the GDPR
</summary>
<param name="FileKeepRange">Days in which logfiles should be kept. All files older than `Now - FileKeepInterval` will be deleted.</param>
<returns>True, if files were deleted as expected or no files were deleted. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger">
<summary>
Returns the Logger for the calling class
</summary>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger(System.String)">
<summary>
Returns the Logger for the specified classname
</summary>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLoggerFor(System.String)">
<summary>
Returns the Logger for the specified module using event-properties
</summary>
<remarks>
https://github.com/NLog/NLog/wiki/EventProperties-Layout-Renderer
https://stackoverflow.com/questions/31337030/separate-log-file-for-specific-class-instance-using-nlog/32065824#32065824
</remarks>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger(System.String,System.String)">
<summary>
Returns the Logger for a class specified by `ClassName`
</summary>
<param name="ClassName">The name of the class the logger belongs to</param>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ClearLogs">
<summary>
Clears the internal log
</summary>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetClassFullName(System.Boolean,System.Int32)">
<summary>
Gets the fully qualified name of the class invoking the calling method,
including the namespace but Not the assembly.
</summary>
<returns>The fully qualified class name</returns>
<remarks>This method is very resource-intensive!</remarks>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetConfig(System.String,System.String)">
<summary>
Returns the initial log configuration
</summary>
<param name="productName">The chosen productname</param>
<param name="logFileSuffix">The chosen suffix</param>
<returns>A NLog.LoggingConfiguration object</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.AddDefaultRules(NLog.Config.LoggingConfiguration@)">
<summary>
Adds the default rules
</summary>
<param name="config">A NLog.LoggingConfiguration object</param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetCurrentLogFilePath">
<summary>
Returns the full path of the current default log file.
</summary>
<returns>Full path of the current default log file</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ReloadConfig">
<summary>
Reconfigures and re-adds all loggers, optionally adding the debug rule.
</summary>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

BIN
Config/bin/Debug/NLog.dll Normal file

Binary file not shown.

28265
Config/bin/Debug/NLog.xml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -0,0 +1,487 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Data.Odbc</name>
</assembly>
<members>
<member name="P:System.SR.ADP_CollectionIndexInt32">
<summary>Invalid index {0} for this {1} with Count={2}.</summary>
</member>
<member name="P:System.SR.ADP_CollectionIndexString">
<summary>An {0} with {1} '{2}' is not contained by this {3}.</summary>
</member>
<member name="P:System.SR.ADP_CollectionInvalidType">
<summary>The {0} only accepts non-null {1} type objects, not {2} objects.</summary>
</member>
<member name="P:System.SR.ADP_CollectionIsNotParent">
<summary>The {0} is already contained by another {1}.</summary>
</member>
<member name="P:System.SR.ADP_CollectionIsParent">
<summary>The {0} with is already contained by this {1}.</summary>
</member>
<member name="P:System.SR.ADP_CollectionNullValue">
<summary>The {0} only accepts non-null {1} type objects.</summary>
</member>
<member name="P:System.SR.ADP_CollectionRemoveInvalidObject">
<summary>Attempted to remove an {0} that is not contained by this {1}.</summary>
</member>
<member name="P:System.SR.ADP_CollectionUniqueValue">
<summary>The {0}.{1} is required to be unique, '{2}' already exists in the collection.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionAlreadyOpen">
<summary>The connection was not closed. {0}</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStateMsg_Closed">
<summary>The connection's current state is closed.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStateMsg_Connecting">
<summary>The connection's current state is connecting.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStateMsg_Open">
<summary>The connection's current state is open.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStateMsg_OpenExecuting">
<summary>The connection's current state is executing.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStateMsg_OpenFetching">
<summary>The connection's current state is fetching.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStateMsg">
<summary>The connection's current state: {0}.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStringSyntax">
<summary>Format of the initialization string does not conform to specification starting at index {0}.</summary>
</member>
<member name="P:System.SR.ADP_DataReaderClosed">
<summary>Invalid attempt to call {0} when reader is closed.</summary>
</member>
<member name="P:System.SR.ADP_EmptyString">
<summary>Expecting non-empty string for '{0}' parameter.</summary>
</member>
<member name="P:System.SR.ADP_InternalConnectionError">
<summary>Internal DbConnection Error: {0}</summary>
</member>
<member name="P:System.SR.ADP_InvalidDataDirectory">
<summary>The DataDirectory substitute is not a string.</summary>
</member>
<member name="P:System.SR.ADP_InvalidEnumerationValue">
<summary>The {0} enumeration value, {1}, is invalid.</summary>
</member>
<member name="P:System.SR.ADP_InvalidKey">
<summary>Invalid keyword, contain one or more of 'no characters', 'control characters', 'leading or trailing whitespace' or 'leading semicolons'.</summary>
</member>
<member name="P:System.SR.ADP_InvalidOffsetValue">
<summary>Invalid parameter Offset value '{0}'. The value must be greater than or equal to 0.</summary>
</member>
<member name="P:System.SR.ADP_InvalidValue">
<summary>The value contains embedded nulls (\\u0000).</summary>
</member>
<member name="P:System.SR.ADP_NoConnectionString">
<summary>The ConnectionString property has not been initialized.</summary>
</member>
<member name="P:System.SR.ADP_OpenConnectionPropertySet">
<summary>Not allowed to change the '{0}' property. {1}</summary>
</member>
<member name="P:System.SR.ADP_PooledOpenTimeout">
<summary>Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.</summary>
</member>
<member name="P:System.SR.ADP_NonPooledOpenTimeout">
<summary>Timeout attempting to open the connection. The time period elapsed prior to attempting to open the connection has been exceeded. This may have occurred because of too many simultaneous non-pooled connection attempts.</summary>
</member>
<member name="P:System.SR.ADP_QuotePrefixNotSet">
<summary>{0} requires an open connection when the quote prefix has not been set.</summary>
</member>
<member name="P:System.SR.MDF_QueryFailed">
<summary>Unable to build the '{0}' collection because execution of the SQL query failed. See the inner exception for details.</summary>
</member>
<member name="P:System.SR.MDF_TooManyRestrictions">
<summary>More restrictions were provided than the requested schema ('{0}') supports.</summary>
</member>
<member name="P:System.SR.MDF_InvalidRestrictionValue">
<summary>'{2}' is not a valid value for the '{1}' restriction of the '{0}' schema collection.</summary>
</member>
<member name="P:System.SR.MDF_UndefinedCollection">
<summary>The requested collection ({0}) is not defined.</summary>
</member>
<member name="P:System.SR.MDF_UndefinedPopulationMechanism">
<summary>The population mechanism '{0}' is not defined.</summary>
</member>
<member name="P:System.SR.MDF_UnsupportedVersion">
<summary>The requested collection ({0}) is not supported by this version of the provider.</summary>
</member>
<member name="P:System.SR.MDF_MissingDataSourceInformationColumn">
<summary>One of the required DataSourceInformation tables columns is missing.</summary>
</member>
<member name="P:System.SR.MDF_IncorrectNumberOfDataSourceInformationRows">
<summary>The DataSourceInformation table must contain exactly one row.</summary>
</member>
<member name="P:System.SR.MDF_MissingRestrictionColumn">
<summary>One or more of the required columns of the restrictions collection is missing.</summary>
</member>
<member name="P:System.SR.MDF_MissingRestrictionRow">
<summary>A restriction exists for which there is no matching row in the restrictions collection.</summary>
</member>
<member name="P:System.SR.MDF_NoColumns">
<summary>The schema table contains no columns.</summary>
</member>
<member name="P:System.SR.MDF_UnableToBuildCollection">
<summary>Unable to build schema collection '{0}';</summary>
</member>
<member name="P:System.SR.MDF_AmbigousCollectionName">
<summary>The collection name '{0}' matches at least two collections with the same name but with different case, but does not match any of them exactly.</summary>
</member>
<member name="P:System.SR.MDF_CollectionNameISNotUnique">
<summary>There are multiple collections named '{0}'.</summary>
</member>
<member name="P:System.SR.MDF_DataTableDoesNotExist">
<summary>The collection '{0}' is missing from the metadata XML.</summary>
</member>
<member name="P:System.SR.MDF_InvalidXml">
<summary>The metadata XML is invalid.</summary>
</member>
<member name="P:System.SR.MDF_InvalidXmlMissingColumn">
<summary>The metadata XML is invalid. The {0} collection must contain a {1} column and it must be a string column.</summary>
</member>
<member name="P:System.SR.MDF_InvalidXmlInvalidValue">
<summary>The metadata XML is invalid. The {1} column of the {0} collection must contain a non-empty string.</summary>
</member>
<member name="P:System.SR.SqlConvert_ConvertFailed">
<summary>Cannot convert object of type '{0}' to object of type '{1}'.</summary>
</member>
<member name="P:System.SR.ADP_InvalidConnectionOptionValue">
<summary>Invalid value for key '{0}'.</summary>
</member>
<member name="P:System.SR.ADP_KeywordNotSupported">
<summary>Keyword not supported: '{0}'.</summary>
</member>
<member name="P:System.SR.ADP_InternalProviderError">
<summary>Internal .NET Framework Data Provider error {0}.</summary>
</member>
<member name="P:System.SR.ADP_InvalidMultipartName">
<summary>{0} '{1}'.</summary>
</member>
<member name="P:System.SR.ADP_InvalidMultipartNameQuoteUsage">
<summary>{0} '{1}', incorrect usage of quotes.</summary>
</member>
<member name="P:System.SR.ADP_InvalidMultipartNameToManyParts">
<summary>{0} '{1}', the current limit of '{2}' is insufficient.</summary>
</member>
<member name="P:System.SR.ADP_NotSupportedEnumerationValue">
<summary>The {0} enumeration value, {1}, is not supported by the {2} method.</summary>
</member>
<member name="P:System.SR.ADP_StreamClosed">
<summary>Invalid attempt to {0} when stream is closed.</summary>
</member>
<member name="P:System.SR.ADP_InvalidSourceBufferIndex">
<summary>Invalid source buffer (size of {0}) offset: {1}</summary>
</member>
<member name="P:System.SR.ADP_InvalidDestinationBufferIndex">
<summary>Invalid destination buffer (size of {0}) offset: {1}</summary>
</member>
<member name="P:System.SR.SQL_InvalidBufferSizeOrIndex">
<summary>Buffer offset '{1}' plus the bytes available '{0}' is greater than the length of the passed in buffer.</summary>
</member>
<member name="P:System.SR.SQL_InvalidDataLength">
<summary>Data length '{0}' is less than 0.</summary>
</member>
<member name="P:System.SR.ADP_InvalidSeekOrigin">
<summary>Specified SeekOrigin value is invalid.</summary>
</member>
<member name="P:System.SR.SQL_WrongType">
<summary>Expecting argument of type {1}, but received type {0}.</summary>
</member>
<member name="P:System.SR.ODBC_ODBCCommandText">
<summary>OdbcCommandBuilder.DeriveParameters failed because the OdbcCommand.CommandText property value is an invalid multipart name</summary>
</member>
<member name="P:System.SR.ODBC_NotSupportedEnumerationValue">
<summary>The {0} enumeration value, {1}, is not supported by the .NET Framework Odbc Data Provider.</summary>
</member>
<member name="P:System.SR.ADP_CommandTextRequired">
<summary>{0}: CommandText property has not been initialized</summary>
</member>
<member name="P:System.SR.ADP_ConnectionRequired">
<summary>{0}: Connection property has not been initialized.</summary>
</member>
<member name="P:System.SR.ADP_OpenConnectionRequired">
<summary>{0} requires an open and available Connection. {1}</summary>
</member>
<member name="P:System.SR.ADP_TransactionConnectionMismatch">
<summary>The transaction is either not associated with the current connection or has been completed.</summary>
</member>
<member name="P:System.SR.ADP_TransactionRequired">
<summary>{0} requires the command to have a transaction when the connection assigned to the command is in a pending local transaction. The Transaction property of the command has not been initialized.</summary>
</member>
<member name="P:System.SR.ADP_OpenReaderExists">
<summary>There is already an open DataReader associated with this Command which must be closed first.</summary>
</member>
<member name="P:System.SR.ADP_DeriveParametersNotSupported">
<summary>{0} DeriveParameters only supports CommandType.StoredProcedure, not CommandType. {1}.</summary>
</member>
<member name="P:System.SR.ADP_InvalidCommandTimeout">
<summary>Invalid CommandTimeout value {0}; the value must be &gt;= 0.</summary>
</member>
<member name="P:System.SR.ADP_UninitializedParameterSize">
<summary>{1}[{0}]: the Size property has an invalid size of 0.</summary>
</member>
<member name="P:System.SR.ADP_ClosedConnectionError">
<summary>Invalid operation. The connection is closed.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionIsDisabled">
<summary>The connection has been disabled.</summary>
</member>
<member name="P:System.SR.ADP_EmptyDatabaseName">
<summary>Database cannot be null, the empty string, or string of only whitespace.</summary>
</member>
<member name="P:System.SR.ADP_DatabaseNameTooLong">
<summary>The argument is too long.</summary>
</member>
<member name="P:System.SR.ADP_DataReaderNoData">
<summary>No data exists for the row/column.</summary>
</member>
<member name="P:System.SR.ADP_NumericToDecimalOverflow">
<summary>The numerical value is too large to fit into a 96 bit decimal.</summary>
</member>
<member name="P:System.SR.ADP_InvalidDataType">
<summary>The parameter data type of {0} is invalid.</summary>
</member>
<member name="P:System.SR.ADP_UnknownDataType">
<summary>No mapping exists from object type {0} to a known managed provider native type.</summary>
</member>
<member name="P:System.SR.ADP_UnknownDataTypeCode">
<summary>Unable to handle an unknown TypeCode {0} returned by Type {1}.</summary>
</member>
<member name="P:System.SR.ADP_DbTypeNotSupported">
<summary>No mapping exists from DbType {0} to a known {1}.</summary>
</member>
<member name="P:System.SR.ADP_InvalidSizeValue">
<summary>Invalid parameter Size value '{0}'. The value must be greater than or equal to 0.</summary>
</member>
<member name="P:System.SR.ADP_ParameterConversionFailed">
<summary>Failed to convert parameter value from a {0} to a {1}.</summary>
</member>
<member name="P:System.SR.ADP_ParallelTransactionsNotSupported">
<summary>{0} does not support parallel transactions.</summary>
</member>
<member name="P:System.SR.ADP_TransactionZombied">
<summary>This {0} has completed; it is no longer usable.</summary>
</member>
<member name="P:System.SR.ADP_DbRecordReadOnly">
<summary>'{0}' cannot be called when the record is read only.</summary>
</member>
<member name="P:System.SR.ADP_NonSeqByteAccess">
<summary>Invalid {2} attempt at dataIndex '{0}'. With CommandBehavior.SequentialAccess, you may only read from dataIndex '{1}' or greater.</summary>
</member>
<member name="P:System.SR.ADP_OffsetOutOfRangeException">
<summary>Offset must refer to a location within the value.</summary>
</member>
<member name="P:System.SR.ODBC_GetSchemaRestrictionRequired">
<summary>The ODBC managed provider requires that the TABLE_NAME restriction be specified and non-null for the GetSchema indexes collection.</summary>
</member>
<member name="P:System.SR.ADP_OdbcNoTypesFromProvider">
<summary>The ODBC provider did not return results from SQLGETTYPEINFO.</summary>
</member>
<member name="P:System.SR.Odbc_UnknownSQLType">
<summary>Unknown SQL type - {0}.</summary>
</member>
<member name="P:System.SR.Odbc_NegativeArgument">
<summary>Invalid negative argument!</summary>
</member>
<member name="P:System.SR.Odbc_CantSetPropertyOnOpenConnection">
<summary>Can't set property on an open connection.</summary>
</member>
<member name="P:System.SR.Odbc_NoMappingForSqlTransactionLevel">
<summary>No valid mapping for a SQL_TRANSACTION '{0}' to a System.Data.IsolationLevel enumeration value.</summary>
</member>
<member name="P:System.SR.Odbc_CantEnableConnectionpooling">
<summary>{0} - unable to enable connection pooling...</summary>
</member>
<member name="P:System.SR.Odbc_CantAllocateEnvironmentHandle">
<summary>{0} - unable to allocate an environment handle.</summary>
</member>
<member name="P:System.SR.Odbc_FailedToGetDescriptorHandle">
<summary>{0} - unable to get descriptor handle.</summary>
</member>
<member name="P:System.SR.Odbc_NotInTransaction">
<summary>Not in a transaction</summary>
</member>
<member name="P:System.SR.Odbc_ExceptionMessage">
<summary>{0} [{1}] {2}</summary>
</member>
<member name="P:System.SR.Odbc_ConnectionClosed">
<summary>The connection is closed.</summary>
</member>
<member name="P:System.SR.Odbc_OpenConnectionNoOwner">
<summary>An internal connection does not have an owner.</summary>
</member>
<member name="P:System.SR.Odbc_PlatformNotSupported">
<summary>System.Data.ODBC is not supported on this platform.</summary>
</member>
<member name="P:System.SR.Odbc_UnixOdbcNotFound">
<summary>Dependency unixODBC with minimum version 2.3.1 is required.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Runtime.Versioning.OSPlatformAttribute">
<summary>
Base type for all platform-specific API attributes.
</summary>
</member>
<member name="T:System.Runtime.Versioning.TargetPlatformAttribute">
<summary>
Records the platform that the project targeted.
</summary>
</member>
<member name="T:System.Runtime.Versioning.SupportedOSPlatformAttribute">
<summary>
Records the operating system (and minimum version) that supports an API. Multiple attributes can be
applied to indicate support on multiple operating systems.
</summary>
<remarks>
Callers can apply a <see cref="T:System.Runtime.Versioning.SupportedOSPlatformAttribute" />
or use guards to prevent calls to APIs on unsupported operating systems.
A given platform should only be specified once.
</remarks>
</member>
<member name="T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute">
<summary>
Marks APIs that were removed in a given operating system version.
</summary>
<remarks>
Primarily used by OS bindings to indicate APIs that are only available in
earlier versions.
</remarks>
</member>
<member name="T:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute">
<summary>
Annotates a custom guard field, property or method with a supported platform name and optional version.
Multiple attributes can be applied to indicate guard for multiple supported platforms.
</summary>
<remarks>
Callers can apply a <see cref="T:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute" /> to a field, property or method
and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs.
The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
</remarks>
</member>
<member name="T:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute">
<summary>
Annotates the custom guard field, property or method with an unsupported platform name and optional version.
Multiple attributes can be applied to indicate guard for multiple unsupported platforms.
</summary>
<remarks>
Callers can apply a <see cref="T:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute" /> to a field, property or method
and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms.
The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
</remarks>
</member>
</members>
</doc>

View File

@@ -0,0 +1,862 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"DigitalData.Modules.Config/1.0.0": {
"dependencies": {
"DigitalData.Modules.Base": "1.0.0",
"DigitalData.Modules.Database": "1.0.0",
"DigitalData.Modules.Encryption": "1.0.0",
"DigitalData.Modules.Logging": "1.0.0",
"NLog": "6.0.4",
"DigitalData.Modules.Base.Reference": "1.3.9.0",
"DigitalData.Modules.Database.Reference": "2.4.0.0",
"DigitalData.Modules.Encryption.Reference": "2.5.0.0",
"DigitalData.Modules.Logging.Reference": "2.0.0.0"
},
"runtime": {
"DigitalData.Modules.Config.dll": {}
}
},
"Azure.Core/1.47.1": {
"dependencies": {
"Microsoft.Bcl.AsyncInterfaces": "8.0.0",
"System.ClientModel": "1.5.1",
"System.Memory.Data": "8.0.1"
},
"runtime": {
"lib/net8.0/Azure.Core.dll": {
"assemblyVersion": "1.47.1.0",
"fileVersion": "1.4700.125.36505"
}
}
},
"Azure.Identity/1.14.2": {
"dependencies": {
"Azure.Core": "1.47.1",
"Microsoft.Identity.Client": "4.73.1",
"Microsoft.Identity.Client.Extensions.Msal": "4.73.1",
"System.Memory": "4.6.0"
},
"runtime": {
"lib/net8.0/Azure.Identity.dll": {
"assemblyVersion": "1.14.2.0",
"fileVersion": "1.1400.225.36004"
}
}
},
"FirebirdSql.Data.FirebirdClient/10.3.3": {
"runtime": {
"lib/net8.0/FirebirdSql.Data.FirebirdClient.dll": {
"assemblyVersion": "10.3.3.0",
"fileVersion": "10.3.3.0"
}
}
},
"Microsoft.Bcl.AsyncInterfaces/8.0.0": {
"runtime": {
"lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Bcl.Cryptography/8.0.0": {
"runtime": {
"lib/net8.0/Microsoft.Bcl.Cryptography.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Data.SqlClient/6.1.1": {
"dependencies": {
"Azure.Core": "1.47.1",
"Azure.Identity": "1.14.2",
"Microsoft.Bcl.Cryptography": "8.0.0",
"Microsoft.Data.SqlClient.SNI.runtime": "6.0.2",
"Microsoft.Extensions.Caching.Memory": "8.0.1",
"Microsoft.IdentityModel.JsonWebTokens": "7.7.1",
"Microsoft.IdentityModel.Protocols.OpenIdConnect": "7.7.1",
"Microsoft.SqlServer.Server": "1.0.0",
"System.Configuration.ConfigurationManager": "9.0.9",
"System.Security.Cryptography.Pkcs": "8.0.1",
"System.Text.Json": "8.0.5"
},
"runtime": {
"lib/net8.0/Microsoft.Data.SqlClient.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.11.25226.3"
}
},
"resources": {
"lib/net8.0/cs/Microsoft.Data.SqlClient.resources.dll": {
"locale": "cs"
},
"lib/net8.0/de/Microsoft.Data.SqlClient.resources.dll": {
"locale": "de"
},
"lib/net8.0/es/Microsoft.Data.SqlClient.resources.dll": {
"locale": "es"
},
"lib/net8.0/fr/Microsoft.Data.SqlClient.resources.dll": {
"locale": "fr"
},
"lib/net8.0/it/Microsoft.Data.SqlClient.resources.dll": {
"locale": "it"
},
"lib/net8.0/ja/Microsoft.Data.SqlClient.resources.dll": {
"locale": "ja"
},
"lib/net8.0/ko/Microsoft.Data.SqlClient.resources.dll": {
"locale": "ko"
},
"lib/net8.0/pl/Microsoft.Data.SqlClient.resources.dll": {
"locale": "pl"
},
"lib/net8.0/pt-BR/Microsoft.Data.SqlClient.resources.dll": {
"locale": "pt-BR"
},
"lib/net8.0/ru/Microsoft.Data.SqlClient.resources.dll": {
"locale": "ru"
},
"lib/net8.0/tr/Microsoft.Data.SqlClient.resources.dll": {
"locale": "tr"
},
"lib/net8.0/zh-Hans/Microsoft.Data.SqlClient.resources.dll": {
"locale": "zh-Hans"
},
"lib/net8.0/zh-Hant/Microsoft.Data.SqlClient.resources.dll": {
"locale": "zh-Hant"
}
},
"runtimeTargets": {
"runtimes/unix/lib/net8.0/Microsoft.Data.SqlClient.dll": {
"rid": "unix",
"assetType": "runtime",
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.11.25226.3"
},
"runtimes/win/lib/net8.0/Microsoft.Data.SqlClient.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.11.25226.3"
}
}
},
"Microsoft.Data.SqlClient.SNI.runtime/6.0.2": {
"runtimeTargets": {
"runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "6.2.0.0"
},
"runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "6.2.0.0"
},
"runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "6.2.0.0"
}
}
},
"Microsoft.Extensions.Caching.Abstractions/8.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Extensions.Caching.Memory/8.0.1": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "8.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
"Microsoft.Extensions.Logging.Abstractions": "8.0.3",
"Microsoft.Extensions.Options": "8.0.2",
"Microsoft.Extensions.Primitives": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1024.46610"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": {
"runtime": {
"lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1024.46610"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/8.0.3": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1325.6609"
}
}
},
"Microsoft.Extensions.Options/8.0.2": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
"Microsoft.Extensions.Primitives": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.224.6711"
}
}
},
"Microsoft.Extensions.Primitives/8.0.0": {
"runtime": {
"lib/net8.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Identity.Client/4.73.1": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "7.7.1",
"System.Diagnostics.DiagnosticSource": "6.0.2"
},
"runtime": {
"lib/net8.0/Microsoft.Identity.Client.dll": {
"assemblyVersion": "4.73.1.0",
"fileVersion": "4.73.1.0"
}
}
},
"Microsoft.Identity.Client.Extensions.Msal/4.73.1": {
"dependencies": {
"Microsoft.Identity.Client": "4.73.1",
"System.Security.Cryptography.ProtectedData": "9.0.9"
},
"runtime": {
"lib/net8.0/Microsoft.Identity.Client.Extensions.Msal.dll": {
"assemblyVersion": "4.73.1.0",
"fileVersion": "4.73.1.0"
}
}
},
"Microsoft.IdentityModel.Abstractions/7.7.1": {
"runtime": {
"lib/net8.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"Microsoft.IdentityModel.JsonWebTokens/7.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Tokens": "7.7.1"
},
"runtime": {
"lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"Microsoft.IdentityModel.Logging/7.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "7.7.1"
},
"runtime": {
"lib/net8.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"Microsoft.IdentityModel.Protocols/7.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Tokens": "7.7.1"
},
"runtime": {
"lib/net8.0/Microsoft.IdentityModel.Protocols.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"Microsoft.IdentityModel.Protocols.OpenIdConnect/7.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Protocols": "7.7.1",
"System.IdentityModel.Tokens.Jwt": "7.7.1"
},
"runtime": {
"lib/net8.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"Microsoft.IdentityModel.Tokens/7.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Logging": "7.7.1"
},
"runtime": {
"lib/net8.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"Microsoft.SqlServer.Server/1.0.0": {
"runtime": {
"lib/netstandard2.0/Microsoft.SqlServer.Server.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"NLog/6.0.4": {
"runtime": {
"lib/netstandard2.1/NLog.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.4.4534"
}
}
},
"Oracle.ManagedDataAccess/23.9.1": {
"dependencies": {
"System.Diagnostics.DiagnosticSource": "6.0.2",
"System.Formats.Asn1": "8.0.1",
"System.Memory": "4.6.0",
"System.Text.Json": "8.0.5",
"System.Threading.Tasks.Extensions": "4.6.0"
},
"runtime": {
"lib/net472/Oracle.ManagedDataAccess.dll": {
"assemblyVersion": "4.122.23.1",
"fileVersion": "4.122.23.1"
}
}
},
"System.ClientModel/1.5.1": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "8.0.3",
"System.Memory.Data": "8.0.1"
},
"runtime": {
"lib/net8.0/System.ClientModel.dll": {
"assemblyVersion": "1.5.1.0",
"fileVersion": "1.500.125.36405"
}
}
},
"System.Configuration.ConfigurationManager/9.0.9": {
"dependencies": {
"System.Diagnostics.EventLog": "9.0.9",
"System.Security.Cryptography.ProtectedData": "9.0.9"
},
"runtime": {
"lib/net8.0/System.Configuration.ConfigurationManager.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
}
},
"System.Data.Odbc/9.0.9": {
"runtime": {
"lib/net8.0/System.Data.Odbc.dll": {
"assemblyVersion": "9.0.0.9",
"fileVersion": "9.0.925.41916"
}
},
"runtimeTargets": {
"runtimes/unix/lib/net8.0/System.Data.Odbc.dll": {
"rid": "unix",
"assetType": "runtime",
"assemblyVersion": "9.0.0.9",
"fileVersion": "9.0.925.41916"
},
"runtimes/win/lib/net8.0/System.Data.Odbc.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.9",
"fileVersion": "9.0.925.41916"
}
}
},
"System.Diagnostics.DiagnosticSource/6.0.2": {},
"System.Diagnostics.EventLog/9.0.9": {
"runtime": {
"lib/net8.0/System.Diagnostics.EventLog.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
},
"runtimeTargets": {
"runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "0.0.0.0"
},
"runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
}
},
"System.Formats.Asn1/8.0.1": {},
"System.IdentityModel.Tokens.Jwt/7.7.1": {
"dependencies": {
"Microsoft.IdentityModel.JsonWebTokens": "7.7.1",
"Microsoft.IdentityModel.Tokens": "7.7.1"
},
"runtime": {
"lib/net8.0/System.IdentityModel.Tokens.Jwt.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"System.Memory/4.6.0": {},
"System.Memory.Data/8.0.1": {
"runtime": {
"lib/net8.0/System.Memory.Data.dll": {
"assemblyVersion": "8.0.0.1",
"fileVersion": "8.0.1024.46610"
}
}
},
"System.Security.Cryptography.Pkcs/8.0.1": {
"runtime": {
"lib/net8.0/System.Security.Cryptography.Pkcs.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1024.46610"
}
},
"runtimeTargets": {
"runtimes/win/lib/net8.0/System.Security.Cryptography.Pkcs.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1024.46610"
}
}
},
"System.Security.Cryptography.ProtectedData/9.0.9": {
"runtime": {
"lib/net8.0/System.Security.Cryptography.ProtectedData.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
}
},
"System.Text.Json/8.0.5": {},
"System.Threading.Tasks.Extensions/4.6.0": {},
"DigitalData.Modules.Base/1.0.0": {
"dependencies": {
"DigitalData.Modules.Logging": "1.0.0",
"NLog": "6.0.4",
"System.Configuration.ConfigurationManager": "9.0.9"
},
"runtime": {
"DigitalData.Modules.Base.dll": {
"fileVersion": "0.0.0.0"
}
}
},
"DigitalData.Modules.Database/1.0.0": {
"dependencies": {
"DigitalData.Modules.Encryption": "1.0.0",
"DigitalData.Modules.Logging": "1.0.0",
"FirebirdSql.Data.FirebirdClient": "10.3.3",
"Microsoft.Data.SqlClient": "6.1.1",
"NLog": "6.0.4",
"Oracle.ManagedDataAccess": "23.9.1",
"System.Data.Odbc": "9.0.9"
},
"runtime": {
"DigitalData.Modules.Database.dll": {
"fileVersion": "0.0.0.0"
}
}
},
"DigitalData.Modules.Encryption/1.0.0": {
"dependencies": {
"DigitalData.Modules.Logging": "1.0.0",
"NLog": "6.0.4"
},
"runtime": {
"DigitalData.Modules.Encryption.dll": {
"fileVersion": "0.0.0.0"
}
}
},
"DigitalData.Modules.Logging/1.0.0": {
"dependencies": {
"NLog": "6.0.4",
"System.Configuration.ConfigurationManager": "9.0.9"
},
"runtime": {
"DigitalData.Modules.Logging.dll": {
"fileVersion": "0.0.0.0"
}
}
},
"DigitalData.Modules.Base.Reference/1.3.9.0": {
"runtime": {
"DigitalData.Modules.Base.dll": {
"assemblyVersion": "1.3.9.0",
"fileVersion": "1.3.9.0"
}
}
},
"DigitalData.Modules.Database.Reference/2.4.0.0": {
"runtime": {
"DigitalData.Modules.Database.dll": {
"assemblyVersion": "2.4.0.0",
"fileVersion": "2.4.0.0"
}
}
},
"DigitalData.Modules.Encryption.Reference/2.5.0.0": {
"runtime": {
"DigitalData.Modules.Encryption.dll": {
"assemblyVersion": "2.5.0.0",
"fileVersion": "2.5.0.0"
}
}
},
"DigitalData.Modules.Logging.Reference/2.0.0.0": {
"runtime": {
"DigitalData.Modules.Logging.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.0.0.0"
}
}
}
}
},
"libraries": {
"DigitalData.Modules.Config/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Azure.Core/1.47.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oPcncSsDHuxB8SC522z47xbp2+ttkcKv2YZ90KXhRKN0YQd2+7l1UURT9EBzUNEXtkLZUOAB5xbByMTrYRh3yA==",
"path": "azure.core/1.47.1",
"hashPath": "azure.core.1.47.1.nupkg.sha512"
},
"Azure.Identity/1.14.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YhNMwOTwT+I2wIcJKSdP0ADyB2aK+JaYWZxO8LSRDm5w77LFr0ykR9xmt2ZV5T1gaI7xU6iNFIh/yW1dAlpddQ==",
"path": "azure.identity/1.14.2",
"hashPath": "azure.identity.1.14.2.nupkg.sha512"
},
"FirebirdSql.Data.FirebirdClient/10.3.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-iAj21eY5u7obZumA3NAVZf8ynu7Z6lslkU3V4W8Mm9Mowa4gcadT2a+LIMwAovDIg8iS8RpCSzIzFdKFCdakTg==",
"path": "firebirdsql.data.firebirdclient/10.3.3",
"hashPath": "firebirdsql.data.firebirdclient.10.3.3.nupkg.sha512"
},
"Microsoft.Bcl.AsyncInterfaces/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3WA9q9yVqJp222P3x1wYIGDAkpjAku0TMUaaQV22g6L67AI0LdOIrVS7Ht2vJfLHGSPVuqN94vIr15qn+HEkHw==",
"path": "microsoft.bcl.asyncinterfaces/8.0.0",
"hashPath": "microsoft.bcl.asyncinterfaces.8.0.0.nupkg.sha512"
},
"Microsoft.Bcl.Cryptography/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Y3t/c7C5XHJGFDnohjf1/9SYF3ZOfEU1fkNQuKg/dGf9hN18yrQj2owHITGfNS3+lKJdW6J4vY98jYu57jCO8A==",
"path": "microsoft.bcl.cryptography/8.0.0",
"hashPath": "microsoft.bcl.cryptography.8.0.0.nupkg.sha512"
},
"Microsoft.Data.SqlClient/6.1.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-syGQmIUPAYYHAHyTD8FCkTNThpQWvoA7crnIQRMfp8dyB5A2cWU3fQexlRTFkVmV7S0TjVmthi0LJEFVjHo8AQ==",
"path": "microsoft.data.sqlclient/6.1.1",
"hashPath": "microsoft.data.sqlclient.6.1.1.nupkg.sha512"
},
"Microsoft.Data.SqlClient.SNI.runtime/6.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-f+pRODTWX7Y67jXO3T5S2dIPZ9qMJNySjlZT/TKmWVNWe19N8jcWmHaqHnnchaq3gxEKv1SWVY5EFzOD06l41w==",
"path": "microsoft.data.sqlclient.sni.runtime/6.0.2",
"hashPath": "microsoft.data.sqlclient.sni.runtime.6.0.2.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Abstractions/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==",
"path": "microsoft.extensions.caching.abstractions/8.0.0",
"hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Memory/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==",
"path": "microsoft.extensions.caching.memory/8.0.1",
"hashPath": "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==",
"path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/8.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dL0QGToTxggRLMYY4ZYX5AMwBb+byQBd/5dMiZE07Nv73o6I5Are3C7eQTh7K2+A4ct0PVISSr7TZANbiNb2yQ==",
"path": "microsoft.extensions.logging.abstractions/8.0.3",
"hashPath": "microsoft.extensions.logging.abstractions.8.0.3.nupkg.sha512"
},
"Microsoft.Extensions.Options/8.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==",
"path": "microsoft.extensions.options/8.0.2",
"hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
"path": "microsoft.extensions.primitives/8.0.0",
"hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512"
},
"Microsoft.Identity.Client/4.73.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-NnDLS8QwYqO5ZZecL2oioi1LUqjh5Ewk4bMLzbgiXJbQmZhDLtKwLxL3DpGMlQAJ2G4KgEnvGPKa+OOgffeJbw==",
"path": "microsoft.identity.client/4.73.1",
"hashPath": "microsoft.identity.client.4.73.1.nupkg.sha512"
},
"Microsoft.Identity.Client.Extensions.Msal/4.73.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xDztAiV2F0wI0W8FLKv5cbaBefyLD6JVaAsvgSN7bjWNCzGYzHbcOEIP5s4TJXUpQzMfUyBsFl1mC6Zmgpz0PQ==",
"path": "microsoft.identity.client.extensions.msal/4.73.1",
"hashPath": "microsoft.identity.client.extensions.msal.4.73.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-S7sHg6gLg7oFqNGLwN1qSbJDI+QcRRj8SuJ1jHyCmKSipnF6ZQL+tFV2NzVfGj/xmGT9TykQdQiBN+p5Idl4TA==",
"path": "microsoft.identitymodel.abstractions/7.7.1",
"hashPath": "microsoft.identitymodel.abstractions.7.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.JsonWebTokens/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3Izi75UCUssvo8LPx3OVnEeZay58qaFicrtSnbtUt7q8qQi0gy46gh4V8VUTkMVMKXV6VMyjBVmeNNgeCUJuIw==",
"path": "microsoft.identitymodel.jsonwebtokens/7.7.1",
"hashPath": "microsoft.identitymodel.jsonwebtokens.7.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-BZNgSq/o8gsKExdYoBKPR65fdsxW0cTF8PsdqB8y011AGUJJW300S/ZIsEUD0+sOmGc003Gwv3FYbjrVjvsLNQ==",
"path": "microsoft.identitymodel.logging/7.7.1",
"hashPath": "microsoft.identitymodel.logging.7.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Protocols/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-h+fHHBGokepmCX+QZXJk4Ij8OApCb2n2ktoDkNX5CXteXsOxTHMNgjPGpAwdJMFvAL7TtGarUnk3o97NmBq2QQ==",
"path": "microsoft.identitymodel.protocols/7.7.1",
"hashPath": "microsoft.identitymodel.protocols.7.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Protocols.OpenIdConnect/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yT2Hdj8LpPbcT9C9KlLVxXl09C8zjFaVSaApdOwuecMuoV4s6Sof/mnTDz/+F/lILPIBvrWugR9CC7iRVZgbfQ==",
"path": "microsoft.identitymodel.protocols.openidconnect/7.7.1",
"hashPath": "microsoft.identitymodel.protocols.openidconnect.7.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-fQ0VVCba75lknUHGldi3iTKAYUQqbzp1Un8+d9cm9nON0Gs8NAkXddNg8iaUB0qi/ybtAmNWizTR4avdkCJ9pQ==",
"path": "microsoft.identitymodel.tokens/7.7.1",
"hashPath": "microsoft.identitymodel.tokens.7.7.1.nupkg.sha512"
},
"Microsoft.SqlServer.Server/1.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-N4KeF3cpcm1PUHym1RmakkzfkEv3GRMyofVv40uXsQhCQeglr2OHNcUk2WOG51AKpGO8ynGpo9M/kFXSzghwug==",
"path": "microsoft.sqlserver.server/1.0.0",
"hashPath": "microsoft.sqlserver.server.1.0.0.nupkg.sha512"
},
"NLog/6.0.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Xr+lIk1ZlTTFXEqnxQVLxrDqZlt2tm5X+/AhJbaY2emb/dVtGDiU5QuEtj3gHtwV/SWlP/rJ922I/BPuOJXlRw==",
"path": "nlog/6.0.4",
"hashPath": "nlog.6.0.4.nupkg.sha512"
},
"Oracle.ManagedDataAccess/23.9.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/4v/a6P6u+VLixps0TGH8js/1ZYS7vVll+j0J9RsUQLRPYgzXs1Mt+xi1XqFZP5PzMA5H0kgW/3EMosj+fYReA==",
"path": "oracle.manageddataaccess/23.9.1",
"hashPath": "oracle.manageddataaccess.23.9.1.nupkg.sha512"
},
"System.ClientModel/1.5.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-k2jKSO0X45IqhVOT9iQB4xralNN9foRQsRvXBTyRpAVxyzCJlG895T9qYrQWbcJ6OQXxOouJQ37x5nZH5XKK+A==",
"path": "system.clientmodel/1.5.1",
"hashPath": "system.clientmodel.1.5.1.nupkg.sha512"
},
"System.Configuration.ConfigurationManager/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Q1LknxnRmmsUXt/ElBp739Gexppy0HeDYxvExpJq09jAYhpTHRRRkZIwfNKfM4BGRlFzRDVdnerZawxoE8naMg==",
"path": "system.configuration.configurationmanager/9.0.9",
"hashPath": "system.configuration.configurationmanager.9.0.9.nupkg.sha512"
},
"System.Data.Odbc/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xSAfSD/j3ACV8YiXOIBYUbzqTjiEMGtFq2gSnwWxBRQdUt4YRj9rVjkawuu4tEb5aiIm27HN4d/X8skaVC654A==",
"path": "system.data.odbc/9.0.9",
"hashPath": "system.data.odbc.9.0.9.nupkg.sha512"
},
"System.Diagnostics.DiagnosticSource/6.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-6tQaIexFycaotdGn23lf3XJ/eI1GOjQKIvQDRFN9N4pwoNsKnHuXccQ3lnQO6GX8KAb1ic+6ZofJmPdbUVwZag==",
"path": "system.diagnostics.diagnosticsource/6.0.2",
"hashPath": "system.diagnostics.diagnosticsource.6.0.2.nupkg.sha512"
},
"System.Diagnostics.EventLog/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-wpsUfnyv8E5K4WQaok6weewvAbQhcLwXFcHBm5U0gdEaBs85N//ssuYvRPFWwz2rO/9/DFP3A1sGMzUFBj8y3w==",
"path": "system.diagnostics.eventlog/9.0.9",
"hashPath": "system.diagnostics.eventlog.9.0.9.nupkg.sha512"
},
"System.Formats.Asn1/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-XqKba7Mm/koKSjKMfW82olQdmfbI5yqeoLV/tidRp7fbh5rmHAQ5raDI/7SU0swTzv+jgqtUGkzmFxuUg0it1A==",
"path": "system.formats.asn1/8.0.1",
"hashPath": "system.formats.asn1.8.0.1.nupkg.sha512"
},
"System.IdentityModel.Tokens.Jwt/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-rQkO1YbAjLwnDJSMpRhRtrc6XwIcEOcUvoEcge+evurpzSZM3UNK+MZfD3sKyTlYsvknZ6eJjSBfnmXqwOsT9Q==",
"path": "system.identitymodel.tokens.jwt/7.7.1",
"hashPath": "system.identitymodel.tokens.jwt.7.7.1.nupkg.sha512"
},
"System.Memory/4.6.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-OEkbBQoklHngJ8UD8ez2AERSk2g+/qpAaSWWCBFbpH727HxDq5ydVkuncBaKcKfwRqXGWx64dS6G1SUScMsitg==",
"path": "system.memory/4.6.0",
"hashPath": "system.memory.4.6.0.nupkg.sha512"
},
"System.Memory.Data/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-BVYuec3jV23EMRDeR7Dr1/qhx7369dZzJ9IWy2xylvb4YfXsrUxspWc4UWYid/tj4zZK58uGZqn2WQiaDMhmAg==",
"path": "system.memory.data/8.0.1",
"hashPath": "system.memory.data.8.0.1.nupkg.sha512"
},
"System.Security.Cryptography.Pkcs/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CoCRHFym33aUSf/NtWSVSZa99dkd0Hm7OCZUxORBjRB16LNhIEOf8THPqzIYlvKM0nNDAPTRBa1FxEECrgaxxA==",
"path": "system.security.cryptography.pkcs/8.0.1",
"hashPath": "system.security.cryptography.pkcs.8.0.1.nupkg.sha512"
},
"System.Security.Cryptography.ProtectedData/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-XN37933FTzEkqGJoOTunvnvzAv/4VO/9wQ0QwsGcrR5KyQpYT0z4Ssm+f+fpY9bea6srypFp3JjNPHHC26xzLw==",
"path": "system.security.cryptography.protecteddata/9.0.9",
"hashPath": "system.security.cryptography.protecteddata.9.0.9.nupkg.sha512"
},
"System.Text.Json/8.0.5": {
"type": "package",
"serviceable": true,
"sha512": "sha512-0f1B50Ss7rqxXiaBJyzUu9bWFOO2/zSlifZ/UNMdiIpDYe4cY4LQQicP4nirK1OS31I43rn062UIJ1Q9bpmHpg==",
"path": "system.text.json/8.0.5",
"hashPath": "system.text.json.8.0.5.nupkg.sha512"
},
"System.Threading.Tasks.Extensions/4.6.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-I5G6Y8jb0xRtGUC9Lahy7FUvlYlnGMMkbuKAQBy8Jb7Y6Yn8OlBEiUOY0PqZ0hy6Ua8poVA1ui1tAIiXNxGdsg==",
"path": "system.threading.tasks.extensions/4.6.0",
"hashPath": "system.threading.tasks.extensions.4.6.0.nupkg.sha512"
},
"DigitalData.Modules.Base/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"DigitalData.Modules.Database/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"DigitalData.Modules.Encryption/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"DigitalData.Modules.Logging/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"DigitalData.Modules.Base.Reference/1.3.9.0": {
"type": "reference",
"serviceable": false,
"sha512": ""
},
"DigitalData.Modules.Database.Reference/2.4.0.0": {
"type": "reference",
"serviceable": false,
"sha512": ""
},
"DigitalData.Modules.Encryption.Reference/2.5.0.0": {
"type": "reference",
"serviceable": false,
"sha512": ""
},
"DigitalData.Modules.Logging.Reference/2.0.0.0": {
"type": "reference",
"serviceable": false,
"sha512": ""
}
}
}

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="FirebirdSql.Data.FirebirdClient" type="EntityFramework.Firebird.FbProviderServices, EntityFramework.Firebird" />
</providers>
<defaultConnectionFactory type="EntityFramework.Firebird.FbConnectionFactory, EntityFramework.Firebird" />
</entityFramework>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FirebirdSql.Data.FirebirdClient" publicKeyToken="3750abcc3150b00c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.5.0.0" newVersion="7.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="EntityFramework.Firebird.FbConnectionFactory, EntityFramework.Firebird" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="FirebirdSql.Data.FirebirdClient" type="EntityFramework.Firebird.FbProviderServices, EntityFramework.Firebird" />
</providers>
</entityFramework>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FirebirdSql.Data.FirebirdClient" publicKeyToken="3750abcc3150b00c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.5.0.0" newVersion="7.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" /></startup></configuration>

View File

@@ -1,6 +1,6 @@
Imports FirebirdSql.Data.FirebirdClient Imports FirebirdSql.Data.FirebirdClient
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
Imports DigitalData.Modules.Logging Imports Digitaldata.Modules.Logging
Imports System.ComponentModel Imports System.ComponentModel
Imports System.Data Imports System.Data

View File

@@ -1,8 +1,9 @@
Imports System.ComponentModel Imports System.ComponentModel
Imports System.Data Imports System.Data
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports DigitalData.Modules.Encryption Imports Digitaldata.Modules.Encryption
Imports DigitalData.Modules.Logging Imports Digitaldata.Modules.Logging
Imports Microsoft.Data.SqlClient
Public Class MSSQLServer Public Class MSSQLServer
Implements IDatabase Implements IDatabase
@@ -36,6 +37,10 @@ Public Class MSSQLServer
QueryTimeout = pTimeout QueryTimeout = pTimeout
Try Try
If Not pConnectionString.Contains("TrustServerCertificate") Then
pConnectionString += ";TrustServerCertificate=true"
End If
CurrentConnectionString = pConnectionString CurrentConnectionString = pConnectionString
DBInitialized = TestCanConnect(CurrentConnectionString) DBInitialized = TestCanConnect(CurrentConnectionString)
Catch ex As Exception Catch ex As Exception

View File

@@ -1,18 +1,20 @@
Imports System.Data.Odbc Imports System.Data
Imports System.Data Imports System.Data.Odbc
Imports NLog Imports Digitaldata.Modules.Logging
Public Class ODBC Public Class ODBC
Private _Logger As Logger Private _Logger As Logger
Private _LogConfig As LogConfig
Private _connectionDatasource As String Private _connectionDatasource As String
Private _connectionUsername As String Private _connectionUsername As String
Private _connectionPassword As String Private _connectionPassword As String
Private _connectionString As String Private _connectionString As String
Public Sub New(Datasource As String, User As String, Password As String) Public Sub New(LogConfig As LogConfig, Datasource As String, User As String, Password As String)
Try Try
_Logger = LogManager.GetCurrentClassLogger() _LogConfig = LogConfig
_Logger = _LogConfig.GetLogger()
_connectionDatasource = Datasource _connectionDatasource = Datasource
_connectionPassword = Password _connectionPassword = Password

View File

@@ -1,4 +1,6 @@
Imports DigitalData.Modules.Encryption Imports Microsoft.Data
Imports Digitaldata.Modules.Encryption
Imports Digitaldata.Modules.Logging
Imports Oracle.ManagedDataAccess.Client Imports Oracle.ManagedDataAccess.Client
Imports System.Data Imports System.Data

View File

@@ -1,56 +1,35 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<OutputType>Library</OutputType>
<RootNamespace>DigitalData.Modules.Database</RootNamespace> <RootNamespace>DigitalData.Modules.Database</RootNamespace>
<TargetFramework>net8.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<AssemblyName>DigitalData.Modules.Database</AssemblyName> <AssemblyName>DigitalData.Modules.Database</AssemblyName>
<MyType>Empty</MyType> <Company>Digital Data GmbH</Company>
<ImplicitUsings>enable</ImplicitUsings> <AssemblyTitle>Provides database-methods and -functions for DD Products</AssemblyTitle>
<PostBuildEvent>powershell.exe -command "&amp; { &amp;'$(SolutionDir)copy-binary.ps1' '$(TargetPath)' '$(TargetFileName)' '$(ConfigurationName)' '$(ProjectName)' }"</PostBuildEvent> <AssemblyVersion>2.4.0</AssemblyVersion>
<AssemblyTitle>Modules.Database</AssemblyTitle> <FileVersion>2.4.0</FileVersion>
<Description>Stellt Funktionen für den Datenbankzugriff zur Verfügung</Description> <Title>$(AssemblyName)</Title>
<Company>Digital Data</Company> <Product>$(AssemblyName)</Product>
<Product>Modules.Database</Product>
<Copyright>Copyright © 2025</Copyright>
<AssemblyVersion>2.3.6.0</AssemblyVersion>
<FileVersion>2.3.6.0</FileVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DocumentationFile>DigitalData.Modules.Database.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DefineDebug>false</DefineDebug>
<DocumentationFile>DigitalData.Modules.Database.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="EntityFramework" Version="6.5.1" /> <PackageReference Include="FirebirdSql.Data.FirebirdClient" Version="10.3.3" />
<PackageReference Include="EntityFramework.Firebird" Version="10.1.0" /> <PackageReference Include="Microsoft.Data.SqlClient" Version="6.1.1" />
<PackageReference Include="FirebirdSql.Data.FirebirdClient" Version="10.3.2" /> <PackageReference Include="NLog" Version="6.0.4" />
<PackageReference Include="NLog" Version="5.0.5" /> <PackageReference Include="Oracle.ManagedDataAccess" Version="23.9.1" />
<PackageReference Include="System.Data.Odbc" Version="8.0.1" /> <PackageReference Include="System.Data.Odbc" Version="9.0.9" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="10.0.1" />
<PackageReference Include="CoreWCF.Primitives" Version="1.8.0" />
<PackageReference Include="CoreWCF.ConfigurationManager" Version="1.8.0" />
<PackageReference Include="CoreWCF.Http" Version="1.8.0" />
<PackageReference Include="CoreWCF.WebHttp" Version="1.8.0" />
<PackageReference Include="CoreWCF.NetTcp" Version="1.8.0" />
<PackageReference Include="Oracle.ManagedDataAccess" Version="23.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Import Include="DigitalData.Modules.Logging" /> <ProjectReference Include="..\Logging_.NET8\Logging_.NET8.vbproj" />
</ItemGroup>
<ItemGroup>
<Compile Remove="My Project\Application.Designer.vb" />
<Compile Remove="My Project\Resources.Designer.vb" />
<Compile Remove="My Project\Settings.Designer.vb" />
<EmbeddedResource Remove="My Project\Resources.resx" />
<None Remove="My Project\Application.myapp" />
<None Remove="My Project\Settings.settings" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Logging\Logging.vbproj" />
<ProjectReference Include="..\Encryption\Encryption.vbproj" /> <ProjectReference Include="..\Encryption\Encryption.vbproj" />
</ItemGroup> </ItemGroup>
</Project>
<ItemGroup>
<None Update="MyProject\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
</None>
</ItemGroup>
</Project>

View File

@@ -1,6 +1,7 @@
Imports DigitalData.Modules.Logging Imports System.Data
Imports Digitaldata.Modules.Logging
Imports Microsoft.Data
Imports Oracle.ManagedDataAccess.Client Imports Oracle.ManagedDataAccess.Client
Imports System.Data
Public Class Dispatcher Public Class Dispatcher
Public ReadOnly Property Connections As New List(Of DispatcherConnection) Public ReadOnly Property Connections As New List(Of DispatcherConnection)

View File

@@ -1,6 +1,7 @@
Imports System.Data.Common Imports System.Data
Imports System.Data Imports System.Data.Common
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports Microsoft.Data.SqlClient
Public Interface IDatabase Public Interface IDatabase
''' <summary> ''' <summary>

View File

@@ -0,0 +1,13 @@
'------------------------------------------------------------------------------
' <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 On
Option Explicit On

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>false</MySubMain>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<ApplicationType>1</ApplicationType>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

View File

@@ -0,0 +1,63 @@
'------------------------------------------------------------------------------
' <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 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.
'''<summary>
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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.Database.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
End Module
End Namespace

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

73
Database/My Project/Settings.Designer.vb generated Normal file
View File

@@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <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 On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.DigitalData.Modules.Database.My.MySettings
Get
Return Global.DigitalData.Modules.Database.My.MySettings.Default
End Get
End Property
End Module
End Namespace

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

Binary file not shown.

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="EntityFramework.Firebird.FbConnectionFactory, EntityFramework.Firebird" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="FirebirdSql.Data.FirebirdClient" type="EntityFramework.Firebird.FbProviderServices, EntityFramework.Firebird" />
</providers>
</entityFramework>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FirebirdSql.Data.FirebirdClient" publicKeyToken="3750abcc3150b00c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.5.0.0" newVersion="7.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" /></startup></configuration>

View File

@@ -0,0 +1,335 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Database
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Database.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Database.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Database.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.Create(DigitalData.Modules.Logging.LogConfig,System.String)">
<summary>
Create a new instance of Dispatcher. This is the preferred way to create the dispatcher.
</summary>
<param name="pLogConfig">An instance of LogConfig</param>
<param name="pConnectionString">Initial connectionstring for connecting to DD_ECM database.</param>
<returns>An instance of Dispatcher with connections</returns>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.#ctor(DigitalData.Modules.Logging.LogConfig,System.Collections.Generic.List{DigitalData.Modules.Database.Dispatcher.DispatcherConnection})">
<summary>
Create a new instance of Dispatcher. Needs a manually constructed list of connection objects.
</summary>
<param name="pLogConfig">An instance of LogConfig</param>
<param name="pConnections">A list of DispatcherConnection objects</param>
<seealso cref="M:DigitalData.Modules.Database.Dispatcher.Create(DigitalData.Modules.Logging.LogConfig,System.String)"/>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.GetDatatable(System.String,System.Int32)">
<summary>
Returns a Datatable from the database with the specified connection id
</summary>
<param name="pSQLCommand">The SQL query</param>
<param name="pConnectionId">The connection id</param>
<returns>A datatable with the results or nothing if an error occurred</returns>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.GetDatatable(System.String)">
<summary>
Returns a Datatable from the database
</summary>
<param name="pSQLCommand">The SQL query</param>
<returns>A datatable with the results or nothing if an error occurred</returns>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.ExecuteNonQuery(System.String,System.Int32)">
<summary>
Executes a query without return value like INSERT or UPDATE from the database with the specified connection id and
returns a boolean value indicating success or failure of the query
</summary>
<param name="pSQLCommand">The SQL query</param>
<param name="pConnectionId">The connection id</param>
<returns>True if the query was successful, otherwise false</returns>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.ExecuteNonQuery(System.String)">
<summary>
Executes a query without return value like INSERT or UPDATE from the database and
returns a boolean value indicating success or failure of the query
</summary>
<param name="pSQLCommand">The SQL query</param>
<returns>True if the query was successful, otherwise false</returns>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.GetScalarValue(System.String,System.Int32)">
<summary>
Returns a single value from the database specified by the connection id
</summary>
<param name="pSQLCommand">The SQL query</param>
<param name="pConnectionId">The connection id</param>
<returns>A value of type object</returns>
</member>
<member name="M:DigitalData.Modules.Database.Dispatcher.GetScalarValue(System.String)">
<summary>
Returns a single value from the database
</summary>
<param name="pSQLCommand">The SQL query</param>
<returns>A value of type object</returns>
</member>
<member name="T:DigitalData.Modules.Database.Firebird">
<summary>
MODULE: Firebird
VERSION: 0.0.0.4
DATE: 18.12.2018
DESCRIPTION:
DEPENDENCIES: NLog, >= 4.5.10
EntityFramework.Firebird, >= 6.4.0
FirebirdSql.Data.FirebirdClient, >= 6.4.0
PARAMETERS: LogConfig, DigitalData.Modules.Logging.LogConfig
The LogFactory containing the current log config. Used to instanciate the class logger for this and any dependent class
DataSource, String
The server where the database lives, for example 127.0.0.1 or dd-vmx09-vm03
Database, String
The location of the Database in the format `127.0.0.1:E:\Path\To\Database.FDB`
User, String
The user name to connect as
Password, String
The user's password
PROPERTIES: ConnectionEstablished, Boolean
If the last opened connection was successful
ConnectionFailed, Boolean
If the last opened connection failed
ConnectionString, String
The used connectionstring
EXAMPLES:
REMARKS: If the connection fails due to "wrong username or password", the cause might be that the server harddrive is full..
</summary>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.#ctor(DigitalData.Modules.Logging.LogConfig,System.String,System.String,System.String,System.String)">
<summary>
</summary>
<param name="LogConfig">The LogFactory containing the current log config. Used to instanciate the class logger for this and any dependent class</param>
<param name="Datasource">The server where the database lives, for example 127.0.0.1 or dd-vmx09-vm03</param>
<param name="Database">The location of the Database in the format `127.0.0.1:E:\Path\To\Database.FDB`</param>
<param name="User">The user name to connect as</param>
<param name="Password">The user's password</param>
<exception cref="T:DigitalData.Modules.Database.Exceptions.DatabaseException"></exception>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetConnectionString(System.String,System.String,System.String,System.String)">
<summary>
Builds a connectionstring from the provided arguments.
</summary>
<param name="DataSource">The database server where to connect to</param>
<param name="Database">The datasource, eg. the path of the FDB-file</param>
<param name="User">The user used to connect to the database</param>
<param name="Password">The password of the connecting user</param>
<returns>A connectionstring</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.ExecuteNonQueryWithConnection(System.String,FirebirdSql.Data.FirebirdClient.FbConnection,DigitalData.Modules.Database.Firebird.TransactionMode,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a non-query command.
</summary>
<param name="SqlCommand">The command to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.ExecuteNonQuery(System.String)">
<summary>
Executes a non-query command.
</summary>
<param name="SqlCommand">The command to execute</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.ExecuteNonQuery(System.String,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a non-query command inside the specified transaction.
</summary>
<param name="SqlCommand">The command to execute</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetScalarValueWithConnection(System.String,FirebirdSql.Data.FirebirdClient.FbConnection,DigitalData.Modules.Database.Firebird.TransactionMode,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a sql query resulting in a scalar value.
</summary>
<param name="SqlQuery">The query to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>The scalar value if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetScalarValue(System.String)">
<summary>
Executes a sql query resulting in a scalar value.
</summary>
<param name="SqlQuery">The query to execute</param>
<returns>The scalar value if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetDatatableWithConnection(System.String,FirebirdSql.Data.FirebirdClient.FbConnection,DigitalData.Modules.Database.Firebird.TransactionMode,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Firebird.GetDatatable(System.String,DigitalData.Modules.Database.Firebird.TransactionMode,FirebirdSql.Data.FirebirdClient.FbTransaction)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="P:DigitalData.Modules.Database.IDatabase.DBInitialized">
<summary>
Returns true if the initial connection to the configured database was successful.
</summary>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.ExecuteNonQueryWithConnection(System.String,System.Data.Odbc.OdbcConnection)">
<summary>
Executes a non-query command.
</summary>
<param name="SqlQuery">The command to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.ExecuteNonQuery(System.String)">
<summary>
Executes a non-query command.
</summary>
<param name="SqlCommand">The command to execute</param>
<returns>True, if command was executed sucessfully. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.GetScalarValueWithConnection(System.String,System.Data.Odbc.OdbcConnection)">
<summary>
Executes a sql query resulting in a scalar value.
</summary>
<param name="SqlQuery">The query to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>The scalar value if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.GetScalarValue(System.String)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.GetDatatableWithConnection(System.String,System.Data.Odbc.OdbcConnection)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<param name="Connection">The Firebird connection to use</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.ODBC.GetDatatable(System.String)">
<summary>
Executes a sql query resulting in a table of values.
</summary>
<param name="SqlQuery">The query to execute</param>
<returns>A datatable containing the results if the command was executed successfully. Nothing otherwise.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.EncryptConnectionString(System.String)">
<summary>
Encrypts a connection string password.
</summary>
<param name="ConnectionString">A connection string with a plain-text password</param>
<returns>The connection string with the password encrypted.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.DecryptConnectionString(System.String)">
<summary>
Decrypts a connection string password.
</summary>
<param name="ConnectionString">A connection string with a encrypted password</param>
<returns>The connection string with the password decrypted.</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.NewExecutenonQuery(System.String)">
<summary>
Executes the passed sql-statement
</summary>
<param name="executeStatement">the sql statement</param>
<returns>Returns true if properly executed, else false</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.NewExecuteScalar(System.String)">
<summary>
Executes the passed sql-statement as Scalar
</summary>
<param name="executeStatement">the sql statement</param>
<returns>Returns the scalarvalue</returns>
</member>
<member name="M:DigitalData.Modules.Database.Oracle.OpenSQLConnection(Oracle.ManagedDataAccess.Client.OracleConnection)">
<summary>
This Function intentionally has no try..catch block to have any errors caught outside
</summary>
<param name="Connection"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.EncryptConnectionString(System.String)">
<summary>
Encrypts a connection string password.
</summary>
<param name="pConnectionString">A connection string with a plain-text password</param>
<returns>The connection string with the password encrypted.</returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.DecryptConnectionString(System.String)">
<summary>
Decrypts a connection string password.
</summary>
<param name="pConnectionString">A connection string with a encrypted password</param>
<returns>The connection string with the password decrypted.</returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.OpenSQLConnection(System.Data.SqlClient.SqlConnection)">
<summary>
This Function intentionally has no try..catch block to have any errors caught outside
</summary>
<param name="pConnection"></param>
<returns></returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.GetDatatable(System.String,System.Int32)">
<summary>
Returns a Datatable for a SQL Statement
</summary>
<param name="pSqlCommand">SQL Command Text for Datatable (select XYZ from TableORView)</param>
<returns>A datatable</returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.GetDatatable(System.Data.SqlClient.SqlCommand,System.Int32)">
<summary>
Returns a datatable for a SQL Statement
</summary>
<param name="pSqlCommandObject">SQL Command Object for Datatable (select XYZ from TableORView)</param>
<returns>A datatable</returns>
</member>
<member name="M:DigitalData.Modules.Database.MSSQLServer.NewExecuteNonQueryAsync(System.String,System.Int32)">
<summary>
Executes the passed sql-statement in asyncmode
</summary>
<param name="SqlCommand">the sql statement</param>
<param name="commandtimeout">Optional Timeout</param>
<remarks></remarks>
</member>
</members>
</doc>

Binary file not shown.

View File

@@ -0,0 +1,31 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Encryption
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Encryption.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Encryption.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Encryption.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Encryption.Encryption">
<summary>
https://stackoverflow.com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp
</summary>
</member>
</members>
</doc>

Binary file not shown.

View File

@@ -0,0 +1,200 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
DigitalData.Modules.Logging
</name>
</assembly>
<members>
<member name="T:DigitalData.Modules.Logging.My.Resources.Resources">
<summary>
Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:DigitalData.Modules.Logging.My.Resources.Resources.ResourceManager">
<summary>
Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:DigitalData.Modules.Logging.My.Resources.Resources.Culture">
<summary>
Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:DigitalData.Modules.Logging.LogConfig">
<module>LogConfig</module>
<version>0.0.1.0</version>
<date>02.10.2018</date>
<summary>
Module that writes file-logs to different locations:
local application data, the current directory or a custom path.
Files and directories will be automatically created.
</summary>
<dependencies>
NLog, >= 4.5.8
</dependencies>
<example>
Imports DigitalData.Modules.Logging
Class FooProgram
Private Logger as Logger
Private LogConfig as LogConfig
Public Sub New()
LogConfig = new LogConfig(args)
Logger = LogConfig.GetLogger()
End Sub
Public Sub Bar()
Logger.Info("Baz")
End Sub
End Class
Class FooLib
Private Logger as NLog.Logger
Public Sub New(LogConfig as LogConfig)
Logger = LogConfig.GetLogger()
End Sub
Public Sub Bar()
Logger.Info("Baz")
End Sub
End Class
</example>
<remarks>
If logpath can not be written to, falls back to temp folder as defined in:
https://docs.microsoft.com/de-de/dotnet/api/system.io.path.gettemppath?view=netframework-4.7.2
If used in a service, LogPath must be set to CustomPath, otherwise the Log will be written to System32!
For NLog Troubleshooting, set the following Environment variables to write the NLog internal Log:
- NLOG_INTERNAL_LOG_LEVEL: Debug
- NLOG_INTERNAL_LOG_FILE: ex. C:\Temp\Nlog_Internal.log
</remarks>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogFactory">
<summary>
Returns the NLog.LogFactory object that is used to create Loggers
</summary>
<returns>LogFactory object</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogFile">
<summary>
Returns the path to the current default logfile
</summary>
<returns>Filepath to the logfile</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.LogDirectory">
<summary>
Returns the path to the current log directory
</summary>
<returns>Directory path to the log directory</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.Debug">
<summary>
Determines if a debug log will be written
</summary>
<returns>True, if debug log will be written. False otherwise.</returns>
</member>
<member name="P:DigitalData.Modules.Logging.LogConfig.Logs">
<summary>
Returns Logs in Memory as List(Of String) if Debug is enabled
Returns an empty list if debug is disabled
</summary>
<returns>A list of log messages</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.#ctor(DigitalData.Modules.Logging.LogOptions)">
<summary>
Initializes a new LogConfig object with the options supplied as a LogOptions object
</summary>
<param name="Options"></param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.#ctor(DigitalData.Modules.Logging.LogConfig.PathType,System.String,System.String,System.String,System.String,System.Int32)">
<summary>
Initializes a new LogConfig object with a logpath and optinally a filename-suffix.
</summary>
<param name="LogPath">The basepath to write logs to. Can be AppData, CurrentDirectory or CustomPath.</param>
<param name="CustomLogPath">If `logPath` is set to custom, this defines the custom logPath.</param>
<param name="Suffix">If set to anything other than Nothing, extends the logfile name with this suffix.</param>
<param name="CompanyName">CompanyName is used to construct log-path in when LogPath is set to PathType:AppData</param>
<param name="ProductName">ProductName is used to construct log-path in when LogPath is set to PathType:AppData</param>
<param name="FileKeepRangeInDays">Amount of days where files are kept and not deleted.</param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ClearOldLogfiles(System.Int32)">
<summary>
Clears old LogFiles from the configured logpath for compliance with the GDPR
</summary>
<param name="FileKeepRange">Days in which logfiles should be kept. All files older than `Now - FileKeepInterval` will be deleted.</param>
<returns>True, if files were deleted as expected or no files were deleted. Otherwise false.</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger">
<summary>
Returns the Logger for the calling class
</summary>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger(System.String)">
<summary>
Returns the Logger for the specified classname
</summary>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLoggerFor(System.String)">
<summary>
Returns the Logger for the specified module using event-properties
</summary>
<remarks>
https://github.com/NLog/NLog/wiki/EventProperties-Layout-Renderer
https://stackoverflow.com/questions/31337030/separate-log-file-for-specific-class-instance-using-nlog/32065824#32065824
</remarks>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetLogger(System.String,System.String)">
<summary>
Returns the Logger for a class specified by `ClassName`
</summary>
<param name="ClassName">The name of the class the logger belongs to</param>
<returns>An object of Logging.Logger</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ClearLogs">
<summary>
Clears the internal log
</summary>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetClassFullName(System.Boolean,System.Int32)">
<summary>
Gets the fully qualified name of the class invoking the calling method,
including the namespace but Not the assembly.
</summary>
<returns>The fully qualified class name</returns>
<remarks>This method is very resource-intensive!</remarks>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetConfig(System.String,System.String)">
<summary>
Returns the initial log configuration
</summary>
<param name="productName">The chosen productname</param>
<param name="logFileSuffix">The chosen suffix</param>
<returns>A NLog.LoggingConfiguration object</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.AddDefaultRules(NLog.Config.LoggingConfiguration@)">
<summary>
Adds the default rules
</summary>
<param name="config">A NLog.LoggingConfiguration object</param>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.GetCurrentLogFilePath">
<summary>
Returns the full path of the current default log file.
</summary>
<returns>Full path of the current default log file</returns>
</member>
<member name="M:DigitalData.Modules.Logging.LogConfig.ReloadConfig">
<summary>
Reconfigures and re-adds all loggers, optionally adding the debug rule.
</summary>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

BIN
Database/bin/Debug/NLog.dll Normal file

Binary file not shown.

28265
Database/bin/Debug/NLog.xml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,487 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>System.Data.Odbc</name>
</assembly>
<members>
<member name="P:System.SR.ADP_CollectionIndexInt32">
<summary>Invalid index {0} for this {1} with Count={2}.</summary>
</member>
<member name="P:System.SR.ADP_CollectionIndexString">
<summary>An {0} with {1} '{2}' is not contained by this {3}.</summary>
</member>
<member name="P:System.SR.ADP_CollectionInvalidType">
<summary>The {0} only accepts non-null {1} type objects, not {2} objects.</summary>
</member>
<member name="P:System.SR.ADP_CollectionIsNotParent">
<summary>The {0} is already contained by another {1}.</summary>
</member>
<member name="P:System.SR.ADP_CollectionIsParent">
<summary>The {0} with is already contained by this {1}.</summary>
</member>
<member name="P:System.SR.ADP_CollectionNullValue">
<summary>The {0} only accepts non-null {1} type objects.</summary>
</member>
<member name="P:System.SR.ADP_CollectionRemoveInvalidObject">
<summary>Attempted to remove an {0} that is not contained by this {1}.</summary>
</member>
<member name="P:System.SR.ADP_CollectionUniqueValue">
<summary>The {0}.{1} is required to be unique, '{2}' already exists in the collection.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionAlreadyOpen">
<summary>The connection was not closed. {0}</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStateMsg_Closed">
<summary>The connection's current state is closed.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStateMsg_Connecting">
<summary>The connection's current state is connecting.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStateMsg_Open">
<summary>The connection's current state is open.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStateMsg_OpenExecuting">
<summary>The connection's current state is executing.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStateMsg_OpenFetching">
<summary>The connection's current state is fetching.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStateMsg">
<summary>The connection's current state: {0}.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionStringSyntax">
<summary>Format of the initialization string does not conform to specification starting at index {0}.</summary>
</member>
<member name="P:System.SR.ADP_DataReaderClosed">
<summary>Invalid attempt to call {0} when reader is closed.</summary>
</member>
<member name="P:System.SR.ADP_EmptyString">
<summary>Expecting non-empty string for '{0}' parameter.</summary>
</member>
<member name="P:System.SR.ADP_InternalConnectionError">
<summary>Internal DbConnection Error: {0}</summary>
</member>
<member name="P:System.SR.ADP_InvalidDataDirectory">
<summary>The DataDirectory substitute is not a string.</summary>
</member>
<member name="P:System.SR.ADP_InvalidEnumerationValue">
<summary>The {0} enumeration value, {1}, is invalid.</summary>
</member>
<member name="P:System.SR.ADP_InvalidKey">
<summary>Invalid keyword, contain one or more of 'no characters', 'control characters', 'leading or trailing whitespace' or 'leading semicolons'.</summary>
</member>
<member name="P:System.SR.ADP_InvalidOffsetValue">
<summary>Invalid parameter Offset value '{0}'. The value must be greater than or equal to 0.</summary>
</member>
<member name="P:System.SR.ADP_InvalidValue">
<summary>The value contains embedded nulls (\\u0000).</summary>
</member>
<member name="P:System.SR.ADP_NoConnectionString">
<summary>The ConnectionString property has not been initialized.</summary>
</member>
<member name="P:System.SR.ADP_OpenConnectionPropertySet">
<summary>Not allowed to change the '{0}' property. {1}</summary>
</member>
<member name="P:System.SR.ADP_PooledOpenTimeout">
<summary>Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.</summary>
</member>
<member name="P:System.SR.ADP_NonPooledOpenTimeout">
<summary>Timeout attempting to open the connection. The time period elapsed prior to attempting to open the connection has been exceeded. This may have occurred because of too many simultaneous non-pooled connection attempts.</summary>
</member>
<member name="P:System.SR.ADP_QuotePrefixNotSet">
<summary>{0} requires an open connection when the quote prefix has not been set.</summary>
</member>
<member name="P:System.SR.MDF_QueryFailed">
<summary>Unable to build the '{0}' collection because execution of the SQL query failed. See the inner exception for details.</summary>
</member>
<member name="P:System.SR.MDF_TooManyRestrictions">
<summary>More restrictions were provided than the requested schema ('{0}') supports.</summary>
</member>
<member name="P:System.SR.MDF_InvalidRestrictionValue">
<summary>'{2}' is not a valid value for the '{1}' restriction of the '{0}' schema collection.</summary>
</member>
<member name="P:System.SR.MDF_UndefinedCollection">
<summary>The requested collection ({0}) is not defined.</summary>
</member>
<member name="P:System.SR.MDF_UndefinedPopulationMechanism">
<summary>The population mechanism '{0}' is not defined.</summary>
</member>
<member name="P:System.SR.MDF_UnsupportedVersion">
<summary>The requested collection ({0}) is not supported by this version of the provider.</summary>
</member>
<member name="P:System.SR.MDF_MissingDataSourceInformationColumn">
<summary>One of the required DataSourceInformation tables columns is missing.</summary>
</member>
<member name="P:System.SR.MDF_IncorrectNumberOfDataSourceInformationRows">
<summary>The DataSourceInformation table must contain exactly one row.</summary>
</member>
<member name="P:System.SR.MDF_MissingRestrictionColumn">
<summary>One or more of the required columns of the restrictions collection is missing.</summary>
</member>
<member name="P:System.SR.MDF_MissingRestrictionRow">
<summary>A restriction exists for which there is no matching row in the restrictions collection.</summary>
</member>
<member name="P:System.SR.MDF_NoColumns">
<summary>The schema table contains no columns.</summary>
</member>
<member name="P:System.SR.MDF_UnableToBuildCollection">
<summary>Unable to build schema collection '{0}';</summary>
</member>
<member name="P:System.SR.MDF_AmbigousCollectionName">
<summary>The collection name '{0}' matches at least two collections with the same name but with different case, but does not match any of them exactly.</summary>
</member>
<member name="P:System.SR.MDF_CollectionNameISNotUnique">
<summary>There are multiple collections named '{0}'.</summary>
</member>
<member name="P:System.SR.MDF_DataTableDoesNotExist">
<summary>The collection '{0}' is missing from the metadata XML.</summary>
</member>
<member name="P:System.SR.MDF_InvalidXml">
<summary>The metadata XML is invalid.</summary>
</member>
<member name="P:System.SR.MDF_InvalidXmlMissingColumn">
<summary>The metadata XML is invalid. The {0} collection must contain a {1} column and it must be a string column.</summary>
</member>
<member name="P:System.SR.MDF_InvalidXmlInvalidValue">
<summary>The metadata XML is invalid. The {1} column of the {0} collection must contain a non-empty string.</summary>
</member>
<member name="P:System.SR.SqlConvert_ConvertFailed">
<summary>Cannot convert object of type '{0}' to object of type '{1}'.</summary>
</member>
<member name="P:System.SR.ADP_InvalidConnectionOptionValue">
<summary>Invalid value for key '{0}'.</summary>
</member>
<member name="P:System.SR.ADP_KeywordNotSupported">
<summary>Keyword not supported: '{0}'.</summary>
</member>
<member name="P:System.SR.ADP_InternalProviderError">
<summary>Internal .NET Framework Data Provider error {0}.</summary>
</member>
<member name="P:System.SR.ADP_InvalidMultipartName">
<summary>{0} '{1}'.</summary>
</member>
<member name="P:System.SR.ADP_InvalidMultipartNameQuoteUsage">
<summary>{0} '{1}', incorrect usage of quotes.</summary>
</member>
<member name="P:System.SR.ADP_InvalidMultipartNameToManyParts">
<summary>{0} '{1}', the current limit of '{2}' is insufficient.</summary>
</member>
<member name="P:System.SR.ADP_NotSupportedEnumerationValue">
<summary>The {0} enumeration value, {1}, is not supported by the {2} method.</summary>
</member>
<member name="P:System.SR.ADP_StreamClosed">
<summary>Invalid attempt to {0} when stream is closed.</summary>
</member>
<member name="P:System.SR.ADP_InvalidSourceBufferIndex">
<summary>Invalid source buffer (size of {0}) offset: {1}</summary>
</member>
<member name="P:System.SR.ADP_InvalidDestinationBufferIndex">
<summary>Invalid destination buffer (size of {0}) offset: {1}</summary>
</member>
<member name="P:System.SR.SQL_InvalidBufferSizeOrIndex">
<summary>Buffer offset '{1}' plus the bytes available '{0}' is greater than the length of the passed in buffer.</summary>
</member>
<member name="P:System.SR.SQL_InvalidDataLength">
<summary>Data length '{0}' is less than 0.</summary>
</member>
<member name="P:System.SR.ADP_InvalidSeekOrigin">
<summary>Specified SeekOrigin value is invalid.</summary>
</member>
<member name="P:System.SR.SQL_WrongType">
<summary>Expecting argument of type {1}, but received type {0}.</summary>
</member>
<member name="P:System.SR.ODBC_ODBCCommandText">
<summary>OdbcCommandBuilder.DeriveParameters failed because the OdbcCommand.CommandText property value is an invalid multipart name</summary>
</member>
<member name="P:System.SR.ODBC_NotSupportedEnumerationValue">
<summary>The {0} enumeration value, {1}, is not supported by the .NET Framework Odbc Data Provider.</summary>
</member>
<member name="P:System.SR.ADP_CommandTextRequired">
<summary>{0}: CommandText property has not been initialized</summary>
</member>
<member name="P:System.SR.ADP_ConnectionRequired">
<summary>{0}: Connection property has not been initialized.</summary>
</member>
<member name="P:System.SR.ADP_OpenConnectionRequired">
<summary>{0} requires an open and available Connection. {1}</summary>
</member>
<member name="P:System.SR.ADP_TransactionConnectionMismatch">
<summary>The transaction is either not associated with the current connection or has been completed.</summary>
</member>
<member name="P:System.SR.ADP_TransactionRequired">
<summary>{0} requires the command to have a transaction when the connection assigned to the command is in a pending local transaction. The Transaction property of the command has not been initialized.</summary>
</member>
<member name="P:System.SR.ADP_OpenReaderExists">
<summary>There is already an open DataReader associated with this Command which must be closed first.</summary>
</member>
<member name="P:System.SR.ADP_DeriveParametersNotSupported">
<summary>{0} DeriveParameters only supports CommandType.StoredProcedure, not CommandType. {1}.</summary>
</member>
<member name="P:System.SR.ADP_InvalidCommandTimeout">
<summary>Invalid CommandTimeout value {0}; the value must be &gt;= 0.</summary>
</member>
<member name="P:System.SR.ADP_UninitializedParameterSize">
<summary>{1}[{0}]: the Size property has an invalid size of 0.</summary>
</member>
<member name="P:System.SR.ADP_ClosedConnectionError">
<summary>Invalid operation. The connection is closed.</summary>
</member>
<member name="P:System.SR.ADP_ConnectionIsDisabled">
<summary>The connection has been disabled.</summary>
</member>
<member name="P:System.SR.ADP_EmptyDatabaseName">
<summary>Database cannot be null, the empty string, or string of only whitespace.</summary>
</member>
<member name="P:System.SR.ADP_DatabaseNameTooLong">
<summary>The argument is too long.</summary>
</member>
<member name="P:System.SR.ADP_DataReaderNoData">
<summary>No data exists for the row/column.</summary>
</member>
<member name="P:System.SR.ADP_NumericToDecimalOverflow">
<summary>The numerical value is too large to fit into a 96 bit decimal.</summary>
</member>
<member name="P:System.SR.ADP_InvalidDataType">
<summary>The parameter data type of {0} is invalid.</summary>
</member>
<member name="P:System.SR.ADP_UnknownDataType">
<summary>No mapping exists from object type {0} to a known managed provider native type.</summary>
</member>
<member name="P:System.SR.ADP_UnknownDataTypeCode">
<summary>Unable to handle an unknown TypeCode {0} returned by Type {1}.</summary>
</member>
<member name="P:System.SR.ADP_DbTypeNotSupported">
<summary>No mapping exists from DbType {0} to a known {1}.</summary>
</member>
<member name="P:System.SR.ADP_InvalidSizeValue">
<summary>Invalid parameter Size value '{0}'. The value must be greater than or equal to 0.</summary>
</member>
<member name="P:System.SR.ADP_ParameterConversionFailed">
<summary>Failed to convert parameter value from a {0} to a {1}.</summary>
</member>
<member name="P:System.SR.ADP_ParallelTransactionsNotSupported">
<summary>{0} does not support parallel transactions.</summary>
</member>
<member name="P:System.SR.ADP_TransactionZombied">
<summary>This {0} has completed; it is no longer usable.</summary>
</member>
<member name="P:System.SR.ADP_DbRecordReadOnly">
<summary>'{0}' cannot be called when the record is read only.</summary>
</member>
<member name="P:System.SR.ADP_NonSeqByteAccess">
<summary>Invalid {2} attempt at dataIndex '{0}'. With CommandBehavior.SequentialAccess, you may only read from dataIndex '{1}' or greater.</summary>
</member>
<member name="P:System.SR.ADP_OffsetOutOfRangeException">
<summary>Offset must refer to a location within the value.</summary>
</member>
<member name="P:System.SR.ODBC_GetSchemaRestrictionRequired">
<summary>The ODBC managed provider requires that the TABLE_NAME restriction be specified and non-null for the GetSchema indexes collection.</summary>
</member>
<member name="P:System.SR.ADP_OdbcNoTypesFromProvider">
<summary>The ODBC provider did not return results from SQLGETTYPEINFO.</summary>
</member>
<member name="P:System.SR.Odbc_UnknownSQLType">
<summary>Unknown SQL type - {0}.</summary>
</member>
<member name="P:System.SR.Odbc_NegativeArgument">
<summary>Invalid negative argument!</summary>
</member>
<member name="P:System.SR.Odbc_CantSetPropertyOnOpenConnection">
<summary>Can't set property on an open connection.</summary>
</member>
<member name="P:System.SR.Odbc_NoMappingForSqlTransactionLevel">
<summary>No valid mapping for a SQL_TRANSACTION '{0}' to a System.Data.IsolationLevel enumeration value.</summary>
</member>
<member name="P:System.SR.Odbc_CantEnableConnectionpooling">
<summary>{0} - unable to enable connection pooling...</summary>
</member>
<member name="P:System.SR.Odbc_CantAllocateEnvironmentHandle">
<summary>{0} - unable to allocate an environment handle.</summary>
</member>
<member name="P:System.SR.Odbc_FailedToGetDescriptorHandle">
<summary>{0} - unable to get descriptor handle.</summary>
</member>
<member name="P:System.SR.Odbc_NotInTransaction">
<summary>Not in a transaction</summary>
</member>
<member name="P:System.SR.Odbc_ExceptionMessage">
<summary>{0} [{1}] {2}</summary>
</member>
<member name="P:System.SR.Odbc_ConnectionClosed">
<summary>The connection is closed.</summary>
</member>
<member name="P:System.SR.Odbc_OpenConnectionNoOwner">
<summary>An internal connection does not have an owner.</summary>
</member>
<member name="P:System.SR.Odbc_PlatformNotSupported">
<summary>System.Data.ODBC is not supported on this platform.</summary>
</member>
<member name="P:System.SR.Odbc_UnixOdbcNotFound">
<summary>Dependency unixODBC with minimum version 2.3.1 is required.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Runtime.Versioning.OSPlatformAttribute">
<summary>
Base type for all platform-specific API attributes.
</summary>
</member>
<member name="T:System.Runtime.Versioning.TargetPlatformAttribute">
<summary>
Records the platform that the project targeted.
</summary>
</member>
<member name="T:System.Runtime.Versioning.SupportedOSPlatformAttribute">
<summary>
Records the operating system (and minimum version) that supports an API. Multiple attributes can be
applied to indicate support on multiple operating systems.
</summary>
<remarks>
Callers can apply a <see cref="T:System.Runtime.Versioning.SupportedOSPlatformAttribute" />
or use guards to prevent calls to APIs on unsupported operating systems.
A given platform should only be specified once.
</remarks>
</member>
<member name="T:System.Runtime.Versioning.UnsupportedOSPlatformAttribute">
<summary>
Marks APIs that were removed in a given operating system version.
</summary>
<remarks>
Primarily used by OS bindings to indicate APIs that are only available in
earlier versions.
</remarks>
</member>
<member name="T:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute">
<summary>
Annotates a custom guard field, property or method with a supported platform name and optional version.
Multiple attributes can be applied to indicate guard for multiple supported platforms.
</summary>
<remarks>
Callers can apply a <see cref="T:System.Runtime.Versioning.SupportedOSPlatformGuardAttribute" /> to a field, property or method
and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs.
The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
</remarks>
</member>
<member name="T:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute">
<summary>
Annotates the custom guard field, property or method with an unsupported platform name and optional version.
Multiple attributes can be applied to indicate guard for multiple unsupported platforms.
</summary>
<remarks>
Callers can apply a <see cref="T:System.Runtime.Versioning.UnsupportedOSPlatformGuardAttribute" /> to a field, property or method
and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms.
The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
</remarks>
</member>
</members>
</doc>

View File

@@ -0,0 +1,798 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"DigitalData.Modules.Database/1.0.0": {
"dependencies": {
"DigitalData.Modules.Encryption": "1.0.0",
"DigitalData.Modules.Logging": "1.0.0",
"FirebirdSql.Data.FirebirdClient": "10.3.3",
"Microsoft.Data.SqlClient": "6.1.1",
"NLog": "6.0.4",
"Oracle.ManagedDataAccess": "23.9.1",
"System.Data.Odbc": "9.0.9",
"DigitalData.Modules.Encryption.Reference": "2.5.0.0",
"DigitalData.Modules.Logging.Reference": "2.0.0.0"
},
"runtime": {
"DigitalData.Modules.Database.dll": {}
}
},
"Azure.Core/1.47.1": {
"dependencies": {
"Microsoft.Bcl.AsyncInterfaces": "8.0.0",
"System.ClientModel": "1.5.1",
"System.Memory.Data": "8.0.1"
},
"runtime": {
"lib/net8.0/Azure.Core.dll": {
"assemblyVersion": "1.47.1.0",
"fileVersion": "1.4700.125.36505"
}
}
},
"Azure.Identity/1.14.2": {
"dependencies": {
"Azure.Core": "1.47.1",
"Microsoft.Identity.Client": "4.73.1",
"Microsoft.Identity.Client.Extensions.Msal": "4.73.1",
"System.Memory": "4.6.0"
},
"runtime": {
"lib/net8.0/Azure.Identity.dll": {
"assemblyVersion": "1.14.2.0",
"fileVersion": "1.1400.225.36004"
}
}
},
"FirebirdSql.Data.FirebirdClient/10.3.3": {
"runtime": {
"lib/net8.0/FirebirdSql.Data.FirebirdClient.dll": {
"assemblyVersion": "10.3.3.0",
"fileVersion": "10.3.3.0"
}
}
},
"Microsoft.Bcl.AsyncInterfaces/8.0.0": {
"runtime": {
"lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Bcl.Cryptography/8.0.0": {
"runtime": {
"lib/net8.0/Microsoft.Bcl.Cryptography.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Data.SqlClient/6.1.1": {
"dependencies": {
"Azure.Core": "1.47.1",
"Azure.Identity": "1.14.2",
"Microsoft.Bcl.Cryptography": "8.0.0",
"Microsoft.Data.SqlClient.SNI.runtime": "6.0.2",
"Microsoft.Extensions.Caching.Memory": "8.0.1",
"Microsoft.IdentityModel.JsonWebTokens": "7.7.1",
"Microsoft.IdentityModel.Protocols.OpenIdConnect": "7.7.1",
"Microsoft.SqlServer.Server": "1.0.0",
"System.Configuration.ConfigurationManager": "9.0.9",
"System.Security.Cryptography.Pkcs": "8.0.1",
"System.Text.Json": "8.0.5"
},
"runtime": {
"lib/net8.0/Microsoft.Data.SqlClient.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.11.25226.3"
}
},
"resources": {
"lib/net8.0/cs/Microsoft.Data.SqlClient.resources.dll": {
"locale": "cs"
},
"lib/net8.0/de/Microsoft.Data.SqlClient.resources.dll": {
"locale": "de"
},
"lib/net8.0/es/Microsoft.Data.SqlClient.resources.dll": {
"locale": "es"
},
"lib/net8.0/fr/Microsoft.Data.SqlClient.resources.dll": {
"locale": "fr"
},
"lib/net8.0/it/Microsoft.Data.SqlClient.resources.dll": {
"locale": "it"
},
"lib/net8.0/ja/Microsoft.Data.SqlClient.resources.dll": {
"locale": "ja"
},
"lib/net8.0/ko/Microsoft.Data.SqlClient.resources.dll": {
"locale": "ko"
},
"lib/net8.0/pl/Microsoft.Data.SqlClient.resources.dll": {
"locale": "pl"
},
"lib/net8.0/pt-BR/Microsoft.Data.SqlClient.resources.dll": {
"locale": "pt-BR"
},
"lib/net8.0/ru/Microsoft.Data.SqlClient.resources.dll": {
"locale": "ru"
},
"lib/net8.0/tr/Microsoft.Data.SqlClient.resources.dll": {
"locale": "tr"
},
"lib/net8.0/zh-Hans/Microsoft.Data.SqlClient.resources.dll": {
"locale": "zh-Hans"
},
"lib/net8.0/zh-Hant/Microsoft.Data.SqlClient.resources.dll": {
"locale": "zh-Hant"
}
},
"runtimeTargets": {
"runtimes/unix/lib/net8.0/Microsoft.Data.SqlClient.dll": {
"rid": "unix",
"assetType": "runtime",
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.11.25226.3"
},
"runtimes/win/lib/net8.0/Microsoft.Data.SqlClient.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.11.25226.3"
}
}
},
"Microsoft.Data.SqlClient.SNI.runtime/6.0.2": {
"runtimeTargets": {
"runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "6.2.0.0"
},
"runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "6.2.0.0"
},
"runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "6.2.0.0"
}
}
},
"Microsoft.Extensions.Caching.Abstractions/8.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Extensions.Caching.Memory/8.0.1": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "8.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
"Microsoft.Extensions.Logging.Abstractions": "8.0.3",
"Microsoft.Extensions.Options": "8.0.2",
"Microsoft.Extensions.Primitives": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1024.46610"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": {
"runtime": {
"lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1024.46610"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/8.0.3": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1325.6609"
}
}
},
"Microsoft.Extensions.Options/8.0.2": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
"Microsoft.Extensions.Primitives": "8.0.0"
},
"runtime": {
"lib/net8.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.224.6711"
}
}
},
"Microsoft.Extensions.Primitives/8.0.0": {
"runtime": {
"lib/net8.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Identity.Client/4.73.1": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "7.7.1",
"System.Diagnostics.DiagnosticSource": "6.0.2"
},
"runtime": {
"lib/net8.0/Microsoft.Identity.Client.dll": {
"assemblyVersion": "4.73.1.0",
"fileVersion": "4.73.1.0"
}
}
},
"Microsoft.Identity.Client.Extensions.Msal/4.73.1": {
"dependencies": {
"Microsoft.Identity.Client": "4.73.1",
"System.Security.Cryptography.ProtectedData": "9.0.9"
},
"runtime": {
"lib/net8.0/Microsoft.Identity.Client.Extensions.Msal.dll": {
"assemblyVersion": "4.73.1.0",
"fileVersion": "4.73.1.0"
}
}
},
"Microsoft.IdentityModel.Abstractions/7.7.1": {
"runtime": {
"lib/net8.0/Microsoft.IdentityModel.Abstractions.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"Microsoft.IdentityModel.JsonWebTokens/7.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Tokens": "7.7.1"
},
"runtime": {
"lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"Microsoft.IdentityModel.Logging/7.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "7.7.1"
},
"runtime": {
"lib/net8.0/Microsoft.IdentityModel.Logging.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"Microsoft.IdentityModel.Protocols/7.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Tokens": "7.7.1"
},
"runtime": {
"lib/net8.0/Microsoft.IdentityModel.Protocols.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"Microsoft.IdentityModel.Protocols.OpenIdConnect/7.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Protocols": "7.7.1",
"System.IdentityModel.Tokens.Jwt": "7.7.1"
},
"runtime": {
"lib/net8.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"Microsoft.IdentityModel.Tokens/7.7.1": {
"dependencies": {
"Microsoft.IdentityModel.Logging": "7.7.1"
},
"runtime": {
"lib/net8.0/Microsoft.IdentityModel.Tokens.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"Microsoft.SqlServer.Server/1.0.0": {
"runtime": {
"lib/netstandard2.0/Microsoft.SqlServer.Server.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"NLog/6.0.4": {
"runtime": {
"lib/netstandard2.1/NLog.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.4.4534"
}
}
},
"Oracle.ManagedDataAccess/23.9.1": {
"dependencies": {
"System.Diagnostics.DiagnosticSource": "6.0.2",
"System.Formats.Asn1": "8.0.1",
"System.Memory": "4.6.0",
"System.Text.Json": "8.0.5",
"System.Threading.Tasks.Extensions": "4.6.0"
},
"runtime": {
"lib/net472/Oracle.ManagedDataAccess.dll": {
"assemblyVersion": "4.122.23.1",
"fileVersion": "4.122.23.1"
}
}
},
"System.ClientModel/1.5.1": {
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "8.0.3",
"System.Memory.Data": "8.0.1"
},
"runtime": {
"lib/net8.0/System.ClientModel.dll": {
"assemblyVersion": "1.5.1.0",
"fileVersion": "1.500.125.36405"
}
}
},
"System.Configuration.ConfigurationManager/9.0.9": {
"dependencies": {
"System.Diagnostics.EventLog": "9.0.9",
"System.Security.Cryptography.ProtectedData": "9.0.9"
},
"runtime": {
"lib/net8.0/System.Configuration.ConfigurationManager.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
}
},
"System.Data.Odbc/9.0.9": {
"runtime": {
"lib/net8.0/System.Data.Odbc.dll": {
"assemblyVersion": "9.0.0.9",
"fileVersion": "9.0.925.41916"
}
},
"runtimeTargets": {
"runtimes/unix/lib/net8.0/System.Data.Odbc.dll": {
"rid": "unix",
"assetType": "runtime",
"assemblyVersion": "9.0.0.9",
"fileVersion": "9.0.925.41916"
},
"runtimes/win/lib/net8.0/System.Data.Odbc.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.9",
"fileVersion": "9.0.925.41916"
}
}
},
"System.Diagnostics.DiagnosticSource/6.0.2": {},
"System.Diagnostics.EventLog/9.0.9": {
"runtime": {
"lib/net8.0/System.Diagnostics.EventLog.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
},
"runtimeTargets": {
"runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "0.0.0.0"
},
"runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
}
},
"System.Formats.Asn1/8.0.1": {},
"System.IdentityModel.Tokens.Jwt/7.7.1": {
"dependencies": {
"Microsoft.IdentityModel.JsonWebTokens": "7.7.1",
"Microsoft.IdentityModel.Tokens": "7.7.1"
},
"runtime": {
"lib/net8.0/System.IdentityModel.Tokens.Jwt.dll": {
"assemblyVersion": "7.7.1.0",
"fileVersion": "7.7.1.50719"
}
}
},
"System.Memory/4.6.0": {},
"System.Memory.Data/8.0.1": {
"runtime": {
"lib/net8.0/System.Memory.Data.dll": {
"assemblyVersion": "8.0.0.1",
"fileVersion": "8.0.1024.46610"
}
}
},
"System.Security.Cryptography.Pkcs/8.0.1": {
"runtime": {
"lib/net8.0/System.Security.Cryptography.Pkcs.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1024.46610"
}
},
"runtimeTargets": {
"runtimes/win/lib/net8.0/System.Security.Cryptography.Pkcs.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.1024.46610"
}
}
},
"System.Security.Cryptography.ProtectedData/9.0.9": {
"runtime": {
"lib/net8.0/System.Security.Cryptography.ProtectedData.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.925.41916"
}
}
},
"System.Text.Json/8.0.5": {},
"System.Threading.Tasks.Extensions/4.6.0": {},
"DigitalData.Modules.Encryption/1.0.0": {
"dependencies": {
"DigitalData.Modules.Logging": "1.0.0",
"NLog": "6.0.4"
},
"runtime": {
"DigitalData.Modules.Encryption.dll": {
"fileVersion": "0.0.0.0"
}
}
},
"DigitalData.Modules.Logging/1.0.0": {
"dependencies": {
"NLog": "6.0.4",
"System.Configuration.ConfigurationManager": "9.0.9"
},
"runtime": {
"DigitalData.Modules.Logging.dll": {
"fileVersion": "0.0.0.0"
}
}
},
"DigitalData.Modules.Encryption.Reference/2.5.0.0": {
"runtime": {
"DigitalData.Modules.Encryption.dll": {
"assemblyVersion": "2.5.0.0",
"fileVersion": "2.5.0.0"
}
}
},
"DigitalData.Modules.Logging.Reference/2.0.0.0": {
"runtime": {
"DigitalData.Modules.Logging.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.0.0.0"
}
}
}
}
},
"libraries": {
"DigitalData.Modules.Database/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Azure.Core/1.47.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-oPcncSsDHuxB8SC522z47xbp2+ttkcKv2YZ90KXhRKN0YQd2+7l1UURT9EBzUNEXtkLZUOAB5xbByMTrYRh3yA==",
"path": "azure.core/1.47.1",
"hashPath": "azure.core.1.47.1.nupkg.sha512"
},
"Azure.Identity/1.14.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YhNMwOTwT+I2wIcJKSdP0ADyB2aK+JaYWZxO8LSRDm5w77LFr0ykR9xmt2ZV5T1gaI7xU6iNFIh/yW1dAlpddQ==",
"path": "azure.identity/1.14.2",
"hashPath": "azure.identity.1.14.2.nupkg.sha512"
},
"FirebirdSql.Data.FirebirdClient/10.3.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-iAj21eY5u7obZumA3NAVZf8ynu7Z6lslkU3V4W8Mm9Mowa4gcadT2a+LIMwAovDIg8iS8RpCSzIzFdKFCdakTg==",
"path": "firebirdsql.data.firebirdclient/10.3.3",
"hashPath": "firebirdsql.data.firebirdclient.10.3.3.nupkg.sha512"
},
"Microsoft.Bcl.AsyncInterfaces/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3WA9q9yVqJp222P3x1wYIGDAkpjAku0TMUaaQV22g6L67AI0LdOIrVS7Ht2vJfLHGSPVuqN94vIr15qn+HEkHw==",
"path": "microsoft.bcl.asyncinterfaces/8.0.0",
"hashPath": "microsoft.bcl.asyncinterfaces.8.0.0.nupkg.sha512"
},
"Microsoft.Bcl.Cryptography/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Y3t/c7C5XHJGFDnohjf1/9SYF3ZOfEU1fkNQuKg/dGf9hN18yrQj2owHITGfNS3+lKJdW6J4vY98jYu57jCO8A==",
"path": "microsoft.bcl.cryptography/8.0.0",
"hashPath": "microsoft.bcl.cryptography.8.0.0.nupkg.sha512"
},
"Microsoft.Data.SqlClient/6.1.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-syGQmIUPAYYHAHyTD8FCkTNThpQWvoA7crnIQRMfp8dyB5A2cWU3fQexlRTFkVmV7S0TjVmthi0LJEFVjHo8AQ==",
"path": "microsoft.data.sqlclient/6.1.1",
"hashPath": "microsoft.data.sqlclient.6.1.1.nupkg.sha512"
},
"Microsoft.Data.SqlClient.SNI.runtime/6.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-f+pRODTWX7Y67jXO3T5S2dIPZ9qMJNySjlZT/TKmWVNWe19N8jcWmHaqHnnchaq3gxEKv1SWVY5EFzOD06l41w==",
"path": "microsoft.data.sqlclient.sni.runtime/6.0.2",
"hashPath": "microsoft.data.sqlclient.sni.runtime.6.0.2.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Abstractions/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==",
"path": "microsoft.extensions.caching.abstractions/8.0.0",
"hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Memory/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==",
"path": "microsoft.extensions.caching.memory/8.0.1",
"hashPath": "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==",
"path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/8.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dL0QGToTxggRLMYY4ZYX5AMwBb+byQBd/5dMiZE07Nv73o6I5Are3C7eQTh7K2+A4ct0PVISSr7TZANbiNb2yQ==",
"path": "microsoft.extensions.logging.abstractions/8.0.3",
"hashPath": "microsoft.extensions.logging.abstractions.8.0.3.nupkg.sha512"
},
"Microsoft.Extensions.Options/8.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==",
"path": "microsoft.extensions.options/8.0.2",
"hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
"path": "microsoft.extensions.primitives/8.0.0",
"hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512"
},
"Microsoft.Identity.Client/4.73.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-NnDLS8QwYqO5ZZecL2oioi1LUqjh5Ewk4bMLzbgiXJbQmZhDLtKwLxL3DpGMlQAJ2G4KgEnvGPKa+OOgffeJbw==",
"path": "microsoft.identity.client/4.73.1",
"hashPath": "microsoft.identity.client.4.73.1.nupkg.sha512"
},
"Microsoft.Identity.Client.Extensions.Msal/4.73.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xDztAiV2F0wI0W8FLKv5cbaBefyLD6JVaAsvgSN7bjWNCzGYzHbcOEIP5s4TJXUpQzMfUyBsFl1mC6Zmgpz0PQ==",
"path": "microsoft.identity.client.extensions.msal/4.73.1",
"hashPath": "microsoft.identity.client.extensions.msal.4.73.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Abstractions/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-S7sHg6gLg7oFqNGLwN1qSbJDI+QcRRj8SuJ1jHyCmKSipnF6ZQL+tFV2NzVfGj/xmGT9TykQdQiBN+p5Idl4TA==",
"path": "microsoft.identitymodel.abstractions/7.7.1",
"hashPath": "microsoft.identitymodel.abstractions.7.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.JsonWebTokens/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3Izi75UCUssvo8LPx3OVnEeZay58qaFicrtSnbtUt7q8qQi0gy46gh4V8VUTkMVMKXV6VMyjBVmeNNgeCUJuIw==",
"path": "microsoft.identitymodel.jsonwebtokens/7.7.1",
"hashPath": "microsoft.identitymodel.jsonwebtokens.7.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Logging/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-BZNgSq/o8gsKExdYoBKPR65fdsxW0cTF8PsdqB8y011AGUJJW300S/ZIsEUD0+sOmGc003Gwv3FYbjrVjvsLNQ==",
"path": "microsoft.identitymodel.logging/7.7.1",
"hashPath": "microsoft.identitymodel.logging.7.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Protocols/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-h+fHHBGokepmCX+QZXJk4Ij8OApCb2n2ktoDkNX5CXteXsOxTHMNgjPGpAwdJMFvAL7TtGarUnk3o97NmBq2QQ==",
"path": "microsoft.identitymodel.protocols/7.7.1",
"hashPath": "microsoft.identitymodel.protocols.7.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Protocols.OpenIdConnect/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yT2Hdj8LpPbcT9C9KlLVxXl09C8zjFaVSaApdOwuecMuoV4s6Sof/mnTDz/+F/lILPIBvrWugR9CC7iRVZgbfQ==",
"path": "microsoft.identitymodel.protocols.openidconnect/7.7.1",
"hashPath": "microsoft.identitymodel.protocols.openidconnect.7.7.1.nupkg.sha512"
},
"Microsoft.IdentityModel.Tokens/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-fQ0VVCba75lknUHGldi3iTKAYUQqbzp1Un8+d9cm9nON0Gs8NAkXddNg8iaUB0qi/ybtAmNWizTR4avdkCJ9pQ==",
"path": "microsoft.identitymodel.tokens/7.7.1",
"hashPath": "microsoft.identitymodel.tokens.7.7.1.nupkg.sha512"
},
"Microsoft.SqlServer.Server/1.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-N4KeF3cpcm1PUHym1RmakkzfkEv3GRMyofVv40uXsQhCQeglr2OHNcUk2WOG51AKpGO8ynGpo9M/kFXSzghwug==",
"path": "microsoft.sqlserver.server/1.0.0",
"hashPath": "microsoft.sqlserver.server.1.0.0.nupkg.sha512"
},
"NLog/6.0.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Xr+lIk1ZlTTFXEqnxQVLxrDqZlt2tm5X+/AhJbaY2emb/dVtGDiU5QuEtj3gHtwV/SWlP/rJ922I/BPuOJXlRw==",
"path": "nlog/6.0.4",
"hashPath": "nlog.6.0.4.nupkg.sha512"
},
"Oracle.ManagedDataAccess/23.9.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/4v/a6P6u+VLixps0TGH8js/1ZYS7vVll+j0J9RsUQLRPYgzXs1Mt+xi1XqFZP5PzMA5H0kgW/3EMosj+fYReA==",
"path": "oracle.manageddataaccess/23.9.1",
"hashPath": "oracle.manageddataaccess.23.9.1.nupkg.sha512"
},
"System.ClientModel/1.5.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-k2jKSO0X45IqhVOT9iQB4xralNN9foRQsRvXBTyRpAVxyzCJlG895T9qYrQWbcJ6OQXxOouJQ37x5nZH5XKK+A==",
"path": "system.clientmodel/1.5.1",
"hashPath": "system.clientmodel.1.5.1.nupkg.sha512"
},
"System.Configuration.ConfigurationManager/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Q1LknxnRmmsUXt/ElBp739Gexppy0HeDYxvExpJq09jAYhpTHRRRkZIwfNKfM4BGRlFzRDVdnerZawxoE8naMg==",
"path": "system.configuration.configurationmanager/9.0.9",
"hashPath": "system.configuration.configurationmanager.9.0.9.nupkg.sha512"
},
"System.Data.Odbc/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xSAfSD/j3ACV8YiXOIBYUbzqTjiEMGtFq2gSnwWxBRQdUt4YRj9rVjkawuu4tEb5aiIm27HN4d/X8skaVC654A==",
"path": "system.data.odbc/9.0.9",
"hashPath": "system.data.odbc.9.0.9.nupkg.sha512"
},
"System.Diagnostics.DiagnosticSource/6.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-6tQaIexFycaotdGn23lf3XJ/eI1GOjQKIvQDRFN9N4pwoNsKnHuXccQ3lnQO6GX8KAb1ic+6ZofJmPdbUVwZag==",
"path": "system.diagnostics.diagnosticsource/6.0.2",
"hashPath": "system.diagnostics.diagnosticsource.6.0.2.nupkg.sha512"
},
"System.Diagnostics.EventLog/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-wpsUfnyv8E5K4WQaok6weewvAbQhcLwXFcHBm5U0gdEaBs85N//ssuYvRPFWwz2rO/9/DFP3A1sGMzUFBj8y3w==",
"path": "system.diagnostics.eventlog/9.0.9",
"hashPath": "system.diagnostics.eventlog.9.0.9.nupkg.sha512"
},
"System.Formats.Asn1/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-XqKba7Mm/koKSjKMfW82olQdmfbI5yqeoLV/tidRp7fbh5rmHAQ5raDI/7SU0swTzv+jgqtUGkzmFxuUg0it1A==",
"path": "system.formats.asn1/8.0.1",
"hashPath": "system.formats.asn1.8.0.1.nupkg.sha512"
},
"System.IdentityModel.Tokens.Jwt/7.7.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-rQkO1YbAjLwnDJSMpRhRtrc6XwIcEOcUvoEcge+evurpzSZM3UNK+MZfD3sKyTlYsvknZ6eJjSBfnmXqwOsT9Q==",
"path": "system.identitymodel.tokens.jwt/7.7.1",
"hashPath": "system.identitymodel.tokens.jwt.7.7.1.nupkg.sha512"
},
"System.Memory/4.6.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-OEkbBQoklHngJ8UD8ez2AERSk2g+/qpAaSWWCBFbpH727HxDq5ydVkuncBaKcKfwRqXGWx64dS6G1SUScMsitg==",
"path": "system.memory/4.6.0",
"hashPath": "system.memory.4.6.0.nupkg.sha512"
},
"System.Memory.Data/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-BVYuec3jV23EMRDeR7Dr1/qhx7369dZzJ9IWy2xylvb4YfXsrUxspWc4UWYid/tj4zZK58uGZqn2WQiaDMhmAg==",
"path": "system.memory.data/8.0.1",
"hashPath": "system.memory.data.8.0.1.nupkg.sha512"
},
"System.Security.Cryptography.Pkcs/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CoCRHFym33aUSf/NtWSVSZa99dkd0Hm7OCZUxORBjRB16LNhIEOf8THPqzIYlvKM0nNDAPTRBa1FxEECrgaxxA==",
"path": "system.security.cryptography.pkcs/8.0.1",
"hashPath": "system.security.cryptography.pkcs.8.0.1.nupkg.sha512"
},
"System.Security.Cryptography.ProtectedData/9.0.9": {
"type": "package",
"serviceable": true,
"sha512": "sha512-XN37933FTzEkqGJoOTunvnvzAv/4VO/9wQ0QwsGcrR5KyQpYT0z4Ssm+f+fpY9bea6srypFp3JjNPHHC26xzLw==",
"path": "system.security.cryptography.protecteddata/9.0.9",
"hashPath": "system.security.cryptography.protecteddata.9.0.9.nupkg.sha512"
},
"System.Text.Json/8.0.5": {
"type": "package",
"serviceable": true,
"sha512": "sha512-0f1B50Ss7rqxXiaBJyzUu9bWFOO2/zSlifZ/UNMdiIpDYe4cY4LQQicP4nirK1OS31I43rn062UIJ1Q9bpmHpg==",
"path": "system.text.json/8.0.5",
"hashPath": "system.text.json.8.0.5.nupkg.sha512"
},
"System.Threading.Tasks.Extensions/4.6.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-I5G6Y8jb0xRtGUC9Lahy7FUvlYlnGMMkbuKAQBy8Jb7Y6Yn8OlBEiUOY0PqZ0hy6Ua8poVA1ui1tAIiXNxGdsg==",
"path": "system.threading.tasks.extensions/4.6.0",
"hashPath": "system.threading.tasks.extensions.4.6.0.nupkg.sha512"
},
"DigitalData.Modules.Encryption/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"DigitalData.Modules.Logging/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"DigitalData.Modules.Encryption.Reference/2.5.0.0": {
"type": "reference",
"serviceable": false,
"sha512": ""
},
"DigitalData.Modules.Logging.Reference/2.0.0.0": {
"type": "reference",
"serviceable": false,
"sha512": ""
}
}
}

Some files were not shown because too many files have changed in this diff Show More