7 Commits

Author SHA1 Message Date
Jonathan Jenne
d32a14c4d8 Database: Throw when Connection is nothing in MaybeGetTransaction 2021-05-17 10:39:38 +02:00
Jonathan Jenne
4c78e6e5a7 Monitor: work on init 2021-05-17 10:39:15 +02:00
Jonathan Jenne
4e56d474fa Database.Cached: Add Database Cached Module 2021-05-17 10:38:53 +02:00
Jonathan Jenne
7b31514ccf Fix BaseRibbonForm 2021-05-17 10:38:34 +02:00
Jonathan Jenne
9d51d4ffb9 ZooFlow 2021-05-17 10:37:43 +02:00
Jonathan Jenne
d038beedfe Database: Version 2.1.4 2021-05-11 14:13:38 +02:00
Jonathan Jenne
ad4771d2ac Database/MSSQL: Use connection from transaction for ExecuteNonQuery 2021-05-11 14:13:13 +02:00
35 changed files with 708 additions and 97 deletions

View File

@@ -38,7 +38,6 @@ Public Class frmSQLEditor
End Class End Class
Public Sub New(LogConfig As LogConfig, SQLServer As MSSQLServer) Public Sub New(LogConfig As LogConfig, SQLServer As MSSQLServer)
MyBase.New(LogConfig)
InitializeComponent() InitializeComponent()
Me.LogConfig = LogConfig Me.LogConfig = LogConfig
@@ -48,6 +47,8 @@ Public Class frmSQLEditor
Private Sub frmSQLEditor_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub frmSQLEditor_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try Try
Init(LogConfig)
txtSQL.Text = SQLString txtSQL.Text = SQLString
BindingSourcePlaceholder.DataSource = Placeholders BindingSourcePlaceholder.DataSource = Placeholders

View File

@@ -134,6 +134,8 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Monitor", "GUIs.Monitor\Mon
EndProject EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MonoRepoUtils", "ConfigCreator\MonoRepoUtils.vbproj", "{9D4AC920-C78E-41C3-994E-91690FF79380}" Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MonoRepoUtils", "ConfigCreator\MonoRepoUtils.vbproj", "{9D4AC920-C78E-41C3-994E-91690FF79380}"
EndProject EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Database.Cached", "Database.Cached\Database.Cached.vbproj", "{E0DC883D-FAE1-4103-B2BA-043EBE697B09}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -356,6 +358,10 @@ Global
{9D4AC920-C78E-41C3-994E-91690FF79380}.Debug|Any CPU.Build.0 = Debug|Any CPU {9D4AC920-C78E-41C3-994E-91690FF79380}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9D4AC920-C78E-41C3-994E-91690FF79380}.Release|Any CPU.ActiveCfg = Release|Any CPU {9D4AC920-C78E-41C3-994E-91690FF79380}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9D4AC920-C78E-41C3-994E-91690FF79380}.Release|Any CPU.Build.0 = Release|Any CPU {9D4AC920-C78E-41C3-994E-91690FF79380}.Release|Any CPU.Build.0 = Release|Any CPU
{E0DC883D-FAE1-4103-B2BA-043EBE697B09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E0DC883D-FAE1-4103-B2BA-043EBE697B09}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E0DC883D-FAE1-4103-B2BA-043EBE697B09}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E0DC883D-FAE1-4103-B2BA-043EBE697B09}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -415,6 +421,7 @@ Global
{65EFB268-C0E0-40C1-8981-9F70DEE5C74A} = {F98C0329-C004-417F-B2AB-7466E88D8220} {65EFB268-C0E0-40C1-8981-9F70DEE5C74A} = {F98C0329-C004-417F-B2AB-7466E88D8220}
{E24E8D40-0361-4C07-8FAE-3621DE316E70} = {8FFE925E-8B84-45F1-93CB-32B1C96F41EB} {E24E8D40-0361-4C07-8FAE-3621DE316E70} = {8FFE925E-8B84-45F1-93CB-32B1C96F41EB}
{9D4AC920-C78E-41C3-994E-91690FF79380} = {8FFE925E-8B84-45F1-93CB-32B1C96F41EB} {9D4AC920-C78E-41C3-994E-91690FF79380} = {8FFE925E-8B84-45F1-93CB-32B1C96F41EB}
{E0DC883D-FAE1-4103-B2BA-043EBE697B09} = {3E2008C8-27B1-41DD-9B1A-0C4029F6AECC}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C1BE4090-A0FD-48AF-86CB-39099D14B286} SolutionGuid = {C1BE4090-A0FD-48AF-86CB-39099D14B286}

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{E0DC883D-FAE1-4103-B2BA-043EBE697B09}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>Database.Cached</RootNamespace>
<AssemblyName>Database.Cached</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Windows</MyType>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>Database.Cached.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>Database.Cached.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.7.5\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Transactions" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="MSSQLServerCached.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Modules.Database\Database.vbproj">
<Project>{eaf0ea75-5fa7-485d-89c7-b2d843b03a96}</Project>
<Name>Database</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.EDMIAPI\EDMI.API.vbproj">
<Project>{25017513-0d97-49d3-98d7-ba76d9b251b0}</Project>
<Name>EDMI.API</Name>
</ProjectReference>
<ProjectReference Include="..\Modules.Logging\Logging.vbproj">
<Project>{903b2d7d-3b80-4be9-8713-7447b704e1b0}</Project>
<Name>Logging</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>

View File

@@ -0,0 +1,63 @@
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
Imports DigitalData.Modules.Logging
Public Class MSSQLServerCached
Private _Logger As Logger
Private _Client As Client
Private _DatabaseEDM As MSSQLServer
Private _DatabaseIDB As MSSQLServer
Private _Type As DatabaseType
Public Enum DatabaseType
ECM
IDB
End Enum
Public Sub New(LogConfig As LogConfig, Client As Client, DatabaseECM As MSSQLServer, DatabaseIDB As MSSQLServer)
_Logger = LogConfig.GetLogger()
_Client = Client
_DatabaseEDM = DatabaseECM
_DatabaseIDB = DatabaseIDB
End Sub
Public Function GetDatatable(DataTable As String, FilterExpression As String, SortByColumn As String, FallbackSQL As String, FallbackType As DatabaseType, Optional ForceFallback As Boolean = False) As DataTable
Try
Dim oResult As DataTable = Nothing
If ForceFallback = False Then
Dim oTableResult As TableResult = _Client.GetDatatableByName(DataTable, FilterExpression, SortByColumn)
If oTableResult Is Nothing OrElse oTableResult.OK = False Then
_Logger.Warn("Datatable [{0}] could not be fetched from AppServer Cache. Falling back to direct Database Access.")
End If
Else
Return GetDatatableFromDatabase(FallbackSQL, FallbackType)
End If
Catch ex As Exception
_Logger.Error(ex)
Return Nothing
End Try
End Function
Private Function GetDatatableFromDatabase(SQLCommand As String, DatabaseType As DatabaseType)
Try
Select Case DatabaseType
Case DatabaseType.ECM
Return _DatabaseEDM.GetDatatable(SQLCommand)
Case DatabaseType.IDB
Return _DatabaseIDB.GetDatatable(SQLCommand)
Case Else
Return Nothing
End Select
Catch ex As Exception
_Logger.Error(ex)
Return Nothing
End Try
End Function
End Class

View File

@@ -0,0 +1,13 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </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,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("Database.Cached")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("Database.Cached")>
<Assembly: AssemblyCopyright("Copyright © 2021")>
<Assembly: AssemblyTrademark("")>
<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("3187e779-93ae-46cd-bf38-b123a7bf1f92")>
' 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.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@@ -0,0 +1,62 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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>
''' Returns the cached ResourceManager instance used by this class.
'''</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("Database.Cached.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set(ByVal value As Global.System.Globalization.CultureInfo)
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>

View File

@@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </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", "11.0.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 "My.Settings Auto-Save Functionality"
#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(ByVal sender As Global.System.Object, ByVal 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.Database.Cached.My.MySettings
Get
Return Global.Database.Cached.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>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<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,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NLog" version="4.7.5" targetFramework="net461" />
</packages>

View File

@@ -18,8 +18,8 @@ Namespace Base
Public Class BaseRibbonForm Public Class BaseRibbonForm
Inherits RibbonForm Inherits RibbonForm
Private ReadOnly _Logger As Logger Private _Logger As Logger
Private ReadOnly _ErrorHandler As BaseErrorHandler Private _ErrorHandler As BaseErrorHandler
Protected ReadOnly Property Logger As Logger Protected ReadOnly Property Logger As Logger
Get Get
@@ -30,7 +30,7 @@ Namespace Base
Public Sub New() Public Sub New()
End Sub End Sub
Public Sub New(LogConfig As LogConfig) Public Sub Init(LogConfig As LogConfig)
' Get the full name of the inheriting form ' Get the full name of the inheriting form
' so the log messages have the right classname ' so the log messages have the right classname
Dim oClassName = [GetType]().FullName Dim oClassName = [GetType]().FullName

View File

@@ -8,7 +8,7 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyTitle("Monitor")> <Assembly: AssemblyTitle("Monitor")>
<Assembly: AssemblyDescription("")> <Assembly: AssemblyDescription("")>
<Assembly: AssemblyConfiguration("")> <Assembly: AssemblyConfiguration("")>
<Assembly: AssemblyCompany("")> <Assembly: AssemblyCompany("Digital Data")>
<Assembly: AssemblyProduct("Monitor")> <Assembly: AssemblyProduct("Monitor")>
<Assembly: AssemblyCopyright("Copyright © 2021")> <Assembly: AssemblyCopyright("Copyright © 2021")>
<Assembly: AssemblyTrademark("")> <Assembly: AssemblyTrademark("")>

View File

@@ -27,7 +27,7 @@ Partial Class frmStart
Private Sub InitializeComponent() Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container() Me.components = New System.ComponentModel.Container()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl() Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() Me.buttonSearch = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
@@ -45,9 +45,12 @@ Partial Class frmStart
Me.LayoutControlItem3 = New DevExpress.XtraLayout.LayoutControlItem() Me.LayoutControlItem3 = New DevExpress.XtraLayout.LayoutControlItem()
Me.DockPanel2 = New DevExpress.XtraBars.Docking.DockPanel() Me.DockPanel2 = New DevExpress.XtraBars.Docking.DockPanel()
Me.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer() Me.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer()
Me.XtraTabControl1 = New DevExpress.XtraTab.XtraTabControl()
Me.XtraTabPage1 = New DevExpress.XtraTab.XtraTabPage()
Me.GridControl1 = New DevExpress.XtraGrid.GridControl() Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView() Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.TreeList1 = New DevExpress.XtraTreeList.TreeList() Me.XtraTabPage2 = New DevExpress.XtraTab.XtraTabPage()
Me.TreeListResults = New DevExpress.XtraTreeList.TreeList()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DockManager1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.DockManager1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.DockPanel1.SuspendLayout() Me.DockPanel1.SuspendLayout()
@@ -63,28 +66,31 @@ Partial Class frmStart
CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).BeginInit()
Me.DockPanel2.SuspendLayout() Me.DockPanel2.SuspendLayout()
Me.DockPanel2_Container.SuspendLayout() Me.DockPanel2_Container.SuspendLayout()
CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.XtraTabControl1.SuspendLayout()
Me.XtraTabPage1.SuspendLayout()
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TreeList1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TreeListResults, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout() Me.SuspendLayout()
' '
'RibbonControl1 'RibbonControl1
' '
Me.RibbonControl1.ExpandCollapseItem.Id = 0 Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1}) Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.buttonSearch})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 2 Me.RibbonControl1.MaxItemId = 2
Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.Size = New System.Drawing.Size(1085, 158) Me.RibbonControl1.Size = New System.Drawing.Size(1085, 159)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
' '
'BarButtonItem1 'buttonSearch
' '
Me.BarButtonItem1.Caption = "Suchen" Me.buttonSearch.Caption = "Suchen"
Me.BarButtonItem1.Id = 1 Me.buttonSearch.Id = 1
Me.BarButtonItem1.ImageOptions.SvgImage = Global.DigitalData.GUIs.Monitor.My.Resources.Resources.gettingstarted Me.buttonSearch.ImageOptions.SvgImage = Global.DigitalData.GUIs.Monitor.My.Resources.Resources.gettingstarted
Me.BarButtonItem1.Name = "BarButtonItem1" Me.buttonSearch.Name = "buttonSearch"
' '
'RibbonPage1 'RibbonPage1
' '
@@ -94,16 +100,16 @@ Partial Class frmStart
' '
'RibbonPageGroup1 'RibbonPageGroup1
' '
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1) Me.RibbonPageGroup1.ItemLinks.Add(Me.buttonSearch)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1" Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.Text = "RibbonPageGroup1" Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
' '
'RibbonStatusBar1 'RibbonStatusBar1
' '
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 652) Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 654)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1" Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1085, 24) Me.RibbonStatusBar1.Size = New System.Drawing.Size(1085, 22)
' '
'RibbonPage2 'RibbonPage2
' '
@@ -121,20 +127,20 @@ Partial Class frmStart
Me.DockPanel1.Controls.Add(Me.DockPanel1_Container) Me.DockPanel1.Controls.Add(Me.DockPanel1_Container)
Me.DockPanel1.Dock = DevExpress.XtraBars.Docking.DockingStyle.Left Me.DockPanel1.Dock = DevExpress.XtraBars.Docking.DockingStyle.Left
Me.DockPanel1.ID = New System.Guid("52706dba-4c71-4145-b8a3-5f5423d32fce") Me.DockPanel1.ID = New System.Guid("52706dba-4c71-4145-b8a3-5f5423d32fce")
Me.DockPanel1.Location = New System.Drawing.Point(0, 158) Me.DockPanel1.Location = New System.Drawing.Point(0, 159)
Me.DockPanel1.Name = "DockPanel1" Me.DockPanel1.Name = "DockPanel1"
Me.DockPanel1.Options.ShowCloseButton = False Me.DockPanel1.Options.ShowCloseButton = False
Me.DockPanel1.Options.ShowMaximizeButton = False Me.DockPanel1.Options.ShowMaximizeButton = False
Me.DockPanel1.OriginalSize = New System.Drawing.Size(200, 200) Me.DockPanel1.OriginalSize = New System.Drawing.Size(200, 200)
Me.DockPanel1.Size = New System.Drawing.Size(200, 494) Me.DockPanel1.Size = New System.Drawing.Size(200, 495)
Me.DockPanel1.Text = "Suche" Me.DockPanel1.Text = "Suche"
' '
'DockPanel1_Container 'DockPanel1_Container
' '
Me.DockPanel1_Container.Controls.Add(Me.LayoutControl1) Me.DockPanel1_Container.Controls.Add(Me.LayoutControl1)
Me.DockPanel1_Container.Location = New System.Drawing.Point(3, 26) Me.DockPanel1_Container.Location = New System.Drawing.Point(3, 46)
Me.DockPanel1_Container.Name = "DockPanel1_Container" Me.DockPanel1_Container.Name = "DockPanel1_Container"
Me.DockPanel1_Container.Size = New System.Drawing.Size(193, 465) Me.DockPanel1_Container.Size = New System.Drawing.Size(193, 446)
Me.DockPanel1_Container.TabIndex = 0 Me.DockPanel1_Container.TabIndex = 0
' '
'LayoutControl1 'LayoutControl1
@@ -146,7 +152,7 @@ Partial Class frmStart
Me.LayoutControl1.Location = New System.Drawing.Point(0, 0) Me.LayoutControl1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControl1.Name = "LayoutControl1" Me.LayoutControl1.Name = "LayoutControl1"
Me.LayoutControl1.Root = Me.Root Me.LayoutControl1.Root = Me.Root
Me.LayoutControl1.Size = New System.Drawing.Size(193, 465) Me.LayoutControl1.Size = New System.Drawing.Size(193, 446)
Me.LayoutControl1.TabIndex = 0 Me.LayoutControl1.TabIndex = 0
Me.LayoutControl1.Text = "LayoutControl1" Me.LayoutControl1.Text = "LayoutControl1"
' '
@@ -185,7 +191,7 @@ Partial Class frmStart
Me.Root.GroupBordersVisible = False Me.Root.GroupBordersVisible = False
Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.LayoutControlItem2, Me.LayoutControlItem3}) Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.LayoutControlItem2, Me.LayoutControlItem3})
Me.Root.Name = "Root" Me.Root.Name = "Root"
Me.Root.Size = New System.Drawing.Size(193, 465) Me.Root.Size = New System.Drawing.Size(193, 446)
Me.Root.TextVisible = False Me.Root.TextVisible = False
' '
'LayoutControlItem1 'LayoutControlItem1
@@ -194,10 +200,10 @@ Partial Class frmStart
Me.LayoutControlItem1.Location = New System.Drawing.Point(0, 92) Me.LayoutControlItem1.Location = New System.Drawing.Point(0, 92)
Me.LayoutControlItem1.Name = "LayoutControlItem1" Me.LayoutControlItem1.Name = "LayoutControlItem1"
Me.LayoutControlItem1.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5) Me.LayoutControlItem1.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem1.Size = New System.Drawing.Size(173, 353) Me.LayoutControlItem1.Size = New System.Drawing.Size(173, 334)
Me.LayoutControlItem1.Text = "Suchwert" Me.LayoutControlItem1.Text = "Suchwert"
Me.LayoutControlItem1.TextLocation = DevExpress.Utils.Locations.Top Me.LayoutControlItem1.TextLocation = DevExpress.Utils.Locations.Top
Me.LayoutControlItem1.TextSize = New System.Drawing.Size(58, 13) Me.LayoutControlItem1.TextSize = New System.Drawing.Size(63, 13)
' '
'LayoutControlItem2 'LayoutControlItem2
' '
@@ -208,7 +214,7 @@ Partial Class frmStart
Me.LayoutControlItem2.Size = New System.Drawing.Size(173, 46) Me.LayoutControlItem2.Size = New System.Drawing.Size(173, 46)
Me.LayoutControlItem2.Text = "Attribut" Me.LayoutControlItem2.Text = "Attribut"
Me.LayoutControlItem2.TextLocation = DevExpress.Utils.Locations.Top Me.LayoutControlItem2.TextLocation = DevExpress.Utils.Locations.Top
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(58, 13) Me.LayoutControlItem2.TextSize = New System.Drawing.Size(63, 13)
' '
'LayoutControlItem3 'LayoutControlItem3
' '
@@ -219,29 +225,46 @@ Partial Class frmStart
Me.LayoutControlItem3.Size = New System.Drawing.Size(173, 46) Me.LayoutControlItem3.Size = New System.Drawing.Size(173, 46)
Me.LayoutControlItem3.Text = "Auswertung" Me.LayoutControlItem3.Text = "Auswertung"
Me.LayoutControlItem3.TextLocation = DevExpress.Utils.Locations.Top Me.LayoutControlItem3.TextLocation = DevExpress.Utils.Locations.Top
Me.LayoutControlItem3.TextSize = New System.Drawing.Size(58, 13) Me.LayoutControlItem3.TextSize = New System.Drawing.Size(63, 13)
' '
'DockPanel2 'DockPanel2
' '
Me.DockPanel2.Controls.Add(Me.DockPanel2_Container) Me.DockPanel2.Controls.Add(Me.DockPanel2_Container)
Me.DockPanel2.Dock = DevExpress.XtraBars.Docking.DockingStyle.Right Me.DockPanel2.Dock = DevExpress.XtraBars.Docking.DockingStyle.Right
Me.DockPanel2.ID = New System.Guid("157c74a2-d255-4e6b-b789-bde43010b2af") Me.DockPanel2.ID = New System.Guid("157c74a2-d255-4e6b-b789-bde43010b2af")
Me.DockPanel2.Location = New System.Drawing.Point(885, 158) Me.DockPanel2.Location = New System.Drawing.Point(633, 159)
Me.DockPanel2.Name = "DockPanel2" Me.DockPanel2.Name = "DockPanel2"
Me.DockPanel2.Options.ShowCloseButton = False Me.DockPanel2.Options.ShowCloseButton = False
Me.DockPanel2.Options.ShowMaximizeButton = False Me.DockPanel2.Options.ShowMaximizeButton = False
Me.DockPanel2.OriginalSize = New System.Drawing.Size(200, 200) Me.DockPanel2.OriginalSize = New System.Drawing.Size(452, 200)
Me.DockPanel2.Size = New System.Drawing.Size(200, 494) Me.DockPanel2.Size = New System.Drawing.Size(452, 495)
Me.DockPanel2.Text = "Details" Me.DockPanel2.Text = "Details"
' '
'DockPanel2_Container 'DockPanel2_Container
' '
Me.DockPanel2_Container.Controls.Add(Me.GridControl1) Me.DockPanel2_Container.Controls.Add(Me.XtraTabControl1)
Me.DockPanel2_Container.Location = New System.Drawing.Point(4, 26) Me.DockPanel2_Container.Location = New System.Drawing.Point(4, 46)
Me.DockPanel2_Container.Name = "DockPanel2_Container" Me.DockPanel2_Container.Name = "DockPanel2_Container"
Me.DockPanel2_Container.Size = New System.Drawing.Size(193, 465) Me.DockPanel2_Container.Size = New System.Drawing.Size(445, 446)
Me.DockPanel2_Container.TabIndex = 0 Me.DockPanel2_Container.TabIndex = 0
' '
'XtraTabControl1
'
Me.XtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.XtraTabControl1.Location = New System.Drawing.Point(0, 0)
Me.XtraTabControl1.Name = "XtraTabControl1"
Me.XtraTabControl1.SelectedTabPage = Me.XtraTabPage1
Me.XtraTabControl1.Size = New System.Drawing.Size(445, 446)
Me.XtraTabControl1.TabIndex = 1
Me.XtraTabControl1.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.XtraTabPage1, Me.XtraTabPage2})
'
'XtraTabPage1
'
Me.XtraTabPage1.Controls.Add(Me.GridControl1)
Me.XtraTabPage1.Name = "XtraTabPage1"
Me.XtraTabPage1.Size = New System.Drawing.Size(443, 423)
Me.XtraTabPage1.Text = "XtraTabPage1"
'
'GridControl1 'GridControl1
' '
Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill
@@ -249,7 +272,7 @@ Partial Class frmStart
Me.GridControl1.MainView = Me.GridView1 Me.GridControl1.MainView = Me.GridView1
Me.GridControl1.MenuManager = Me.RibbonControl1 Me.GridControl1.MenuManager = Me.RibbonControl1
Me.GridControl1.Name = "GridControl1" Me.GridControl1.Name = "GridControl1"
Me.GridControl1.Size = New System.Drawing.Size(193, 465) Me.GridControl1.Size = New System.Drawing.Size(443, 423)
Me.GridControl1.TabIndex = 0 Me.GridControl1.TabIndex = 0
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1}) Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})
' '
@@ -258,21 +281,27 @@ Partial Class frmStart
Me.GridView1.GridControl = Me.GridControl1 Me.GridView1.GridControl = Me.GridControl1
Me.GridView1.Name = "GridView1" Me.GridView1.Name = "GridView1"
' '
'TreeList1 'XtraTabPage2
' '
Me.TreeList1.Dock = System.Windows.Forms.DockStyle.Fill Me.XtraTabPage2.Name = "XtraTabPage2"
Me.TreeList1.Location = New System.Drawing.Point(200, 158) Me.XtraTabPage2.Size = New System.Drawing.Size(443, 423)
Me.TreeList1.MenuManager = Me.RibbonControl1 Me.XtraTabPage2.Text = "XtraTabPage2"
Me.TreeList1.Name = "TreeList1" '
Me.TreeList1.Size = New System.Drawing.Size(685, 494) 'TreeListResults
Me.TreeList1.TabIndex = 4 '
Me.TreeListResults.Dock = System.Windows.Forms.DockStyle.Fill
Me.TreeListResults.Location = New System.Drawing.Point(200, 159)
Me.TreeListResults.MenuManager = Me.RibbonControl1
Me.TreeListResults.Name = "TreeListResults"
Me.TreeListResults.Size = New System.Drawing.Size(433, 495)
Me.TreeListResults.TabIndex = 4
' '
'frmStart 'frmStart
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1085, 676) Me.ClientSize = New System.Drawing.Size(1085, 676)
Me.Controls.Add(Me.TreeList1) Me.Controls.Add(Me.TreeListResults)
Me.Controls.Add(Me.DockPanel2) Me.Controls.Add(Me.DockPanel2)
Me.Controls.Add(Me.DockPanel1) Me.Controls.Add(Me.DockPanel1)
Me.Controls.Add(Me.RibbonStatusBar1) Me.Controls.Add(Me.RibbonStatusBar1)
@@ -297,9 +326,12 @@ Partial Class frmStart
CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).EndInit()
Me.DockPanel2.ResumeLayout(False) Me.DockPanel2.ResumeLayout(False)
Me.DockPanel2_Container.ResumeLayout(False) Me.DockPanel2_Container.ResumeLayout(False)
CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.XtraTabControl1.ResumeLayout(False)
Me.XtraTabPage1.ResumeLayout(False)
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TreeList1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TreeListResults, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout() Me.PerformLayout()
@@ -320,11 +352,14 @@ Partial Class frmStart
Friend WithEvents LayoutControlItem1 As DevExpress.XtraLayout.LayoutControlItem Friend WithEvents LayoutControlItem1 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem2 As DevExpress.XtraLayout.LayoutControlItem Friend WithEvents LayoutControlItem2 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem3 As DevExpress.XtraLayout.LayoutControlItem Friend WithEvents LayoutControlItem3 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem Friend WithEvents buttonSearch As DevExpress.XtraBars.BarButtonItem
Friend WithEvents TextEdit2 As DevExpress.XtraEditors.ComboBoxEdit Friend WithEvents TextEdit2 As DevExpress.XtraEditors.ComboBoxEdit
Friend WithEvents DockPanel2 As DevExpress.XtraBars.Docking.DockPanel Friend WithEvents DockPanel2 As DevExpress.XtraBars.Docking.DockPanel
Friend WithEvents DockPanel2_Container As DevExpress.XtraBars.Docking.ControlContainer Friend WithEvents DockPanel2_Container As DevExpress.XtraBars.Docking.ControlContainer
Friend WithEvents TreeList1 As DevExpress.XtraTreeList.TreeList Friend WithEvents TreeListResults As DevExpress.XtraTreeList.TreeList
Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl
Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents XtraTabControl1 As DevExpress.XtraTab.XtraTabControl
Friend WithEvents XtraTabPage1 As DevExpress.XtraTab.XtraTabPage
Friend WithEvents XtraTabPage2 As DevExpress.XtraTab.XtraTabPage
End Class End Class

View File

@@ -12,6 +12,7 @@ Public Class frmStart
Try Try
LogConfig = New LogConfig(LogConfig.PathType.AppData, Nothing, Nothing, "Digital Data", "Monitor") LogConfig = New LogConfig(LogConfig.PathType.AppData, Nothing, Nothing, "Digital Data", "Monitor")
ConfigManager = New ConfigManager(Of Config)(LogConfig, Application.UserAppDataPath) ConfigManager = New ConfigManager(Of Config)(LogConfig, Application.UserAppDataPath)
Init(LogConfig)
If ConfigManager.Config.ConnectionString = String.Empty Then If ConfigManager.Config.ConnectionString = String.Empty Then
Dim oSQLConfig As New frmSQLConfig(LogConfig) Dim oSQLConfig As New frmSQLConfig(LogConfig)
@@ -26,8 +27,35 @@ Public Class frmStart
End If End If
Database = New MSSQLServer(LogConfig, ConfigManager.Config.ConnectionString) Database = New MSSQLServer(LogConfig, ConfigManager.Config.ConnectionString)
Catch ex As Exception Catch ex As Exception
ShowErrorMessage(ex) ShowErrorMessage(ex)
End Try End Try
End Sub End Sub
Private Sub buttonSearch_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles buttonSearch.ItemClick
InitTreeList()
LoadData()
End Sub
Private Function LoadData() As Boolean
Try
Dim oSQL As String = "EXEC PRDD_MONITORING_GET_TREEVIEW_RESULT 'TYPE1','sdsdd',2"
Dim oTable As DataTable = Database.GetDatatable(oSQL)
TreeListResults.DataSource = oTable
Return True
Catch ex As Exception
ShowErrorMessage(ex)
Return False
End Try
End Function
Private Sub InitTreeList()
TreeListResults.KeyFieldName = "GUID"
TreeListResults.ParentFieldName = "PARENT_ID"
End Sub
End Class End Class

View File

@@ -43,9 +43,13 @@ Public Class ClassDetailPages
Public IsInsert As Boolean = False Public IsInsert As Boolean = False
Public TabPage As XtraTabPage Public TabPage As XtraTabPage
Public Name As String Public Name As String
<Description("The Binding Source for the Form")>
Public BindingSource As BindingSource Public BindingSource As BindingSource
<Description("The Bound Datatable in the Dataset (eg. MyDataset.TB_FOO_TABLE)")>
Public DataTable As DataTable Public DataTable As DataTable
<Description("The TextEdit Control containing the AddedWho value")>
Public AddedWhoEdit As TextEdit Public AddedWhoEdit As TextEdit
<Description("The TextEdit Control containing the ChangedWhoEdit value")>
Public ChangedWhoEdit As TextEdit Public ChangedWhoEdit As TextEdit
End Class End Class
@@ -80,6 +84,10 @@ Public Class ClassDetailPages
AddHandler oLayoutControl.GotFocus, AddressOf Handle_Focus AddHandler oLayoutControl.GotFocus, AddressOf Handle_Focus
For Each oContainer As LayoutControlItem In oLayoutControl.Root.Items For Each oContainer As LayoutControlItem In oLayoutControl.Root.Items
If TypeOf oContainer Is EmptySpaceItem Then
Continue For
End If
Dim oControl As BaseEdit = oContainer.Control Dim oControl As BaseEdit = oContainer.Control
AddHandler oControl.GotFocus, AddressOf Handle_Focus AddHandler oControl.GotFocus, AddressOf Handle_Focus
AddHandler oControl.EditValueChanged, AddressOf Handle_EditValueChanged AddHandler oControl.EditValueChanged, AddressOf Handle_EditValueChanged

View File

@@ -53,8 +53,6 @@ Public Class frmAdmin_ClipboardWatcher
End Class End Class
Public Sub New(PrimaryKey As Integer) Public Sub New(PrimaryKey As Integer)
MyBase.New(My.LogConfig)
' Dieser Aufruf ist für den Designer erforderlich. ' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent() InitializeComponent()
@@ -64,6 +62,8 @@ Public Class frmAdmin_ClipboardWatcher
End Sub End Sub
Private Sub frmAdmin_CWProfile_Load(sender As Object, e As EventArgs) Handles Me.Load Private Sub frmAdmin_CWProfile_Load(sender As Object, e As EventArgs) Handles Me.Load
Init(My.LogConfig)
'TODO: Diese Codezeile lädt Daten in die Tabelle "DSDD_Stammdaten.TBDD_CONNECTION". Sie können sie bei Bedarf verschieben oder entfernen. 'TODO: Diese Codezeile lädt Daten in die Tabelle "DSDD_Stammdaten.TBDD_CONNECTION". Sie können sie bei Bedarf verschieben oder entfernen.
Me.TBDD_CONNECTIONTableAdapter.Fill(Me.DSDD_Stammdaten.TBDD_CONNECTION) Me.TBDD_CONNECTIONTableAdapter.Fill(Me.DSDD_Stammdaten.TBDD_CONNECTION)
Try Try

View File

@@ -7,8 +7,6 @@ Public Class frmAdmin_IDBEntity
Public Property IsInsert As Boolean Implements IAdminForm.IsInsert Public Property IsInsert As Boolean Implements IAdminForm.IsInsert
Public Sub New(PrimaryKey As Integer, Optional IsInsert As Boolean = False) Public Sub New(PrimaryKey As Integer, Optional IsInsert As Boolean = False)
MyBase.New(My.LogConfig)
' Dieser Aufruf ist für den Designer erforderlich. ' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent() InitializeComponent()
@@ -19,6 +17,7 @@ Public Class frmAdmin_IDBEntity
Private Sub frmAdmin_IDBEntity_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub frmAdmin_IDBEntity_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try Try
Init(My.LogConfig)
TBIDB_BUSINESS_ENTITYTableAdapter.Fill(DSIDB_Stammdaten.TBIDB_BUSINESS_ENTITY, PrimaryKey) TBIDB_BUSINESS_ENTITYTableAdapter.Fill(DSIDB_Stammdaten.TBIDB_BUSINESS_ENTITY, PrimaryKey)
Catch ex As Exception Catch ex As Exception
ShowErrorMessage(ex) ShowErrorMessage(ex)

View File

@@ -10,6 +10,8 @@ Public Class frmAdmin_SourceSQL
Public Property IsInsert As Boolean Implements IAdminForm.IsInsert Public Property IsInsert As Boolean Implements IAdminForm.IsInsert
Private Pages As ClassDetailPages
Public Sub New(PrimaryKey As Integer) Public Sub New(PrimaryKey As Integer)
' Dieser Aufruf ist für den Designer erforderlich. ' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent() InitializeComponent()
@@ -20,6 +22,17 @@ Public Class frmAdmin_SourceSQL
Private Sub frmAdmin_SourceSQL_Load(sender As Object, e As EventArgs) Handles Me.Load Private Sub frmAdmin_SourceSQL_Load(sender As Object, e As EventArgs) Handles Me.Load
Try Try
Pages = New ClassDetailPages(My.LogConfig, Me, New List(Of LayoutControl) From {LayoutControl1})
Pages.Add(New ClassDetailPages.PrimaryPage(IsInsert) With {
.Name = "Source SQL",
.AddedWhoEdit = txtAddedWho,
.ChangedWhoEdit = txtChangedWho,
.BindingSource = TBZF_ADMIN_SOURCE_SQLBindingSource,
.DataTable = DSIDB_Stammdaten.TBZF_ADMIN_SOURCE_SQL,
.IsInsert = IsInsert,
.TabPage = Nothing
})
If IsInsert Then If IsInsert Then
TBZF_ADMIN_SOURCE_SQLBindingSource.AddNew() TBZF_ADMIN_SOURCE_SQLBindingSource.AddNew()
Else Else

View File

@@ -789,7 +789,7 @@ Partial Class frmAdmin_Start
Me.Name = "frmAdmin_Start" Me.Name = "frmAdmin_Start"
Me.Ribbon = Me.RibbonControl1 Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1 Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "Administration" Me.Text = "Administration - ZooFlow"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TreeListMenu, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.TreeListMenu, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.MainTreeImages, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.MainTreeImages, System.ComponentModel.ISupportInitialize).EndInit()

View File

@@ -15,16 +15,8 @@ Public Class frmAdmin_Start
Private DetailForm As ClassDetailForm Private DetailForm As ClassDetailForm
Public Sub New()
MyBase.New(My.LogConfig)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Private Sub frmAdministration_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub frmAdministration_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Init(My.LogConfig)
DetailForm = New ClassDetailForm(My.LogConfig) DetailForm = New ClassDetailForm(My.LogConfig)
AddHandler DetailForm.DetailFormClosed, AddressOf DetailForm_Closed AddHandler DetailForm.DetailFormClosed, AddressOf DetailForm_Closed

View File

@@ -12,7 +12,7 @@ Public Class ClassDataASorDB
Dim oReturnDT As DataTable = Nothing Dim oReturnDT As DataTable = Nothing
If My.Application.Service.IsActive = True And pForce = String.Empty Then If My.Application.Service.IsActive = True And pForce = String.Empty Then
Try Try
Dim oTableResult As TableResult = _Client.GetDatatableByName(pAppServDT, pAppServFilter, pAppServSort) Dim oTableResult As TableResult = My.Application.Service.Client.GetDatatableByName(pAppServDT, pAppServFilter, pAppServSort)
oReturnDT = oTableResult.Table oReturnDT = oTableResult.Table
If IsNothing(oReturnDT) Then If IsNothing(oReturnDT) Then
_Logger.Warn($"Datatable from ApPServData is nothing [{pAppServDT} - {pAppServFilter}] - Failover via DB") _Logger.Warn($"Datatable from ApPServData is nothing [{pAppServDT} - {pAppServFilter}] - Failover via DB")
@@ -81,7 +81,7 @@ Public Class ClassDataASorDB
Public Sub Refresh_Connections() Public Sub Refresh_Connections()
Try Try
Dim oSql = String.Format("SELECT * FROM TBDD_CONNECTION WHERE AKTIV = 1") Dim oSql = String.Format("SELECT * FROM TBDD_CONNECTION WHERE AKTIV = 1")
DT_CONNECTIONS = GetDatatable("DD_ECM", oSql, "TBDD_CONNECTION", "", "", "") My.Tables.DTDD_CONNECTION = GetDatatable("DD_ECM", oSql, "TBDD_CONNECTION", "", "", "")
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
MsgBox("Unexpected Error in Refresh_Connections: " & ex.Message, MsgBoxStyle.Critical) MsgBox("Unexpected Error in Refresh_Connections: " & ex.Message, MsgBoxStyle.Critical)

View File

@@ -65,8 +65,8 @@ Public Class ClassIDBData
Dim oAttributeValue As Object = Nothing Dim oAttributeValue As Object = Nothing
If Not IsNothing(My.Application.IDB_DT_DOC_DATA) Then If Not IsNothing(My.Tables.DTIDB_DOC_DATA) Then
If oSingleAttribute = True And My.Application.IDB_DT_DOC_DATA.Rows.Count = 1 And pFromIDB = False Then If oSingleAttribute = True And My.Tables.DTIDB_DOC_DATA.Rows.Count = 1 And pFromIDB = False Then
Try Try
If pAttributeName = "IDBCreatedWhen" Then If pAttributeName = "IDBCreatedWhen" Then
pAttributeName = "ADDED_WHEN" pAttributeName = "ADDED_WHEN"
@@ -78,7 +78,7 @@ Public Class ClassIDBData
pAttributeName = "CHANGED_WHO" pAttributeName = "CHANGED_WHO"
End If End If
oAttributeValue = My.Application.IDB_DT_DOC_DATA.Rows(0).Item(pAttributeName) oAttributeValue = My.Tables.DTIDB_DOC_DATA.Rows(0).Item(pAttributeName)
Catch ex As Exception Catch ex As Exception
_Logger.Debug($"Error getting Attribute from IDB_DT_DOC_DATA: {ex.Message}") _Logger.Debug($"Error getting Attribute from IDB_DT_DOC_DATA: {ex.Message}")
End Try End Try

View File

@@ -150,10 +150,10 @@ Public Class ClassInit
Dim oSql = "" Dim oSql = ""
oSql = "SELECT * FROM TBIDB_COMMON_SQL WHERE ACTIVE = 1" oSql = "SELECT * FROM TBIDB_COMMON_SQL WHERE ACTIVE = 1"
My.DTCOMMON_SQL = _DataASorDB.GetDatatable("IDB", oSql, "TBIDB_COMMON_SQL", "", "") My.Tables.DTIDB_COMMON_SQL = _DataASorDB.GetDatatable("IDB", oSql, "TBIDB_COMMON_SQL", "", "")
oSql = "SELECT * FROM TBIDB_CATALOG" oSql = "SELECT * FROM TBIDB_CATALOG"
My.DTCATALOG = _DataASorDB.GetDatatable("IDB", oSql, "TBIDB_CATALOG", "", "") My.Tables.DTIDB_CATALOG = _DataASorDB.GetDatatable("IDB", oSql, "TBIDB_CATALOG", "", "")
For Each oRow As DataRow In My.DTCATALOG.Rows For Each oRow As DataRow In My.Tables.DTIDB_CATALOG.Rows
'Console.WriteLine(oRow.Item("CAT_TITLE").ToString) 'Console.WriteLine(oRow.Item("CAT_TITLE").ToString)
Select Case oRow.Item("CAT_TITLE").ToString Select Case oRow.Item("CAT_TITLE").ToString
Case "FILESTORE_ARCHIVE" Case "FILESTORE_ARCHIVE"
@@ -183,15 +183,12 @@ Public Class ClassInit
If oSplit.Length = 2 Then If oSplit.Length = 2 Then
oAppServerPort = oSplit(1) oAppServerPort = oSplit(1)
End If End If
_Client = New Client(_LogConfig, oAppServerAddress, oAppServerPort) My.Application.Service.Client = New Client(_LogConfig, oAppServerAddress, oAppServerPort)
If Not IsNothing(_Client) Then If Not IsNothing(My.Application.Service.Client) Then
If _Client.Connect() Then If My.Application.Service.Client.Connect() Then
MyApplication.Service.IsActive = True MyApplication.Service.IsActive = True
End If End If
End If End If
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
Throw New InitException("Error in InitBasicData", ex) Throw New InitException("Error in InitBasicData", ex)

View File

@@ -25,15 +25,12 @@ Namespace My
End Get End Get
End Property End Property
Property DTAttributes As DataTable
Property DTCOMMON_SQL As DataTable
Property DTCATALOG As DataTable
Property IDB_DT_DOC_DATA As DataTable
Property LogConfig As LogConfig Property LogConfig As LogConfig
Property MainForm As frmAdmin_Start Property MainForm As frmAdmin_Start
Property SearchForm As frmSearchStart Property SearchForm As frmSearchStart
Property Database As MSSQLServer Property Database As MSSQLServer
Property DatabaseIDB As MSSQLServer Property DatabaseIDB As MSSQLServer
Property Tables As New ClassTables
Property Queries As New ClassQueries Property Queries As New ClassQueries
Property Filestore_Work As String Property Filestore_Work As String
Property Filestore_Archive As String Property Filestore_Archive As String
@@ -56,7 +53,6 @@ Namespace My
Public CommandLineFunction As String Public CommandLineFunction As String
Public CommandLineArguments As New Dictionary(Of String, String) Public CommandLineArguments As New Dictionary(Of String, String)
Public Property IDB_DT_DOC_DATA As DataTable
Public Function GetEnvironment() As Environment Public Function GetEnvironment() As Environment
Return New Environment With { Return New Environment With {

View File

@@ -0,0 +1,7 @@
Public Class ClassTables
Property DTIDB_ATTRIBUTE As DataTable
Property DTIDB_COMMON_SQL As DataTable
Property DTIDB_CATALOG As DataTable
Property DTIDB_DOC_DATA As DataTable
Property DTDD_CONNECTION As DataTable
End Class

View File

@@ -866,7 +866,7 @@ Public Class frmSearchStart
Dim oSearchTerm As String = "" Dim oSearchTerm As String = ""
Dim oFilter As String = $"GUID = {pAttrID}" Dim oFilter As String = $"GUID = {pAttrID}"
Dim oFilteredRows() As DataRow = My.DTAttributes.Select(oFilter) Dim oFilteredRows() As DataRow = My.Tables.DTIDB_ATTRIBUTE.Select(oFilter)
If oFilteredRows.Length = 1 Then If oFilteredRows.Length = 1 Then
For Each oRow As DataRow In oFilteredRows For Each oRow As DataRow In oFilteredRows
Dim oType As Integer = DirectCast(oRow.Item("TYP_ID"), Integer) Dim oType As Integer = DirectCast(oRow.Item("TYP_ID"), Integer)

View File

@@ -210,6 +210,7 @@
<Compile Include="MyDataset.vb"> <Compile Include="MyDataset.vb">
<DependentUpon>MyDataset.xsd</DependentUpon> <DependentUpon>MyDataset.xsd</DependentUpon>
</Compile> </Compile>
<Compile Include="Queries\ClassTables.vb" />
<Compile Include="Search\frmFlowSearch.Designer.vb"> <Compile Include="Search\frmFlowSearch.Designer.vb">
<DependentUpon>frmFlowSearch.vb</DependentUpon> <DependentUpon>frmFlowSearch.vb</DependentUpon>
</Compile> </Compile>

View File

@@ -276,7 +276,7 @@ Public Class frmFlowForm
End If End If
oSQL = "SELECT * FROM TBIDB_ATTRIBUTE" oSQL = "SELECT * FROM TBIDB_ATTRIBUTE"
My.DTAttributes = AppServerOrDB.GetDatatable("IDB", oSQL, "TBIDB_ATTRIBUTE", "", "") My.Tables.DTIDB_ATTRIBUTE = AppServerOrDB.GetDatatable("IDB", oSQL, "TBIDB_ATTRIBUTE", "", "")
Me.Cursor = Cursors.Default Me.Cursor = Cursors.Default
End Sub End Sub
@@ -408,7 +408,7 @@ Public Class frmFlowForm
Exit Sub Exit Sub
End If End If
Dim oSQLFlowSearch As String = "" Dim oSQLFlowSearch As String = ""
For Each oRow As DataRow In My.DTCOMMON_SQL.Rows For Each oRow As DataRow In My.Tables.DTIDB_COMMON_SQL.Rows
If oRow.Item("TITLE") = SQLCMD_FLOW_SEARCH_LOWER_LIMIT Then If oRow.Item("TITLE") = SQLCMD_FLOW_SEARCH_LOWER_LIMIT Then
oSQLFlowSearch = oRow.Item("SQL_COMMAND") oSQLFlowSearch = oRow.Item("SQL_COMMAND")

View File

@@ -17,14 +17,14 @@ Public Class frmtest
End If End If
End If End If
oString = _Client.NewFileStoreObject(txtIDB_OBJ_ID.Text, txtFilestoreType.Text, txtDate.Text, oextension, oKeepExtension) oString = My.Application.Service.Client.NewFileStoreObject(txtIDB_OBJ_ID.Text, txtFilestoreType.Text, txtDate.Text, oextension, oKeepExtension)
txtIDBFOPath.Text = oString txtIDBFOPath.Text = oString
End Sub End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim oString As String Dim oString As String
oString = _Client.NewIDB_OBJ_ID("DOC", My.Application.User.UserName, "") oString = My.Application.Service.Client.NewIDB_OBJ_ID("DOC", My.Application.User.UserName, "")
txtIDB_OBJ_ID.Text = oString txtIDB_OBJ_ID.Text = oString
End Sub End Sub
@@ -36,7 +36,7 @@ Public Class frmtest
Using oMemoryStream As New MemoryStream Using oMemoryStream As New MemoryStream
oStream.CopyTo(oMemoryStream) oStream.CopyTo(oMemoryStream)
Dim oContents As Byte() = oMemoryStream.ToArray() Dim oContents As Byte() = oMemoryStream.ToArray()
oResult = Await _Client.ImportIDBFOAsync(oContents, My.Application.User.UserName, txtIDB_OBJ_ID.Text, 1, txtIDBFOPath.Text) oResult = Await My.Application.Service.Client.ImportIDBFOAsync(oContents, My.Application.User.UserName, txtIDB_OBJ_ID.Text, 1, txtIDBFOPath.Text)
End Using End Using
End Using End Using

View File

@@ -1,7 +1,6 @@
Imports DigitalData.Modules.EDMI.API Imports DigitalData.Modules.EDMI.API
Module modCurrent Module modCurrent
Public Property _Client As Client
Public Property ADDITIONAL_TITLE As String Public Property ADDITIONAL_TITLE As String
Public Property DT_CONNECTIONS As DataTable Public Property DT_CONNECTIONS As DataTable
Public Property CURR_MISSING_PATTERN_NAME = "Email To" Public Property CURR_MISSING_PATTERN_NAME = "Email To"

View File

@@ -74,6 +74,10 @@ Public Class MSSQLServer
End Function End Function
Private Function MaybeGetTransaction(Connection As SqlConnection, Mode As TransactionMode, Transaction As SqlTransaction) As SqlTransaction Private Function MaybeGetTransaction(Connection As SqlConnection, Mode As TransactionMode, Transaction As SqlTransaction) As SqlTransaction
If Connection Is Nothing Then
Throw New ArgumentNullException("Connection")
End If
If Mode = TransactionMode.NoTransaction Then If Mode = TransactionMode.NoTransaction Then
Return Nothing Return Nothing
ElseIf Mode = TransactionMode.ExternalTransaction Then ElseIf Mode = TransactionMode.ExternalTransaction Then
@@ -176,14 +180,15 @@ Public Class MSSQLServer
End Try End Try
End Function End Function
''' <summary>
''' This Function intentionally has no try..catch block to have any errors caught outside
''' </summary>
''' <param name="Connection"></param>
''' <returns></returns>
Private Function OpenSQLConnection(Connection As SqlConnection) As SqlConnection Private Function OpenSQLConnection(Connection As SqlConnection) As SqlConnection
Try If Connection.State = ConnectionState.Closed Then
If Connection.State = ConnectionState.Closed Then Connection.Open()
Connection.Open() End If
End If
Catch ex As Exception
_Logger.Error(ex)
End Try
Return Connection Return Connection
End Function End Function
@@ -295,10 +300,9 @@ Public Class MSSQLServer
End Using End Using
End Function End Function
Public Function ExecuteNonQuery(SQLCommand As String, Transaction As SqlTransaction, Optional Timeout As Integer = 120) As Boolean Public Function ExecuteNonQuery(SQLCommand As String, Transaction As SqlTransaction, Optional Timeout As Integer = 120) As Boolean
Using oConnection = GetSQLConnection() Using oConnection = GetSQLConnection()
Return ExecuteNonQueryWithConnectionObject(SQLCommand, oConnection, TransactionMode.ExternalTransaction, Transaction, Timeout) Return ExecuteNonQueryWithConnectionObject(SQLCommand, Transaction.Connection, TransactionMode.ExternalTransaction, Transaction, Timeout)
End Using End Using
End Function End Function

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.1.3.0")> <Assembly: AssemblyVersion("2.1.4.0")>
<Assembly: AssemblyFileVersion("2.1.3.0")> <Assembly: AssemblyFileVersion("2.1.4.0")>