Initial commit

This commit is contained in:
2021-04-20 07:59:36 +02:00
commit fb0247c874
21969 changed files with 11640044 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EDKB04", "EDKB04\EDKB04.vbproj", "{9B20034E-010A-448B-9A63-0DC12F029179}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9B20034E-010A-448B-9A63-0DC12F029179}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9B20034E-010A-448B-9A63-0DC12F029179}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9B20034E-010A-448B-9A63-0DC12F029179}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9B20034E-010A-448B-9A63-0DC12F029179}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,26 @@
Imports System.ServiceProcess
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class EDKB04
Inherits System.ServiceProcess.ServiceBase
'Wird vom Komponenten-Designer benötigt.
Private components As System.ComponentModel.IContainer
' Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich.
' Das Bearbeiten ist mit dem Komponenten-Designer möglich.
' Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
'
'EDKB04
'
Me.ServiceName = "EDKB04"
End Sub
End Class

View File

@@ -0,0 +1,123 @@
<?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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
<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" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</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" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</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>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>

View File

@@ -0,0 +1,313 @@
Imports System.Timers
Imports IBM.WMQ
Imports System.ServiceProcess
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels
Imports System.Xml
Imports System.Data.SqlClient
Imports System.IO
Imports System.Reflection
Public Class EDKB04
Inherits System.ServiceProcess.ServiceBase
Dim WithEvents tmrQueuePolling As Timer = New Timer(2000)
Dim myStopper As ErrorStopper
#Region " Vom Component Designer generierter Code "
Public Sub New()
MyBase.New()
' Dieser Aufruf wird vom Komponenten-Designer benötigt.
InitializeComponent()
' Fügen Sie Initialisierungscode hinter dem InitializeComponent()-Aufruf ein
End Sub
'UserService überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
' Der Haupteinstiegspunkt für den Vorgang
<MTAThread()> _
Shared Sub Main()
Dim ServicesToRun() As System.ServiceProcess.ServiceBase
ServicesToRun = New System.ServiceProcess.ServiceBase() {New EDKB04}
System.ServiceProcess.ServiceBase.Run(ServicesToRun)
End Sub
#End Region
Protected Overrides Sub OnStart(ByVal args() As String)
Try
Dim FileWatch As New FileSystemWatcher()
'init BMS
Dim m_log1 As New bms.Logging(6, Common.Common.JobType.WatchJob)
m_log = m_log1
m_log.Start()
m_log.Log("EDKB04: Start", Common.Common.JournalEntryType.Information)
'Init Params
Params.Loadparameters()
'Init File Watcher
FileWatch.Path = Params.Watchdir
FileWatch.IncludeSubdirectories = False
FileWatch.Filter = "*.xml"
AddHandler FileWatch.Created, New FileSystemEventHandler(AddressOf OnFileEvent)
FileWatch.EnableRaisingEvents = True
'init DB-Connection
Dim sconnection = New DB_Connection()
'init Timer
If CInt(Params.TimerInterval) > 0 Then
tmrQueuePolling.Start()
Else
tmrQueuePolling.Enabled = False
End If
'Init Error Stopper
Me.myStopper = New ErrorStopper
Me.myStopper.init(Params.nb_errors, Params.nb_seconds)
Catch ex As Exception
WriteLog("BMS-Connection / XML: " + ex.Message, appPath + "Error.txt")
m_log.Log(ex.Message, Common.Common.JournalEntryType.Error)
Exit Sub
End Try
End Sub
Protected Overrides Sub OnStop()
' Hier Code zum Ausführen erforderlicher Löschvorgänge zum Beenden des Dienstes einfügen.
m_log.Log("EDKB04 Stop", Common.Common.JournalEntryType.Information)
m_log.Ende()
End Sub
Private Sub WriteLog(ByVal stext As String, ByVal sPfad As String)
Try
Dim FiStr As FileStream = New FileStream(sPfad, FileMode.Append)
Dim StrWr As StreamWriter = New StreamWriter(FiStr)
StrWr.WriteLine("Fehler: " + Now() & " Text:" & stext)
StrWr.Close()
Catch ex As Exception
End Try
End Sub
#Region "Timer"
Public Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs) Handles tmrQueuePolling.Elapsed
ReadfromMQ()
End Sub
#End Region
#Region "File Watcher"
Private Sub OnFileEvent(ByVal source As Object, ByVal e As FileSystemEventArgs)
Try
Threading.Thread.Sleep(2000)
Dim di As New IO.DirectoryInfo(Params.Watchdir)
Dim diar1 As IO.FileInfo() = di.GetFiles("*.xml")
Dim dra As IO.FileInfo
Dim data As String
For Each dra In diar1
Dim fil As New StreamReader(dra.FullName)
data = fil.ReadToEnd()
fil.Close()
'm_log.Log("EDKB04: read File OK", Common.Common.JournalEntryType.Information)
Dim newending As String = ".err"
Dim filetimestamp As String = Format(Now, "yyyyMMddHHmmssffff")
If XMLtoObj(data) = True Then
If DBImport() = True Then
newending = ".xml"
Else
newending = ".err"
End If
End If
If Params.DebugMode Then
'moven
File.Move(dra.FullName, Params.DebugDir & filetimestamp & newending)
Else
'deleten
File.Delete(dra.FullName)
End If
Next
Catch ex As Exception
m_log.Log("EDKB04: FileWatcher Error: " & ex.Message, Common.Common.JournalEntryType.Error)
End Try
End Sub
#End Region
Private Function DBImport() As Boolean
'---------------Import in DB--------------
Dim result As Boolean
'm_log.Log("EDKB04: DB Abgleich START", Common.Common.JournalEntryType.Information)
result = DBHandling.Init(XMLHandling.Stamm1)
'Transformation starten
If result Then
result = Stamm1.Transform
End If
If result And XMLHandling.Stamm1.HasPartnerNat Then
result = DBHandling.partnerNat()
End If
If result And XMLHandling.Stamm1.HasPartnerJur Then
result = DBHandling.partnerJur()
End If
If result And XMLHandling.Stamm1.HasHauptadresse Then
result = DBHandling.partnerHauptadresse()
End If
If result And XMLHandling.Stamm1.HasVersandadresse Then
result = DBHandling.partnerVersandadresse()
End If
If result And XMLHandling.Stamm1.HasMitarbeiter Then
result = DBHandling.Mitarbeiter()
End If
If result And XMLHandling.Stamm1.HasVV Then
result = DBHandling.VV()
End If
If result Then
m_log.Log("EDKB04: DB Abgleich ENDE", Common.Common.JournalEntryType.Information)
Else
If Me.myStopper.insert Then m_log.Log("EDKB04: DB Abgleich ERROR", Common.Common.JournalEntryType.Error)
End If
Return result
End Function
Private Function XMLtoObj(ByVal strXMLContent As String) As Boolean
Dim result As Boolean
Try
'm_log.Log("EDKB04: Lese XML String in Objekt", Common.Common.JournalEntryType.Information)
result = XMLHandling.Load(strXMLContent)
'm_log.Log("EDKB04: Lese XML String in Objekt ENDE", Common.Common.JournalEntryType.Information)
Catch ex As Exception
m_log.Log("EDKB04: Error bei XML->Obj: " & ex.Message, Common.Common.JournalEntryType.Error)
result = False
End Try
Return result
End Function
Private Function ReadfromMQ() As Boolean
Dim mqQMgr As MQQueueManager '* MQQueueManager instance
Dim mqQueue As MQQueue = Nothing '* MQQueue instance
Dim queueName As String '* Name of queue to use
Dim strMsg As String
Dim result As Boolean
tmrQueuePolling.Stop()
'm_log.Log("EDKB04: Start MQ Verbindungsaufbau", Common.Common.JournalEntryType.Information)
queueName = Params.MQQueueName
Try
MQEnvironment.Hostname = Params.MQHostname 'Bsp: "vb0049d"
MQEnvironment.Port = Params.MQPort 'Bsp: 1416
MQEnvironment.Channel = Params.MQChannel 'Bsp: "TGKB.D16.EDOKA.CL"
Try
mqQMgr = New MQQueueManager()
mqQueue = mqQMgr.AccessQueue(queueName, MQC.MQOO_INPUT_AS_Q_DEF + MQC.MQOO_FAIL_IF_QUIESCING) '* open queue for input but not if MQM stopping
Catch ex As Exception
m_log.Log("EDKB04: MQ Error: " & ex.Message, Common.Common.JournalEntryType.Error)
End Try
Catch mqe As IBM.WMQ.MQException
m_log.Log("EDKB04: Error: " & mqe.Message, Common.Common.JournalEntryType.Error)
m_log.Log("EDKB04: Errorcode: " & mqe.CompletionCode, Common.Common.JournalEntryType.Error)
m_log.Log("EDKB04: Reasoncode: " & mqe.ReasonCode, Common.Common.JournalEntryType.Error)
End Try
Try
Dim isContinue As Boolean = True
Dim strXMLContent As String
Do While (isContinue = True)
Dim mqMsg As MQMessage '* MQMessage instance
Dim mqGetMsgOpts As MQGetMessageOptions '* MQGetMessageOptions instance
mqMsg = New MQMessage()
mqGetMsgOpts = New MQGetMessageOptions()
Try
If CInt(Params.TimerInterval) > 0 Then
mqGetMsgOpts.WaitInterval = CInt(Params.TimerInterval)
Else
mqGetMsgOpts.WaitInterval = 15000 '* 15 second limit for waiting
End If
Catch ex As Exception
mqGetMsgOpts.WaitInterval = 15000 '* 15 second limit for waiting
End Try
mqGetMsgOpts.Options = MQC.MQGMO_WAIT
Try
mqQueue.Get(mqMsg, mqGetMsgOpts)
'mqQueue.
If (mqMsg.Format.CompareTo(MQC.MQFMT_STRING) = 0) Then
strMsg = mqMsg.ReadString(mqMsg.MessageLength)
strXMLContent = strMsg
'Me.Log("Message Content:" & strMsg)
If Params.DebugMode Then
Me.writeDebug(strMsg)
End If
'm_log.Log("EDKB04: Message Length:" & Len(strMsg) & " Chars", Common.Common.JournalEntryType.Information)
If XMLtoObj(strXMLContent) = True Then
DBImport()
Else
result = False
End If
result = True
Else
If Me.myStopper.insert Then m_log.Log("EDKB04: Non-text message", Common.Common.JournalEntryType.Error)
result = False
End If
Catch mqe As IBM.WMQ.MQException
'* report reason, if any
If (mqe.Reason = MQC.MQRC_NO_MSG_AVAILABLE) Then
'* special report for normal end
m_log.Log("EDKB04: no more messages", Common.Common.JournalEntryType.Information)
isContinue = False
Else
'* general report for other reasons
If Me.myStopper.insert Then m_log.Log("EDKB04: MQQueue::Get ended with {0}: " & mqe.Message, Common.Common.JournalEntryType.Error)
'* treat truncated message as a failure for this sample
'If (mqe.Reason = MQC.MQRC_TRUNCATED_MSG_FAILED) Then
isContinue = False
'End If
End If
result = False
End Try
If LCase(Params.LoopQueue) = "false" Then
isContinue = False
End If
Loop
Catch ex As Exception
If Me.myStopper.insert Then m_log.Log("EDKB04: Error bei GET: " & ex.Message, Common.Common.JournalEntryType.Error)
result = False
Finally
If CInt(Params.TimerInterval) > 0 Then
tmrQueuePolling.Start()
End If
End Try
Return result
End Function
Private Function writeDebug(ByVal xmlstring As String) As Boolean
Dim result As Boolean = True
Try
Dim writer As System.IO.StreamWriter
Dim filetimestamp As String = Format(Now, "yyyyMMddHHmmssffff")
writer = IO.File.AppendText(Params.DebugDir & filetimestamp & ".xml")
writer.WriteLine(xmlstring)
writer.Close()
Catch ex As Exception
m_log.Log("EDKB04: Error beim Abspeichern der Debug .xml Daten")
result = False
End Try
Return result
End Function
End Class

View File

@@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{9B20034E-010A-448B-9A63-0DC12F029179}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>EDKB04.EDKB04</StartupObject>
<RootNamespace>EDKB04</RootNamespace>
<AssemblyName>EDKB04</AssemblyName>
<MyType>Console</MyType>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>EDKB04.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\</OutputPath>
<DocumentationFile>EDKB04.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<ItemGroup>
<Reference Include="amqmdnet, Version=1.0.0.3, Culture=neutral, PublicKeyToken=dd3cb1c9aae9ec97">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\amqmdnet.dll</HintPath>
</Reference>
<Reference Include="BMS, Version=2.0.2972.16650, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\BMS.dll</HintPath>
</Reference>
<Reference Include="Common, Version=2.0.2972.16650, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Common.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Data" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</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" />
</ItemGroup>
<ItemGroup>
<Compile Include="clsconnectionprovider.vb" />
<Compile Include="clsParameter.vb" />
<Compile Include="DBHandling.vb" />
<Compile Include="db_connection.vb" />
<Compile Include="ErrorStopper.vb" />
<Compile Include="Globals.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="EDKB04.vb">
<SubType>Component</SubType>
</Compile>
<Compile Include="EDKB04.Designer.vb">
<DependentUpon>EDKB04.vb</DependentUpon>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<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>
<Compile Include="ProjectInstaller.vb">
<SubType>Component</SubType>
</Compile>
<Compile Include="Stammdaten.vb" />
<Compile Include="XMLHandling.vb" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="EDKB04.resx">
<SubType>Designer</SubType>
<DependentUpon>EDKB04.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ProjectInstaller.resx">
<DependentUpon>ProjectInstaller.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<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="parameter.cfg" />
</ItemGroup>
<ItemGroup>
<Content Include="TodoList.txt" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,17 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
<PublishUrlHistory>publish\</PublishUrlHistory>
<InstallUrlHistory>
</InstallUrlHistory>
<SupportUrlHistory>
</SupportUrlHistory>
<UpdateUrlHistory>
</UpdateUrlHistory>
<BootstrapperUrlHistory>
</BootstrapperUrlHistory>
<ApplicationRevision>0</ApplicationRevision>
<FallbackCulture>de-DE</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,34 @@
Public Class ErrorStopper
Private nb_events As Integer = 0
Private nb_seconds As Integer = 0
Private myStack As ArrayList
Public Function insert() As Boolean
Dim result As Boolean = True
'Neues Element rein
Dim new_el As New DateTime
new_el = Now()
myStack.Add(new_el)
'Alte löschen
Dim check_el As DateTime
Dim i As Integer = myStack.Count
Do While i > 0
check_el = myStack.Item(0)
If DateAdd(DateInterval.Second, nb_seconds, check_el) < Now() Then
myStack.RemoveAt(0)
End If
i = i - 1
Loop
'Check ob Menge überschritten
If myStack.Count >= nb_events Then result = False
Return result
End Function
Public Sub init(ByVal numberOfEvents As Integer, ByVal periodInSeconds As Integer)
Me.nb_events = numberOfEvents
Me.nb_seconds = periodInSeconds
Me.myStack = New ArrayList
End Sub
End Class

View File

@@ -0,0 +1,38 @@
Imports System.Reflection
Imports System.IO
Module Globals
Public Applikationsdaten As DataTable
Public AppldataRow As Integer
Public sConnectionString_edoka As String
Public sConnectionString_journale As String
Public sConnectionString_tgdata As String
Public args As String() = Environment.GetCommandLineArgs()
Public Params As New ClsParameter()
Public conn_edoka As New edokadb.clsConnectionProvider()
Public conn_journale As New edokadb.clsConnectionProvider()
Public conn_tgdata As New edokadb.clsConnectionProvider()
Public Fehler As Integer = 0
Public Warning As Integer = 0
Public DokumentID As String
Public ColdDokumentID As String
Public KeyNr As Long
Public ofile As System.IO.File
Public oread As System.IO.StreamReader
'NEU
Public appPath As String = Path.GetDirectoryName([Assembly].GetEntryAssembly().Location) + "\"
#Region "BMS"
Public m_log As bms.Logging
#End Region
End Module

View File

@@ -0,0 +1,13 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:2.0.50727.1433
'
' 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>3</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 mit einer Assembly verknüpft sind.
' Die Werte der Assemblyattribute überprüfen
<Assembly: AssemblyTitle("EDKB04")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("DEVNET")>
<Assembly: AssemblyProduct("EDKB04")>
<Assembly: AssemblyCopyright("Copyright © DEVNET 2008")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
<Assembly: Guid("8a47384b-6519-4f1e-ae42-dae71b13a3b2")>
' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
'
' Hauptversion
' Nebenversion
' Buildnummer
' Revision
'
' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
' übernehmen, indem Sie "*" 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:2.0.50727.1433
'
' 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", "2.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("EDKB04.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:2.0.50727.1433
'
' 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", "8.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.EDKB04.My.MySettings
Get
Return Global.EDKB04.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,127 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
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">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</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 forserialized 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="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>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ServiceProcessInstaller1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Assembly</value>
</data>
<data name="ServiceProcessInstaller1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Assembly</value>
</data>
<data name="ServiceProcessInstaller1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</data>
<data name="EDKB04.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Assembly</value>
</data>
<data name="EDKB04.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Assembly</value>
</data>
<data name="EDKB04.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>188, 17</value>
</data>
<data name="$this.Name">
<value>ProjectInstaller</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Assembly</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
</root>

View File

@@ -0,0 +1,61 @@
Imports System.ComponentModel
Imports System.Configuration.Install
<RunInstaller(True)> Public Class ProjectInstaller
Inherits System.Configuration.Install.Installer
#Region " Vom Component Designer generierter Code "
Public Sub New()
MyBase.New()
' Dieser Aufruf ist für den Komponenten-Designer erforderlich.
InitializeComponent()
' Initialisierungen nach dem Aufruf InitializeComponent() hinzufügen
End Sub
'Installer überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
' Für Komponenten-Designer erforderlich
Private components As System.ComponentModel.IContainer
'HINWEIS: Die folgende Prozedur ist für den Komponenten-Designer erforderlich
'Sie kann mit dem Komponenten-Designer modifiziert werden.
'Verwenden Sie nicht den Code-Editor zur Bearbeitung.
Friend WithEvents ServiceProcessInstaller1 As System.ServiceProcess.ServiceProcessInstaller
Friend WithEvents EDKB04 As System.ServiceProcess.ServiceInstaller
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.ServiceProcessInstaller1 = New System.ServiceProcess.ServiceProcessInstaller
Me.EDKB04 = New System.ServiceProcess.ServiceInstaller
'
'ServiceProcessInstaller1
'
Me.ServiceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem
Me.ServiceProcessInstaller1.Installers.AddRange(New System.Configuration.Install.Installer() {Me.EDKB04})
Me.ServiceProcessInstaller1.Password = Nothing
Me.ServiceProcessInstaller1.Username = Nothing
'
'EDKB01ZV
'
Me.EDKB04.DisplayName = "EDKB04"
Me.EDKB04.ServiceName = "EDKB04"
'
'ProjectInstaller
'
Me.Installers.AddRange(New System.Configuration.Install.Installer() {Me.ServiceProcessInstaller1})
End Sub
#End Region
End Class

View File

@@ -0,0 +1,974 @@
Imports System.Xml
Imports System.Data.SqlClient
Public Class Stammdaten
Public _ResultName As String
Public _ResultHeader As resultHeader = New resultHeader
Public _ResultContent As resultContent = New resultContent
Public _ResultState As resultState = New resultState
Public HasResultHeader As Boolean = False
Public HasResultContent As Boolean = False
Public HasPartnerNat As Boolean = False
Public HasPartnerJur As Boolean = False
Public HasHauptadresse As Boolean = False
Public HasVersandadresse As Boolean = False
Public HasMitarbeiter As Boolean = False
Public HasVV As Boolean = False
Public HasResultState As Boolean = False
Public XmlOk As Boolean = False
Private _doc As XmlDocument
Private Const ROOTNODE As String = "result"
#Region "Servicefunktionen"
Public Function fill(ByRef doc As XmlDocument) As Boolean
Dim success As Boolean = True
Me._doc = doc
'Einlesen einzeln
Me._ResultName = ReadSingleNode(ROOTNODE & "/resultName")
If ExistsNode(ROOTNODE & "/resultHeader") Then
HasResultHeader = True
Me._ResultHeader._mandant = ReadSingleNode(ROOTNODE & "/resultHeader/mandant")
Me._ResultHeader._Sprache = ReadSingleNode(ROOTNODE & "/resultHeader/sprache")
Me._ResultHeader._userID = ReadSingleNode(ROOTNODE & "/resultHeader/userId")
End If
If ExistsNode(ROOTNODE & "/resultState") Then
HasResultState = True
Me._ResultState._status = ReadSingleNode(ROOTNODE & "/resultState/state")
Me._ResultState._error = ReadSingleNode(ROOTNODE & "/resultState/error")
End If
If ExistsNode(ROOTNODE & "/resultContent") Then
HasResultContent = True
Dim done As Boolean = False
If ExistsNode(ROOTNODE & "/resultContent/partnerNat") Then
HasPartnerNat = True
done = True
Me._ResultContent._partnerNat._ablaufDatum = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/ablaufDatum")
Me._ResultContent._partnerNat._auslaenderstatus = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/auslaenderstatus")
Me._ResultContent._partnerNat._beruf = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/beruf")
Me._ResultContent._partnerNat._betreuerId = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/betreuerId")
Me._ResultContent._partnerNat._domizilCode = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/domizilCode")
Me._ResultContent._partnerNat._geburtsDatum = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/geburtsDatum")
Me._ResultContent._partnerNat._kundenSegment = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/kundenSegment")
Me._ResultContent._partnerNat._kurzname = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/kurzname")
Me._ResultContent._partnerNat._name = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/name")
Me._ResultContent._partnerNat._nationalitaet = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/nationalitaet")
Me._ResultContent._partnerNat._partnerAbwicklungsformCode = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/partnerAbwicklungsformCode")
Me._ResultContent._partnerNat._partnerNummer = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/partnerNummer")
Me._ResultContent._partnerNat._sex = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/sex")
Me._ResultContent._partnerNat._sprache = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/sprache")
Me._ResultContent._partnerNat._status = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/status")
Me._ResultContent._partnerNat._versandInstruktion = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/versandInstruktion")
Me._ResultContent._partnerNat._vipCode = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/vipCode")
Me._ResultContent._partnerNat._vorname = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/vorname")
Me._ResultContent._partnerNat._AngestelltenArt = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/angestelltenArt")
End If
If Not (done) And ExistsNode(ROOTNODE & "/resultContent/partnerJur") Then
HasPartnerJur = True
done = True
Me._ResultContent._partnerJur._ablaufDatum = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/ablaufDatum")
Me._ResultContent._partnerJur._betreuerId = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/betreuerId")
Me._ResultContent._partnerJur._branche = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/branche")
Me._ResultContent._partnerJur._domizilCode = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/domizilCode")
Me._ResultContent._partnerJur._handelRegDatum = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/handelRegDatum")
Me._ResultContent._partnerJur._handelRegOrt = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/handelRegOrt")
Me._ResultContent._partnerJur._kundenSegment = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/kundenSegment")
Me._ResultContent._partnerJur._kurzname = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/kurzname")
Me._ResultContent._partnerJur._name = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/name")
Me._ResultContent._partnerJur._nationalitaet = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/nationalitaet")
Me._ResultContent._partnerJur._partnerAbwicklungsformCode = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/partnerAbwicklungsformCode")
Me._ResultContent._partnerJur._partnerNummer = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/partnerNummer")
Me._ResultContent._partnerJur._sprache = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/sprache")
Me._ResultContent._partnerJur._status = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/status")
Me._ResultContent._partnerJur._versandInstruktion = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/versandInstruktion")
Me._ResultContent._partnerJur._vipCode = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/vipCode")
End If
If Not (done) And ExistsNode(ROOTNODE & "/resultContent/hauptAdresse") Then
HasHauptadresse = True
done = True
Me._ResultContent._hauptAdresse._ablaufDatumAdresse = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/ablaufDatumAdresse")
Me._ResultContent._hauptAdresse._banklagernd = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/banklagernd")
Me._ResultContent._hauptAdresse._briefanrede1 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/briefanrede1")
Me._ResultContent._hauptAdresse._briefanrede1Code = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/briefanrede1Code")
Me._ResultContent._hauptAdresse._briefanrede2Zeile1 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/briefanrede2Zeile1")
Me._ResultContent._hauptAdresse._briefanrede2Zeile2 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/briefanrede2Zeile2")
Me._ResultContent._hauptAdresse._firma = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/firma")
Me._ResultContent._hauptAdresse._hausNr = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/hausNr")
Me._ResultContent._hauptAdresse._kopien = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/kopien")
Me._ResultContent._hauptAdresse._laenderCode = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/laenderCode")
Me._ResultContent._hauptAdresse._land = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/land")
Me._ResultContent._hauptAdresse._nachname = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/nachname")
Me._ResultContent._hauptAdresse._namenZusatz = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/namenZusatz")
Me._ResultContent._hauptAdresse._objektNr = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/objektNr")
Me._ResultContent._hauptAdresse._objektRefNr = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/objektRefNr")
Me._ResultContent._hauptAdresse._ort = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/ort")
Me._ResultContent._hauptAdresse._ortZusatz = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/ortZusatz")
Me._ResultContent._hauptAdresse._plz = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/plz")
Me._ResultContent._hauptAdresse._status = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/status")
Me._ResultContent._hauptAdresse._strasse = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/strasse")
Me._ResultContent._hauptAdresse._titelNachgestellt = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/titelNachgestellt")
Me._ResultContent._hauptAdresse._titelVorgestellt = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/titelVorgestellt")
Me._ResultContent._hauptAdresse._titelZwischengestellt = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/titelZwischengestellt")
Me._ResultContent._hauptAdresse._versandfaehig = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/versandfaehig")
Me._ResultContent._hauptAdresse._vorname1 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/vorname1")
Me._ResultContent._hauptAdresse._vorname2 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/vorname2")
Me._ResultContent._hauptAdresse._vorname3 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/vorname3")
Me._ResultContent._hauptAdresse._vorname4 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/vorname4")
Me._ResultContent._hauptAdresse._weiler = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/weiler")
Me._ResultContent._hauptAdresse._zeile_1 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile1")
Me._ResultContent._hauptAdresse._zeile_2 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile2")
Me._ResultContent._hauptAdresse._zeile_3 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile3")
Me._ResultContent._hauptAdresse._zeile_4 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile4")
Me._ResultContent._hauptAdresse._zeile_5 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile5")
Me._ResultContent._hauptAdresse._zeile_6 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile6")
Me._ResultContent._hauptAdresse._zeile_7 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile7")
End If
If Not (done) And ExistsNode(ROOTNODE & "/resultContent/versandAdresse") Then
HasVersandadresse = True
done = True
Me._ResultContent._versandAdresse._ablaufDatumAdresse = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/ablaufDatumAdresse")
Me._ResultContent._versandAdresse._adressatzeile1 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/adressatZeile1")
Me._ResultContent._versandAdresse._adressatzeile2 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/adressatZeile2")
Me._ResultContent._versandAdresse._adressatzeile3 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/adressatZeile3")
Me._ResultContent._versandAdresse._banklagernd = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/banklagernd")
Me._ResultContent._versandAdresse._kopien = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/kopien")
Me._ResultContent._versandAdresse._land = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/land")
Me._ResultContent._versandAdresse._objektNr = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/objektNr")
Me._ResultContent._versandAdresse._objektRefNr = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/objektRefNr")
Me._ResultContent._versandAdresse._objektRefTyp = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/objektRefTyp")
Me._ResultContent._versandAdresse._ort = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/ort")
Me._ResultContent._versandAdresse._plz = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/plz")
Me._ResultContent._versandAdresse._status = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/status")
Me._ResultContent._versandAdresse._versandfaehig = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/versandfaehig")
Me._ResultContent._versandAdresse._zeile1 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile1")
Me._ResultContent._versandAdresse._zeile2 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile2")
Me._ResultContent._versandAdresse._zeile3 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile3")
Me._ResultContent._versandAdresse._zeile4 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile4")
'20080909 - B
'Anpassung(SHU)
'Übernahme Zeile 5 der Versandinstruktion
' Me._ResultContent._versandAdresse._zeile5 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile")
Me._ResultContent._versandAdresse._zeile5 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile5")
Me._ResultContent._versandAdresse._zeile6 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile6")
Me._ResultContent._versandAdresse._zeile7 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile7")
Me._ResultContent._versandAdresse._briefanrede2Zeile1 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/briefanrede2Zeile1")
Me._ResultContent._versandAdresse._briefanrede2Zeile2 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/briefanrede2Zeile2")
End If
'If Not (done) And ExistsNode(ROOTNODE & "/resultContent/mitarbeiter") Then
' HasMitarbeiter = True
' done = True
' Me._ResultContent._mitarbeiter._ablaufDatumMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/ablaufDatumMitarbeiter")
' Me._ResultContent._mitarbeiter._emailMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/emailMitarbeiter")
' Me._ResultContent._mitarbeiter._faxMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/faxMitarbeiter")
' Me._ResultContent._mitarbeiter._idMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/idMitarbeiter")
' Me._ResultContent._mitarbeiter._nameMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/nameMitarbeiter")
' Me._ResultContent._mitarbeiter._partnerNummerBankEinheit = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/partnerNummerBankEinheit")
' Me._ResultContent._mitarbeiter._partnerNummerMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/partnerNummerMitarbeiter")
' Me._ResultContent._mitarbeiter._status = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/status")
' Me._ResultContent._mitarbeiter._telMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/telMitarbeiter")
' Me._ResultContent._mitarbeiter._vornameMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/vornameMitarbeiter")
'End If
If Not (done) And ExistsNode(ROOTNODE & "/resultContent/vv") Then
HasVV = True
done = True
Me._ResultContent._vv._ablaufDatum = ReadSingleNode(ROOTNODE & "/resultContent/vv/ablaufDatum")
Me._ResultContent._vv._ausnahmeVI = ReadSingleNode(ROOTNODE & "/resultContent/vv/ausnahmeVI")
Me._ResultContent._vv._bankEinheitId = ReadSingleNode(ROOTNODE & "/resultContent/vv/bankEinheitId")
Me._ResultContent._vv._externeNr = ReadSingleNode(ROOTNODE & "/resultContent/vv/externeNr")
Me._ResultContent._vv._formatierteNr = ReadSingleNode(ROOTNODE & "/resultContent/vv/formatierteNr")
Me._ResultContent._vv._kontoGruppe = ReadSingleNode(ROOTNODE & "/resultContent/vv/kontoGruppe")
Me._ResultContent._vv._kontoTyp = ReadSingleNode(ROOTNODE & "/resultContent/vv/kontoTyp")
Me._ResultContent._vv._nummer = ReadSingleNode(ROOTNODE & "/resultContent/vv/nummer")
Me._ResultContent._vv._objektRef = ReadSingleNode(ROOTNODE & "/resultContent/vv/objektRef")
Me._ResultContent._vv._produkt = ReadSingleNode(ROOTNODE & "/resultContent/vv/produkt")
Me._ResultContent._vv._produktBezeichnung = ReadSingleNode(ROOTNODE & "/resultContent/vv/produktBezeichnung")
Me._ResultContent._vv._rubrik = ReadSingleNode(ROOTNODE & "/resultContent/vv/rubrik")
Me._ResultContent._vv._status = ReadSingleNode(ROOTNODE & "/resultContent/vv/status")
Me._ResultContent._vv._text = ReadSingleNode(ROOTNODE & "/resultContent/vv/text")
Me._ResultContent._vv._waehrung = ReadSingleNode(ROOTNODE & "/resultContent/vv/waehrung")
Me._ResultContent._vv._PartnerNummer = ReadSingleNode(ROOTNODE & "/resultContent/vv/partnerNummer")
Me._ResultContent._vv._kopien = ReadSingleNode(ROOTNODE & "/resultContent/vv/kopien")
End If
If Not (done) And ExistsNode(ROOTNODE & "/resultContent/document") Then
'SPEZIAL Zuerst Testen ob EBanking, sonst wird die Message ignoriert, Dank an Comit für den Murks
If InStr(ReadSingleNode(ROOTNODE & "/resultContent/document/formatierteNr"), "EBANKING", CompareMethod.Text) Then
HasVV = True
done = True
'Me._ResultContent._vv._ablaufDatum = ReadSingleNode(ROOTNODE & "/resultContent/document/ablaufDatum")
'Me._ResultContent._vv._ausnahmeVI = ReadSingleNode(ROOTNODE & "/resultContent/document/ausnahmeVI")
'Me._ResultContent._vv._bankEinheitId = ReadSingleNode(ROOTNODE & "/resultContent/document/bankEinheitId")
Me._ResultContent._vv._externeNr = ReadSingleNode(ROOTNODE & "/resultContent/document/externeNr")
Me._ResultContent._vv._formatierteNr = ReadSingleNode(ROOTNODE & "/resultContent/document/formatierteNr")
'Me._ResultContent._vv._kontoGruppe = ReadSingleNode(ROOTNODE & "/resultContent/document/kontoGruppe")
'Me._ResultContent._vv._kontoTyp = ReadSingleNode(ROOTNODE & "/resultContent/document/kontoTyp")
Me._ResultContent._vv._kontoTyp = "EBanking"
'Me._ResultContent._vv._nummer = ReadSingleNode(ROOTNODE & "/resultContent/document/nummer")
'Me._ResultContent._vv._objektRef = ReadSingleNode(ROOTNODE & "/resultContent/document/objektRef")
'Me._ResultContent._vv._produkt = ReadSingleNode(ROOTNODE & "/resultContent/document/produkt")
Me._ResultContent._vv._produktBezeichnung = ReadSingleNode(ROOTNODE & "/resultContent/document/produktBezeichnung")
Me._ResultContent._vv._rubrik = ReadSingleNode(ROOTNODE & "/resultContent/document/rubrik")
Me._ResultContent._vv._status = ReadSingleNode(ROOTNODE & "/resultContent/document/status")
'Me._ResultContent._vv._text = ReadSingleNode(ROOTNODE & "/resultContent/document/text")
'Me._ResultContent._vv._waehrung = ReadSingleNode(ROOTNODE & "/resultContent/document/waehrung")
Me._ResultContent._vv._PartnerNummer = ReadSingleNode(ROOTNODE & "/resultContent/document/partnerNummer")
'Me._ResultContent._vv._kopien = ReadSingleNode(ROOTNODE & "/resultContent/document/kopien")
End If
End If
If Not (done) Then
m_log.Log("EDKB04: Es wurde kein gültiges Element gefunden, keine Verarbeitung", Common.Common.JournalEntryType.Information)
End If
End If
Return success
End Function
Private Function ReadSingleNode(ByVal NodeNameXML As String) As String
Dim result As String = ""
Try
result = _doc.SelectSingleNode(NodeNameXML).InnerText
Catch ex As Exception
'Absichtliches leeres Catch!
'Form1.Log("Read: Node nicht gefunden:" & NodeNameXML)
End Try
Return result
End Function
Private Function ExistsNode(ByVal NodeNameXML As String) As Boolean
Dim result As Boolean
Try
Dim test As XmlNode
test = _doc.SelectSingleNode(NodeNameXML)
If test Is Nothing Then
'Form1.Log("Exists: Node nicht gefunden:" & NodeNameXML)
result = False
Else
'm_log.Log("EDKB04: Exists: " & NodeNameXML, Common.Common.JournalEntryType.Information)
result = True
End If
Catch ex As Exception
m_log.Log(ex.Message, Common.Common.JournalEntryType.Error)
End Try
Return result
End Function
#End Region
#Region "Transformationen Hilfsfunktionen"
Private Function Transform_title(ByVal s_av_code As String, ByVal TitelArt As String) As String
Dim result As String = ""
Dim ex As SqlDataAdapter = New SqlDataAdapter
Dim exdata As New DataSet
Select Case TitelArt
Case "Vorgestellt"
ex = New SqlDataAdapter("Select NRTTV00 AS titleCode from etxttv where BETTV00 = '" & s_av_code & "' AND SAREC00 = 2", Globals.sConnectionString_edoka)
ex.Fill(exdata, "etxttv")
Case "Zwischengestellt"
ex = New SqlDataAdapter("Select NRTTZ00 AS titleCode from etxttz where BETTZ00 = '" & s_av_code & "' AND SAREC00 = 2", Globals.sConnectionString_edoka)
ex.Fill(exdata, "etxtt")
Case "Nachgestellt"
ex = New SqlDataAdapter("Select NRTTN00 AS titleCode from etxttn where BETTN00 = '" & s_av_code & "' AND SAREC00 = 2", Globals.sConnectionString_edoka)
ex.Fill(exdata, "etxtt")
End Select
Dim i As Integer
Try
For i = 0 To exdata.Tables(0).Rows.Count - 1
If Not exdata.Tables(0).Rows(i).Item("titleCode") Is System.DBNull.Value Then
result = exdata.Tables(0).Rows(i).Item("titleCode")
End If
Next
Return result
Catch exi As Exception
m_log.Log("EDKB04: Fehler Transform_title " & exi.Message & " - Code: " & s_av_code & " Titel Art: " & TitelArt, Common.Common.JournalEntryType.Error)
Return "9"
Finally
exdata.Dispose()
ex.Dispose()
End Try
End Function
Private Function Transform_sex(ByVal s_av_code As String) As String
Dim result As String = "9"
Dim ex As New SqlDataAdapter("Select * from etxsex where avcode = '" & s_av_code & "'", Globals.sConnectionString_edoka)
Dim exdata As New DataSet
Dim i As Integer
Try
ex.Fill(exdata, "etxsex")
For i = 0 To exdata.Tables(0).Rows.Count - 1
If Not exdata.Tables(0).Rows(i).Item("nrsex00") Is System.DBNull.Value Then
result = exdata.Tables(0).Rows(i).Item("nrsex00")
End If
Next
Return result
Catch exi As Exception
m_log.Log("EDKB04: Fehler Transform_sex " & exi.Message & " - Code: " & s_av_code, Common.Common.JournalEntryType.Error)
Return "9"
Finally
exdata.Dispose()
ex.Dispose()
End Try
End Function
Private Function Transform_generic(ByVal field As String, ByVal s_av_code As String) As String
Dim result As String = ""
Dim ex As New SqlDataAdapter("Select Wert2 from av_Partner_Mapping where Element = '" & field & "' and Wert1 = '" & s_av_code & "'", Globals.sConnectionString_edoka)
Dim exdata As New DataSet
Dim i As Integer
Try
ex.Fill(exdata, "av_Partner_Mapping")
For i = 0 To exdata.Tables(0).Rows.Count - 1
If Not exdata.Tables(0).Rows(i).Item("wert2") Is System.DBNull.Value Then
result = exdata.Tables(0).Rows(i).Item("wert2")
Exit For
End If
Next
Return result
Catch exi As Exception
m_log.Log("EDKB04: Fehler Transform_Generic " & exi.Message & " - Code: " & s_av_code & " - Field: " & field, Common.Common.JournalEntryType.Error)
Return ""
Finally
exdata.Dispose()
ex.Dispose()
End Try
End Function
Private Function TransformDate(ByVal indate As String, ByVal DefaultValue As String) As String
Dim result As String = ""
If indate = "00000000" Or indate = "" Then
indate = DefaultValue
End If
Try
If indate <> "" Then
result = Microsoft.VisualBasic.Right(indate, 2) & "." & Microsoft.VisualBasic.Mid(indate, 5, 2) & "." & Microsoft.VisualBasic.Left(indate, 4)
End If
Catch ex As Exception
result = ""
End Try
Return result
End Function
Function TransformDatetoYear(ByVal indate As String) As String
Dim result As String
Try
If InStr(indate, ".", CompareMethod.Text) Then
'Edoka Format
result = Year(indate)
Else
'Avaloq Format
result = Left(indate, 4)
If result = "" Then result = "0000"
End If
Catch ex As Exception
result = ""
End Try
Return result
End Function
Function TransformLand(ByVal inland As String) As String
Dim result As String = "756"
'MNK 24.08.2009 Version 1.7 - Anpassung Landaufbereitung
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_edkb04_get_nationalitaet"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn_edoka.scoDBConnection
scmCmdToExecute.Parameters.Add(New SqlParameter("@code", SqlDbType.VarChar, 16, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, inland))
scmCmdToExecute.Parameters.Add(New SqlParameter("@land", SqlDbType.VarChar, 16, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0))
'Dim ex As New SqlDataAdapter("Select nrlnd00 from Land where (cdlnd02 = '" & inland & "' or cdlndab = '" & inland & "') and sarec00 = 2", Globals.sConnectionString_edoka)
'Dim exdata As New DataSet
'Dim i As Integer
Try
conn_edoka.OpenConnection()
scmCmdToExecute.ExecuteNonQuery()
result = scmCmdToExecute.Parameters("@land").Value
'ex.Fill(exdata, "land")
'For i = 0 To exdata.Tables(0).Rows.Count - 1
'If Not exdata.Tables(0).Rows(i).Item("nrlnd00") Is System.DBNull.Value Then
'result = exdata.Tables(0).Rows(i).Item("nrlnd00")
'Exit For
'End If
'Next
Return result
Catch exi As Exception
m_log.Log("EDKB04: Fehler TransformLand " & exi.Message & " - Code: " & inland, Common.Common.JournalEntryType.Error)
Return "756"
Finally
'exdata.Dispose()
'ex.Dispose()
conn_edoka.CloseConnection(True)
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
End Try
End Function
Private Function Transform_PnrMapping(ByVal adressid As String) As String
Dim result As String = ""
Dim ssql As String
ssql = "SELECT TOP 1 nrpar00 FROM AVQ_PnrMapping WHERE adressid = '" & adressid & "'"
Dim connection As New SqlConnection()
Dim daTemp As New SqlDataAdapter(ssql, connection)
Dim dsTemp As New DataSet()
Try
connection.ConnectionString = Globals.sConnectionString_edoka
connection.Open()
daTemp.Fill(dsTemp)
If dsTemp.Tables(0).Rows.Count > 0 Then
result = dsTemp.Tables(0).Rows(0).Item(0)
Else
m_log.Log("EDKB04: Stammdaten.Transform_PnrMapping() : Partnermapping nicht möglich, keine Angaben gefunden, AdressID = " & adressid, Common.Common.JournalEntryType.Warning)
result = "0"
End If
Catch ex As Exception
result = "0"
m_log.Log("EDKB04: Stammdaten.Transform_PnrMapping() : " & ex.Message, Common.Common.JournalEntryType.Error)
Finally
dsTemp = Nothing
daTemp = Nothing
connection.Close()
connection = Nothing
End Try
Return result
End Function
Private Function Transform_Briefanrede(ByVal AnrAVQ As String) As String
Dim result As String = ""
result = Replace(AnrAVQ, "Sehr geehrte ", "", , , CompareMethod.Text)
result = Replace(result, "Sehr geehrter ", "", , , CompareMethod.Text)
Return result
End Function
Private Function Get_BL_Adresse(ByVal nrpar00 As String) As String
Dim result As String = ""
Dim ssql As String
ssql = "SELECT TOP 1 nradr00 FROM edex_bl_blpartner WHERE nrpar00 = '" & nrpar00 & "'"
Dim connection As New SqlConnection()
Dim daTemp As New SqlDataAdapter(ssql, connection)
Dim dsTemp As New DataSet()
Try
connection.ConnectionString = Globals.sConnectionString_edoka
connection.Open()
daTemp.Fill(dsTemp)
If dsTemp.Tables(0).Rows.Count > 0 Then
result = dsTemp.Tables(0).Rows(0).Item(0)
Else
m_log.Log("EDKB04: Stammdaten.Get_BL_Adresse() : Banklagernd nicht möglich, keine Angaben zu Niederlassung gefunden, PartnerNr der Niederlassung = " & nrpar00, Common.Common.JournalEntryType.Warning)
result = "0"
End If
Catch ex As Exception
result = "0"
m_log.Log("EDKB04: Stammdaten.Get_BL_Adresse() : " & ex.Message, Common.Common.JournalEntryType.Error)
Finally
dsTemp = Nothing
daTemp = Nothing
connection.Close()
connection = Nothing
End Try
Return result
End Function
Private Function TransformVVExtern(ByVal instr As String) As String
Dim result As String = ""
Dim i As Integer = 1
Do While i <= Len(instr)
If Char.IsDigit(Mid(instr, i, 1).Chars(0)) Then
result = result + Mid(instr, i, 1)
End If
i = i + 1
Loop
Return result
End Function
#End Region
#Region "Transformationen"
Private Sub Transform_partnerNAT()
'Auffüllen Kurzname, falls leer
If Me._ResultContent._partnerNat._kurzname = "" Then
Me._ResultContent._partnerNat._kurzname = Me._ResultContent._partnerNat._vorname & " " & Me._ResultContent._partnerNat._name 'TODO: Ort anfügen
End If
'Ablaufdatum Format
Me._ResultContent._partnerNat._ablaufDatum = TransformDate(Me._ResultContent._partnerNat._ablaufDatum, "")
'_versandInstruktion -> partner __CDVIG00 (Y/N)
Me._ResultContent._partnerNat.__CDVIG00 = Transform_generic("cardone2CDVIG00", Me._ResultContent._partnerNat._versandInstruktion)
'_auslaenderstatus -> etparn NRABE00 (immer 0)
Me._ResultContent._partnerNat._auslaenderstatus = "0"
'_sex -> etparn NRSEX00
Me._ResultContent._partnerNat._sex = Transform_sex(Me._ResultContent._partnerNat._sex)
'_status -> etparn __SAREC00
Me._ResultContent._partnerNat.__SAREC00 = Transform_generic("cardone2SAREC00", Me._ResultContent._partnerNat._status)
'_status -> partner saldiert
Me._ResultContent._partnerNat.__saldiert = Transform_generic("cardone2saldiert", Me._ResultContent._partnerNat._status)
'_geburtsDatum -> __DMGEBJJ
Me._ResultContent._partnerNat.__DMGEBJJ = TransformDatetoYear(Me._ResultContent._partnerNat._geburtsDatum)
'_geburtsdatum -> erparn DMGEB00
Me._ResultContent._partnerNat.__DMGEB00 = TransformDate(Me._ResultContent._partnerNat._geburtsDatum, "")
'_domizilCode -> NRDOM00
If Me._ResultContent._partnerNat._domizilCode = "" Then
Me._ResultContent._partnerNat._domizilCode = "0"
Else
Me._ResultContent._partnerNat._domizilCode = TransformLand(Me._ResultContent._partnerNat._domizilCode)
End If
'_nationalität -> NRNAT01
If Me._ResultContent._partnerNat._nationalitaet = "" Then
Me._ResultContent._partnerNat.__NRNAT01 = "0"
Else
Me._ResultContent._partnerNat.__NRNAT01 = TransformLand(Me._ResultContent._partnerNat._nationalitaet)
End If
'_sprache -> NRSPA00
Me._ResultContent._partnerNat._sprache = "1"
'NOT NULL
End Sub
Private Sub Transform_partnerJUR()
'Ablaufdatum Format
Me._ResultContent._partnerJur._ablaufDatum = TransformDate(Me._ResultContent._partnerJur._ablaufDatum, "")
'_versandInstruktion -> partner __CDVIG00 (Y/N)
Me._ResultContent._partnerJur.__CDVIG00 = Transform_generic("cardone2CDVIG00", Me._ResultContent._partnerJur._versandInstruktion)
'handelRegDatum
Me._ResultContent._partnerJur.__DMGRD00 = Me.TransformDate(Me._ResultContent._partnerJur._handelRegDatum, "")
'handelRegJahr
Me._ResultContent._partnerJur.__DMGRDJJ = Me.TransformDatetoYear(Me._ResultContent._partnerJur._handelRegDatum)
'SAREC00
Me._ResultContent._partnerJur.__SAREC00 = Me.Transform_generic("cardone2SAREC00", Me._ResultContent._partnerJur._status)
'_domizilCode -> NRDOM00
If Me._ResultContent._partnerJur._domizilCode = "" Then
Me._ResultContent._partnerJur._domizilCode = "0"
Else
Me._ResultContent._partnerJur._domizilCode = TransformLand(Me._ResultContent._partnerJur._domizilCode)
End If
'_Nationalität -> __NRNAT01
If Me._ResultContent._partnerJur._nationalitaet = "" Then
Me._ResultContent._partnerJur.__NRNAT01 = "0"
Else
Me._ResultContent._partnerJur.__NRNAT01 = TransformLand(Me._ResultContent._partnerJur._nationalitaet)
End If
'_sprache -> NRSPA00
Me._ResultContent._partnerJur._sprache = "1"
'_status -> etpar0 __SAREC00
Me._ResultContent._partnerJur.__SAREC00 = Transform_generic("cardone2SAREC00", Me._ResultContent._partnerJur._status)
'_status -> partner saldiert
Me._ResultContent._partnerJur.__saldiert = Transform_generic("cardone2saldiert", Me._ResultContent._partnerJur._status)
End Sub
Private Sub Transform_Hauptadresse()
'Status -> SAREC00
Me._ResultContent._hauptAdresse.__SAREC00 = Transform_generic("cardone2sarec00", Me._ResultContent._hauptAdresse._status)
'Versandfähig -> cardone2SAVRS00
Me._ResultContent._hauptAdresse._versandfaehig = Transform_generic("cardone2SAVRS00", Me._ResultContent._hauptAdresse._versandfaehig)
If Me._ResultContent._hauptAdresse._versandfaehig = "" Then
Me._ResultContent._hauptAdresse._versandfaehig = "Y"
End If
'Ländercode
Me._ResultContent._hauptAdresse._laenderCode = TransformLand(Me._ResultContent._hauptAdresse._laenderCode)
' Titel vorgestellt
Me._ResultContent._hauptAdresse._titelVorgestellt = Transform_title(Me._ResultContent._hauptAdresse._titelVorgestellt, "Vorgestellt")
' Titel Zwischengestellt
Me._ResultContent._hauptAdresse._titelZwischengestellt = Transform_title(Me._ResultContent._hauptAdresse._titelZwischengestellt, "Zwischengestellt")
'Land
If Me._ResultContent._hauptAdresse._laenderCode = "" Then
Me._ResultContent._hauptAdresse._laenderCode = 756
End If
'PNR kommt mit ObjRefNr
Me._ResultContent._hauptAdresse.__nrpar00 = Me._ResultContent._hauptAdresse._objektRefNr
'Transformation Briefanrede
Me._ResultContent._hauptAdresse._briefanrede2Zeile1 = Transform_Briefanrede(Me._ResultContent._hauptAdresse._briefanrede2Zeile1)
Me._ResultContent._hauptAdresse._briefanrede2Zeile2 = Transform_Briefanrede(Me._ResultContent._hauptAdresse._briefanrede2Zeile2)
'NOT NULL
If Me._ResultContent._hauptAdresse._kopien = "" Then Me._ResultContent._hauptAdresse._kopien = "1"
End Sub
Private Sub Transform_Versandadresse()
'Spezial, Partnernummer der Versandadresse suchen für Feld NRPARAD
Me._ResultContent._versandAdresse.__NRPARAD = Transform_PnrMapping(Me._ResultContent._versandAdresse._objektNr)
'Ablaufdatum Format
Me._ResultContent._versandAdresse._ablaufDatumAdresse = TransformDate(Me._ResultContent._versandAdresse._ablaufDatumAdresse, "")
'Banklagernd J -> Y
Me._ResultContent._versandAdresse._banklagernd = Transform_generic("cardone2CDBAL00", Me._ResultContent._versandAdresse._banklagernd)
'Status
Me._ResultContent._versandAdresse.__saldiert = Transform_generic("cardone2saldiert", Me._ResultContent._versandAdresse._status)
'_versandInstruktion -> partner __SAVRS00 (Y/N)
Me._ResultContent._versandAdresse.__SAVRS00 = Transform_generic("cardone2SAVRS00", Me._ResultContent._versandAdresse._versandfaehig)
'Transformation Briefanrede
Me._ResultContent._versandAdresse._briefanrede2Zeile1 = Transform_Briefanrede(Me._ResultContent._versandAdresse._briefanrede2Zeile1)
Me._ResultContent._versandAdresse._briefanrede2Zeile2 = Transform_Briefanrede(Me._ResultContent._versandAdresse._briefanrede2Zeile2)
'Spezial, Adressnummer für BL Adresse, Lookup
If Me._ResultContent._versandAdresse._banklagernd = "Y" Then
Me._ResultContent._versandAdresse.__NRADR00 = Get_BL_Adresse(Me._ResultContent._versandAdresse.__NRPARAD)
End If
End Sub
Private Sub Transform_VV()
'Ablaufdatum Format
Me._ResultContent._vv._ablaufDatum = TransformDate(Me._ResultContent._vv._ablaufDatum, "")
'Status -> SAREC00
Me._ResultContent._vv.__SAREC00 = Transform_generic("cardone2sarec00", Me._ResultContent._vv._status)
'Versandinstruktion für Partner
Me._ResultContent._vv.__CDVIG00 = Transform_generic("cardone2CDVIG00", Me._ResultContent._vv._ausnahmeVI)
'VV extern abfüllen, falls leer
If Me._ResultContent._vv._externeNr = "" Then
Me._ResultContent._vv._externeNr = TransformVVExtern(Me._ResultContent._vv._formatierteNr)
End If
'20080722 RGL, Falls KontoTyp leer wird KontoBezeichnung verwendet (wegen LOAN Stammdaten)
If Me._ResultContent._vv._kontoTyp = "" And Me._ResultContent._vv._produktBezeichnung <> "" Then
Me._ResultContent._vv._kontoTyp = Me._ResultContent._vv._produktBezeichnung
End If
'Produkt TEST ob numerisch
Dim testint As Integer
Try
testint = CInt(Me._ResultContent._vv._produkt)
Catch ex As Exception
Me._ResultContent._vv._produkt = 0
m_log.Log("EDKB04: Warnung: VV, <Produkt> ist nicht numerisch order leer, es wurde 0 verwendet", Common.Common.JournalEntryType.Warning)
End Try
End Sub
Public Function Transform()
Dim result As Boolean = True
Try
If Me.HasResultContent Then
If Me.HasPartnerNat Then
'MAPPING ================================= PARTNER NAT ======================================
Transform_partnerNAT()
'Längenprüfung
len_partnerNAT()
End If
If Me.HasPartnerJur Then
'MAPPING ================================= PARTNER JUR ======================================
Transform_partnerJUR()
'Längenprüfung
len_partnerJUR()
End If
If Me.HasHauptadresse Then
'MAPPING ================================= HAUPTADRESSE ======================================
Transform_Hauptadresse()
len_Hauptadresse()
End If
If Me.HasVersandadresse Then
'MAPPING ================================= VERSANDADRESSE ======================================
Transform_Versandadresse()
'Längenprüfung
len_versandAdresse()
End If
If Me.HasMitarbeiter Then
'MAPPING ================================= MITARBEITER ======================================
End If
If Me.HasVV Then
'MAPPING ================================= VV ======================================
Transform_VV()
'Längenprüfung
len_vv()
End If
End If
Catch ex As Exception
m_log.Log("EDKB04: Fehler bei Transformation: " & ex.Message, Common.Common.JournalEntryType.Error)
result = False
End Try
Return result
End Function
#End Region
#Region "Länge aufbereiten"
Function len_partnerNAT() As Boolean
Dim result As Boolean
Try
Me._ResultContent._partnerNat._beruf = Left(Me._ResultContent._partnerNat._beruf, 35)
Me._ResultContent._partnerNat._name = Left(Me._ResultContent._partnerNat._name, 35)
Me._ResultContent._partnerNat._partnerAbwicklungsformCode = Left(Me._ResultContent._partnerNat._partnerAbwicklungsformCode, 1)
Me._ResultContent._partnerNat._vorname = Left(Me._ResultContent._partnerNat._vorname, 20)
Catch ex As Exception
m_log.Log("EDKB04: Warning partnerNat, Länge aufbereiten: " & ex.Message, Common.Common.JournalEntryType.Warning)
End Try
Return result
End Function
Function len_partnerJUR() As Boolean
Dim result As Boolean
Try
Me._ResultContent._partnerJur._name = Left(Me._ResultContent._partnerJur._name, 35)
Me._ResultContent._partnerJur._partnerAbwicklungsformCode = Left(Me._ResultContent._partnerJur._partnerAbwicklungsformCode, 1)
Me._ResultContent._partnerJur._branche = Left(Me._ResultContent._partnerJur._branche, 6)
Catch ex As Exception
m_log.Log("EDKB04: Warning partnerJur, Länge aufbereiten: " & ex.Message, Common.Common.JournalEntryType.Warning)
End Try
Return result
End Function
Function len_Hauptadresse() As Boolean
Dim result As Boolean = True
Try
Me._ResultContent._hauptAdresse._briefanrede1 = Left(Me._ResultContent._hauptAdresse._briefanrede1, 150)
Me._ResultContent._hauptAdresse._briefanrede2Zeile1 = Left(Me._ResultContent._hauptAdresse._briefanrede2Zeile1, 150)
Me._ResultContent._hauptAdresse._briefanrede2Zeile2 = Left(Me._ResultContent._hauptAdresse._briefanrede2Zeile2, 150)
Me._ResultContent._hauptAdresse._hausNr = Left(Me._ResultContent._hauptAdresse._hausNr, 6)
Me._ResultContent._hauptAdresse.__NachnameUngekuerzt = Me._ResultContent._hauptAdresse._nachname
Me._ResultContent._hauptAdresse._namenZusatz = Left(Me._ResultContent._hauptAdresse._namenZusatz, 35)
Me._ResultContent._hauptAdresse._objektNr = Left(Me._ResultContent._hauptAdresse._objektNr, 50)
Me._ResultContent._hauptAdresse._ort = Left(Me._ResultContent._hauptAdresse._ort, 35)
Me._ResultContent._hauptAdresse._ortZusatz = Left(Me._ResultContent._hauptAdresse._ortZusatz, 35)
Me._ResultContent._hauptAdresse._plz = Left(Me._ResultContent._hauptAdresse._plz, 10)
Me._ResultContent._hauptAdresse._strasse = Left(Me._ResultContent._hauptAdresse._strasse, 35)
Me._ResultContent._hauptAdresse._vorname1 = Left(Me._ResultContent._hauptAdresse._vorname1, 20)
Me._ResultContent._hauptAdresse._vorname2 = Left(Me._ResultContent._hauptAdresse._vorname2, 20)
Me._ResultContent._hauptAdresse._vorname3 = Left(Me._ResultContent._hauptAdresse._vorname3, 20)
Me._ResultContent._hauptAdresse._vorname4 = Left(Me._ResultContent._hauptAdresse._vorname4, 20)
Me._ResultContent._hauptAdresse._weiler = Left(Me._ResultContent._hauptAdresse._weiler, 35)
Me._ResultContent._hauptAdresse._zeile_1 = Left(Me._ResultContent._hauptAdresse._zeile_1, Params.len_TXADZ)
Me._ResultContent._hauptAdresse._zeile_2 = Left(Me._ResultContent._hauptAdresse._zeile_2, Params.len_TXADZ)
Me._ResultContent._hauptAdresse._zeile_3 = Left(Me._ResultContent._hauptAdresse._zeile_3, Params.len_TXADZ)
Me._ResultContent._hauptAdresse._zeile_4 = Left(Me._ResultContent._hauptAdresse._zeile_4, Params.len_TXADZ)
Me._ResultContent._hauptAdresse._zeile_5 = Left(Me._ResultContent._hauptAdresse._zeile_5, Params.len_TXADZ)
Me._ResultContent._hauptAdresse._zeile_6 = Left(Me._ResultContent._hauptAdresse._zeile_6, Params.len_TXADZ)
Me._ResultContent._hauptAdresse._zeile_7 = Left(Me._ResultContent._hauptAdresse._zeile_7, Params.len_TXADZ)
Catch ex As Exception
m_log.Log("EDKB04: Warning Hauptadresse, Länge aufbereiten: " & ex.Message, Common.Common.JournalEntryType.Warning)
End Try
Return (result)
End Function
Function len_versandAdresse() As Boolean
Dim result As Boolean
Try
Me._ResultContent._versandAdresse._briefanrede2Zeile1 = Left(Me._ResultContent._versandAdresse._briefanrede2Zeile1, 150)
Me._ResultContent._versandAdresse._briefanrede2Zeile2 = Left(Me._ResultContent._versandAdresse._briefanrede2Zeile2, 150)
Me._ResultContent._versandAdresse._zeile1 = Left(Me._ResultContent._versandAdresse._zeile1, Params.len_TXADZ)
Me._ResultContent._versandAdresse._zeile2 = Left(Me._ResultContent._versandAdresse._zeile2, Params.len_TXADZ)
Me._ResultContent._versandAdresse._zeile3 = Left(Me._ResultContent._versandAdresse._zeile3, Params.len_TXADZ)
Me._ResultContent._versandAdresse._zeile4 = Left(Me._ResultContent._versandAdresse._zeile4, Params.len_TXADZ)
Me._ResultContent._versandAdresse._zeile5 = Left(Me._ResultContent._versandAdresse._zeile5, Params.len_TXADZ)
Me._ResultContent._versandAdresse._zeile6 = Left(Me._ResultContent._versandAdresse._zeile6, Params.len_TXADZ)
Me._ResultContent._versandAdresse._zeile7 = Left(Me._ResultContent._versandAdresse._zeile7, Params.len_TXADZ)
Catch ex As Exception
m_log.Log("EDKB04: Warning Versandadresse, Länge aufbereiten: " & ex.Message, Common.Common.JournalEntryType.Warning)
End Try
Return result
End Function
Function len_vv() As Boolean
Dim result As Boolean = True
Try
Me._ResultContent._vv._externeNr = Left(Me._ResultContent._vv._externeNr, 16)
Me._ResultContent._vv._formatierteNr = Left(Me._ResultContent._vv._formatierteNr, 16)
Me._ResultContent._vv._kontoTyp = Left(Me._ResultContent._vv._kontoTyp, 35)
Me._ResultContent._vv._text = Left(Me._ResultContent._vv._text, 35)
'Spezial, Nr Extern Fix 12 Stellen, wenn kein EBANK
If Not (InStr(Me._ResultContent._vv._externeNr, "EBANK.", CompareMethod.Text)) Then
Do While Len(Me._ResultContent._vv._externeNr) < 12
Me._ResultContent._vv._externeNr = "0" & Me._ResultContent._vv._externeNr
Loop
End If
Catch ex As Exception
m_log.Log("EDKB04: Warning VV, Länge aufbereiten: " & ex.Message, Common.Common.JournalEntryType.Warning)
End Try
Return result
End Function
#End Region
#Region "Datenspeicher"
Class resultHeader
Public _mandant As String
Public _userID As String
Public _Sprache As String
End Class
Class resultContent
Public _partnerNat As partnerNat = New partnerNat
Public _partnerJur As partnerJur = New partnerJur
Public _hauptAdresse As hauptAdresse = New hauptAdresse
Public _versandAdresse As versandAdresse = New versandAdresse
Public _vv As vv = New vv
Public _mitarbeiter As mitarbeiter = New mitarbeiter
End Class
Class partnerNat
Public _status As String = ""
Public _partnerNummer As String = ""
Public _name As String = ""
Public _vorname As String = ""
Public _kurzname As String = ""
Public _geburtsDatum As String = ""
Public _nationalitaet As String = ""
Public _auslaenderstatus As String = ""
Public _sprache As String = ""
Public _sex As String = ""
Public _betreuerId As String = ""
Public _beruf As String = ""
Public _kundenSegment As String = ""
Public _versandInstruktion As String = ""
Public _partnerAbwicklungsformCode As String = ""
Public _domizilCode As String = ""
Public _vipCode As String = ""
Public _ablaufDatum As String = ""
Public _AngestelltenArt As String = ""
'Speziel für DB Edoka
Public __CDVIG00 As String = ""
Public __SAREC00 As String = ""
Public __DMGEBJJ As String = ""
Public __DMGEB00 As String = ""
Public __NRNAT01 As String = ""
Public __saldiert As String = ""
End Class
Class partnerJur
Public _status As String = ""
Public _partnerNummer As String = ""
Public _name As String = ""
Public _kurzname As String = ""
Public _nationalitaet As String = ""
Public _sprache As String = ""
Public _handelRegOrt As String = ""
Public _handelRegDatum As String = ""
Public _betreuerId As String = ""
Public _branche As String = ""
Public _kundenSegment As String = ""
Public _versandInstruktion As String = ""
Public _partnerAbwicklungsformCode As String = ""
Public _domizilCode As String = ""
Public _ablaufDatum As String = ""
Public _vipCode As String = ""
'Speziel für DB Edoka
Public __DMGRD00 As String = ""
Public __DMGRDJJ As String = ""
Public __CDVIG00 As String = ""
Public __SAREC00 As String = ""
Public __NRNAT01 As String = ""
Public __saldiert As String = ""
End Class
Class hauptAdresse
Public _status As String = ""
Public _objektRefNr As String = ""
Public _zeile_1 As String = ""
Public _zeile_2 As String = ""
Public _zeile_3 As String = ""
Public _zeile_4 As String = ""
Public _zeile_5 As String = ""
Public _zeile_6 As String = ""
Public _zeile_7 As String = ""
Public _titelVorgestellt As String = ""
Public _vorname1 As String = ""
Public _vorname2 As String = ""
Public _vorname3 As String = ""
Public _vorname4 As String = ""
Public _titelZwischengestellt As String = ""
Public _nachname As String = ""
Public _namenZusatz As String = ""
Public _titelNachgestellt As String = ""
Public _firma As String = ""
Public _ortZusatz As String = ""
Public _weiler As String = ""
Public _strasse As String = ""
Public _hausNr As String = ""
Public _briefanrede1Code As String = ""
Public _briefanrede1 As String = ""
Public _briefanrede2Zeile1 As String = ""
Public _briefanrede2Zeile2 As String = ""
Public _plz As String = ""
Public _ort As String = ""
Public _land As String = ""
Public _laenderCode As String = ""
Public _kopien As String = ""
Public _banklagernd As String = ""
Public _versandfaehig As String = ""
Public _ablaufDatumAdresse As String = ""
'Speziel für DB Edoka
Public __nrpar00 As String = ""
Public __SAREC00 As String = ""
Public __NachnameUngekuerzt = ""
Public _objektNr As String = ""
Public _BENAM01 As String = ""
Public _BENAM02 As String = ""
Public _BENAM03 As String = ""
Public _BENNM01 As String = ""
Public _BENNM02 As String = ""
End Class
Class versandAdresse
Public _status As String = ""
Public _objektRefTyp As String = ""
Public _objektRefNr As String = ""
Public _objektNr As String = ""
Public _zeile1 As String = ""
Public _zeile2 As String = ""
Public _zeile3 As String = ""
Public _zeile4 As String = ""
Public _zeile5 As String = ""
Public _zeile6 As String = ""
Public _zeile7 As String = ""
Public _adressatzeile1 As String = ""
Public _adressatzeile2 As String = ""
Public _adressatzeile3 As String = ""
Public _plz As String = ""
Public _ort As String = ""
Public _land As String = ""
Public _kopien As String = ""
Public _banklagernd As String = ""
Public _versandfaehig As String = ""
Public _ablaufDatumAdresse As String = ""
'Noch nicht offiziell
Public _briefanrede2Zeile1 As String = ""
Public _briefanrede2Zeile2 As String = ""
'Speziell für EDOKA
Public __SAVRS00 As String = ""
Public __saldiert As String = ""
Public __NRPARAD As String = ""
Public __NRADR00 As String = ""
End Class
Class mitarbeiter
Public _status As String = ""
Public _nameMitarbeiter As String = ""
Public _vornameMitarbeiter As String = ""
Public _idMitarbeiter As String = ""
Public _telMitarbeiter As String = ""
Public _faxMitarbeiter As String = ""
Public _emailMitarbeiter As String = ""
Public _partnerNummerMitarbeiter As String = ""
Public _partnerNummerBankEinheit As String = ""
Public _ablaufDatumMitarbeiter As String = ""
End Class
Class vv
Public _status As String = ""
Public _objektRef As String = ""
Public _nummer As String = ""
Public _text As String = ""
Public _bankEinheitId As String = ""
Public _waehrung As String = ""
Public _produkt As String = ""
Public _kontoGruppe As String = ""
Public _kontoTyp As String = ""
Public _externeNr As String = ""
Public _formatierteNr As String = ""
Public _rubrik As String = ""
Public _produktBezeichnung As String = ""
Public _ausnahmeVI As String = ""
Public _ablaufDatum As String = ""
Public _PartnerNummer As String = ""
Public _kopien As String = ""
'Speziel für DB Edoka
Public __SAREC00 As String = ""
Public __CDVIG00 As String = ""
End Class
Class resultState
Public _status As String
Public _error As String
End Class
#End Region
End Class

View File

@@ -0,0 +1,115 @@
Umbau in Service:
OK Config Datei erstellen + einlesen (MQ Angaben)
OK Journalisierung umbauen form1.log -> bms.log
OK Check der Headerdaten? Mandant, UserID usw? Eher nicht
OK In Service umbauen
OK Handler (oder Timer) für MQ Listening einbauen
OK Scheduler für Update_for_PDA (SAREC nachführen) "Update_for_PDA"
OK Scheduler Spezialhandling partner_saldieren, versandadresse saldieren (NEU) validto2
OK validto2 auf Tabelle partner wieder ausbauen, wird nicht verwendet
OK Mail für Errors prüfen auf INT2
OK VV wenn kontoTyp leer wird produktBezeichnung verwendet
OK Anreden auf 150 Zeichen verlängert
OK Default BetreuerID wenn keine angeliefert + Msg senden + Default nehmen aus Paramter.cfg
OK Jetzt BL Kunde -> AVQ liefert BL NEIN -> In EDOKA bleibt er BL Kunde
OK DB Error ohne anderen Fehler simulieren -- War <Mitarbeiter> Tag
OK System Error suchen -- War nicht erfasster Partner + Lieferung HA
OK "Error Stopper" -- per Parameter.cfg (Lösung bei häufigen Fehlern (>50 MQ Error pro Sekunde oder so)
DB Speichern / Update
OK PartnerNat
OK PartnerJur
OK Hauptadresse
OK Versandadresse
OK Längenprüfung
OK Prüfen Tabelle ams_versandart ob in EDOKA DB verschieben oder 2. Connectionsstring? Wird für Partner.cdvsa00 gebraucht
OK Prüfen Tabelle ams_exemplare ob in EDOKA DB verschieben oder 2. Connectionsstring? NULL
OK Form1: Import bzw. Load nur eines von beiden verwenden in XMLHandling
OK Mutier und Erstelldatum auf allen Tabellen!!
SQL SCRIPT
- Alle Inhalte von av_Partner_Mapping übertragen in Script
OK "etx" Tabellen erweitern + abfragen (Script unter: L:\Sourcecode\EDOKA\_Migration\Release 4.0\Partnerdatenabgleich (BETA))
Transformationen
OK PartnerNat
OK PartnerJur
OK Hauptadresse
OK Versandadresse
OK VV
OK not null Spalten mit 0 oder "" abfüllen
OK TransformationsDB erstellen
OK TransformationsDB abfüllen + abfragen
OK TransformationsDB Abfrage erstellen (Stammdaten.Transform_generic)
OK Kurzname selber zusammenbauen
OK STATUSWERTE AVALOQ: 4 = aktiv, 7 = saldiert
OK In Prod schauen wie Anredenmapping klappt in Hauptadresse
Hilfsabfragen Transformationen
OK etsex
OK Land
OK Diverse Datum Transformationen
Legende:
- = Offen
X = in Bearbeitung
T = in Testphase
OK = Fertig + eingehend (!) getestet
L = Gelöscht bzw. wird nicht umgesetzt
------------------------------------------------------------------------------------
Spezifikationsfragen
Sind nur noch hier um zu "beweisen" was für ein Durcheinander geherrscht hat bei diesem Batch
------------------------------------------------------------------------------------
Abzuklären mit Comit
- Verschiedene Obejkttypen bei VV, welche gebraucht, ev. zusammen fassen? (VV, Produkte, Container, Dokumente)
Diese Obekte sind nicht in Spezifikation!
- Länge von Textfeldern, problematisch wenn hinten abgeschnitten? Wenn ja welche kritisch? Aktuell: Record wird komplett NICHT geschrieben wenn 1 Feld zu lang, Ausnahme VV, wurde funktion erstellt
- Es kommen ganz leere XML Dateien, nicht tragisch (20080424169.xml)
OK Keine Testdaten erhalten "Mitarbeiter" -> Diese wurden vorläufig aus der Spezifikation gestrichen und werden manuell eingepflegt.
Hauptadresse
OK PartnerNr = objektRefNr?
Versandadresse
OK Nur 2 Datensätze erhalten "Versandadresse"
OK PartnerNr = objektRefNr?
VV - VV
OK Mapping korrigieren
- formatierteNr wird falsch angeliefert, es kommt z.b. Fondskonto Swisscanto PF Yield (Maximallänge 16)
OK PartnerNr = objektRefNr?
VV - Container
- Umbau in VV - VV möglich?
- Es kommen komplett leere Datensätze (VVCONT2008042427.xml)
- Es kommen halbe Datensätze (externe Nr OK, formatierte Nr leer)
VV- Document
- Wozu diese Daten, gar nicht verwenden?
- PartnerNr nicht enthalten
VV - Produkte
- Umbau in VV - VV möglich?
- Mapping erstellen?
- PartnerNr nicht enthalten
- Es werden keine Nummern nur Texte angeliefert
- Datum oft '00000000' welches einfüllen? Je nach Feld unterschiedlich? Ignorieren?
Probleme deponiert bei Comit
Schon sehr lange! Angaben zu Stammdaten fehlen (Status = ?? usw. Liste in Excel Mapping)

View File

@@ -0,0 +1,177 @@
Imports System.IO
Imports System.Xml
Imports System.Xml.Schema
Module XMLHandling
#Region "Members"
Private _validationSuccess As Boolean
#End Region
Public Stamm1 As Stammdaten
#Region "Public Functions"
Public Function Load(ByVal strData As String) As Boolean
Dim result As Boolean = True
Try
'----Read Data----
If result Then
Dim doc As New XmlDocument()
doc.LoadXml(strData)
Stamm1 = New Stammdaten
If Not (Stamm1.fill(doc)) Then
m_log.Log("EDKB04: Fehler beim Einlesen des XML", Common.Common.JournalEntryType.Error)
result = False
End If
End If
'----VALIDIERUNG----
If result Then
'm_log.Log("EDKB04: Validierung START", Common.Common.JournalEntryType.Information)
'-----HEADER-----
If Not Stamm1.HasResultHeader Then
result = False
m_log.Log("EDKB04: Kein ResultHeader in XML vorhanden", Common.Common.JournalEntryType.Error)
End If
'-----PartnerNAT-----
If result And Stamm1.HasPartnerNat Then
If Stamm1._ResultContent._partnerNat._partnerNummer = "" Then
Stamm1.HasPartnerNat = False
result = False
m_log.Log("EDKB04: Fehler in PartnerNat, keine Partnernummer", Common.Common.JournalEntryType.Error)
End If
End If
'-----PartnerJUR-----
If result And Stamm1.HasPartnerJur Then
If Stamm1._ResultContent._partnerJur._partnerNummer = "" Then
Stamm1.HasPartnerJur = False
result = False
m_log.Log("EDKB04: Fehler in PartnerJur, keine Partnernummer", Common.Common.JournalEntryType.Error)
End If
End If
'-----PartnerHauptadresse-----
If result And Stamm1.HasHauptadresse Then
If Stamm1._ResultContent._hauptAdresse._objektRefNr = "" Then
Stamm1.HasHauptadresse = False
result = False
m_log.Log("EDKB04: Fehler in Hauptadresse, keine Partnernummer", Common.Common.JournalEntryType.Error)
End If
End If
'-----Versandadresse-----
If result And Stamm1.HasVersandadresse Then
If Stamm1._ResultContent._versandAdresse._objektRefNr = "" Then
Stamm1.HasVersandadresse = False
result = False
m_log.Log("EDKB04: Fehler in VersandAdresse, keine Partnernummer", Common.Common.JournalEntryType.Error)
End If
If result And Stamm1._ResultContent._versandAdresse._objektNr = "" Then
Stamm1.HasVersandadresse = False
result = False
m_log.Log("EDKB04: Fehler in VersandAdresse, keine objektNr (Bezug zu Partnernummer Versandadresse)", Common.Common.JournalEntryType.Error)
End If
End If
'-----Mitarbeiter-----
'-----VV-----
If result And Stamm1.HasVV Then
If Stamm1._ResultContent._vv._PartnerNummer = "" Then
Stamm1.HasVV = False
result = False
m_log.Log("EDKB04: Fehler in VV, keine Partnernummer", Common.Common.JournalEntryType.Error)
End If
End If
If result Then
'm_log.Log("EDKB04: Validierung ENDE OK", Common.Common.JournalEntryType.Information)
Else
m_log.Log("EDKB04: Validierung ENDE NOK", Common.Common.JournalEntryType.Error)
End If
End If
Catch ex As Exception
m_log.Log("EDKB04: Error Load: " & ex.Message, Common.Common.JournalEntryType.Error)
result = False
End Try
Return result
End Function
#End Region
#Region "Private Functions"
Private Function IsValid(ByVal xmlImportFile As FileInfo) As Boolean
Try
'First we create the xmltextreader
Dim reader As New XmlTextReader(xmlImportFile.FullName)
'We pass the xmltextreader into the xmlvalidatingreader
'This will validate the xml doc with the schema file
'NOTE the xml file it self points to the schema file
Dim validator As New XmlValidatingReader(reader)
' Set the validation event handler
AddHandler validator.ValidationEventHandler, _
AddressOf ValidationCallback
_validationSuccess = True 'make sure to reset the success var
' Read XML data
While (validator.Read)
End While
'Close the reader.
validator.Close()
reader.Close()
'The validationeventhandler is the only thing that would
'set m_Success to false
Return _validationSuccess
Catch ex As Exception
_validationSuccess = False
Return _validationSuccess
'Throw ex
End Try
End Function
Private Function IsValid(ByVal strData As String) As Boolean
Try
'First we create the xmltextreader
Dim reader As New XmlTextReader(strData)
'We pass the xmltextreader into the xmlvalidatingreader
'This will validate the xml doc with the schema file
'NOTE the xml file it self points to the schema file
Dim validator As New XmlValidatingReader(reader)
' Set the validation event handler
AddHandler validator.ValidationEventHandler, _
AddressOf ValidationCallback
_validationSuccess = True 'make sure to reset the success var
' Read XML data
While (validator.Read)
End While
'Close the reader.
validator.Close()
reader.Close()
'The validationeventhandler is the only thing that would
'set m_Success to false
Return _validationSuccess
Catch ex As Exception
_validationSuccess = False
Return _validationSuccess
'Throw ex
End Try
End Function
Private Sub ValidationCallback(ByVal sender As Object, ByVal args As ValidationEventArgs)
Try
'Display the validation error. This is only called on error
_validationSuccess = False 'Validation failed
m_log.Log("EDKB04: Validation error: " + args.Message + Environment.NewLine, Common.Common.JournalEntryType.Error)
Catch ex As Exception
Throw ex
End Try
End Sub
#End Region
End Module

View File

@@ -0,0 +1,215 @@
Public Class ClsParameter
#Region "Deklarationen"
Dim p_MQHostname As String
Public Property MQHostname() As String
Get
Return p_MQHostname
End Get
Set(ByVal value As String)
p_MQHostname = value
End Set
End Property
Dim p_MQPort As String
Public Property MQPort() As String
Get
Return p_MQPort
End Get
Set(ByVal value As String)
p_MQPort = value
End Set
End Property
Dim p_MQChannel As String
Public Property MQChannel() As String
Get
Return p_MQChannel
End Get
Set(ByVal value As String)
p_MQChannel = value
End Set
End Property
Dim p_MQQueueName As String
Public Property MQQueueName() As String
Get
Return p_MQQueueName
End Get
Set(ByVal value As String)
p_MQQueueName = value
End Set
End Property
Dim p_SqlTimeout As String
Public Property SqlTimeout() As String
Get
Return p_SqlTimeout
End Get
Set(ByVal value As String)
p_SqlTimeout = value
End Set
End Property
Dim p_CDMuter As String
Public Property CDMuter() As String
Get
Return p_CDMuter
End Get
Set(ByVal value As String)
p_CDMuter = value
End Set
End Property
Dim p_MuterNr As String
Public Property MuterNr() As String
Get
Return p_MuterNr
End Get
Set(ByVal value As String)
p_MuterNr = value
End Set
End Property
Dim p_Watchdir As String
Public Property Watchdir() As String
Get
Return p_Watchdir
End Get
Set(ByVal value As String)
p_Watchdir = value
End Set
End Property
Dim p_TimerInterval As String
Public Property TimerInterval() As String
Get
Return p_TimerInterval
End Get
Set(ByVal value As String)
p_TimerInterval = value
End Set
End Property
Dim p_LoopQueue As String
Public Property LoopQueue() As String
Get
Return p_LoopQueue
End Get
Set(ByVal value As String)
p_LoopQueue = value
End Set
End Property
Dim p_DebugMode As Boolean
Public Property DebugMode() As Boolean
Get
Return p_DebugMode
End Get
Set(ByVal value As Boolean)
p_DebugMode = value
End Set
End Property
Dim p_DebugDir As String
Public Property DebugDir() As String
Get
Return p_DebugDir
End Get
Set(ByVal value As String)
p_DebugDir = value
End Set
End Property
Dim p_DefaultBetreuerID As String
Public Property DefaultBetreuerID() As String
Get
Return p_DefaultBetreuerID
End Get
Set(ByVal value As String)
p_DefaultBetreuerID = value
End Set
End Property
Dim p_nb_errors As Integer
Public Property nb_errors() As Integer
Get
Return p_nb_errors
End Get
Set(ByVal value As Integer)
p_nb_errors = value
End Set
End Property
Dim p_nb_seconds As Integer
Public Property nb_seconds() As Integer
Get
Return p_nb_seconds
End Get
Set(ByVal value As Integer)
p_nb_seconds = value
End Set
End Property
Dim p_len_TXADZ As Integer
Public Property len_TXADZ() As Integer
Get
Return p_len_TXADZ
End Get
Set(ByVal value As Integer)
p_len_TXADZ = value
End Set
End Property
#End Region
Public Function Loadparameters() As String
Try
m_log.Log("EDKB04: Loading Parameters", Common.Common.JournalEntryType.Information)
oread = IO.File.OpenText(appPath & "parameter.cfg")
Me.p_MQHostname = ParamValue(oread.ReadLine)
Me.p_MQPort = ParamValue(oread.ReadLine)
Me.p_MQChannel = ParamValue(oread.ReadLine)
Me.p_MQQueueName = ParamValue(oread.ReadLine)
Me.p_SqlTimeout = ParamValue(oread.ReadLine)
Me.p_CDMuter = ParamValue(oread.ReadLine)
Me.p_MuterNr = ParamValue(oread.ReadLine)
Me.p_Watchdir = ParamValue(oread.ReadLine)
Me.p_TimerInterval = ParamValue(oread.ReadLine)
Me.p_LoopQueue = ParamValue(oread.ReadLine)
Me.p_DebugMode = CBool(ParamValue(oread.ReadLine))
Me.p_DebugDir = ParamValue(oread.ReadLine)
Me.p_DefaultBetreuerID = ParamValue(oread.ReadLine)
Try
Me.p_nb_errors = CInt(ParamValue(oread.ReadLine))
Catch ex As Exception
' Keine Zahl
Me.p_nb_errors = 999999
End Try
Try
Me.p_nb_seconds = CInt(ParamValue(oread.ReadLine))
Catch ex As Exception
'Keine Zahl
Me.p_nb_seconds = 1
End Try
Try
Me.p_len_TXADZ = CInt(ParamValue(oread.ReadLine))
Catch ex As Exception
'Keine Zahl
Me.p_len_TXADZ = 35
End Try
oread.Close()
m_log.Log("EDKB04: Loading Parameters Ended", Common.Common.JournalEntryType.Information)
Return ""
Catch ex As Exception
m_log.Log("EDKB04: Error Loading Params: " & ex.Message, Common.Common.JournalEntryType.Error)
Return ex.Message
End Try
End Function
Private Function ParamValue(ByVal sinput As String) As String
Dim splitter() As String
splitter = Split(sinput, "=")
ParamValue = splitter(1)
End Function
End Class

View File

@@ -0,0 +1,289 @@
' ///////////////////////////////////////////////////////////////////////////
' // Description: Connection Provider class for Database connection sharing
' // Generated by LLBLGen v1.2.1045.38210 Final on: Sonntag, 18. Mai 2003, 00:06:25
' // This class implements IDisposable.
' ///////////////////////////////////////////////////////////////////////////
Imports System
Imports System.Configuration
Imports System.Data
Imports System.Data.SqlClient
Imports System.Collections
Namespace edokadb
' /// <summary>
' /// Purpose: provides a SqlConnection object which can be shared among data-access tier objects
' /// to provide a way to do ADO.NET transaction coding without the hassling with SqlConnection objects
' /// on a high level.
' /// </summary>
Public Class clsConnectionProvider
Implements IDisposable
#Region " Class Member Declarations "
Private m_scoDBConnection As SqlConnection
Private m_bIsTransactionPending, m_bIsDisposed As Boolean
Private m_stCurrentTransaction As SqlTransaction
Private m_alSavePoints As ArrayList
#End Region
Public Sub New()
' // Init the class
InitClass()
End Sub
' /// <summary>
' /// Purpose: Implements the IDispose' method Dispose.
' /// </summary>
Public Overloads Sub Dispose() Implements IDisposable.Dispose
Dispose(True)
GC.SuppressFinalize(Me)
End Sub
' /// <summary>
' /// Purpose: Implements the Dispose functionality.
' /// </summary>
Protected Overridable Overloads Sub Dispose(ByVal bIsDisposing As Boolean)
' // Check to see if Dispose has already been called.
If Not m_bIsDisposed Then
If bIsDisposing Then
' // Dispose managed resources.
If Not (m_stCurrentTransaction Is Nothing) Then
m_stCurrentTransaction.Dispose()
m_stCurrentTransaction = Nothing
End If
If Not (m_scoDBConnection Is Nothing) Then
' // closing the connection will abort (rollback) any pending transactions
m_scoDBConnection.Close()
m_scoDBConnection.Dispose()
m_scoDBConnection = Nothing
End If
End If
End If
m_bIsDisposed = True
End Sub
' /// <summary>
' /// Purpose: Initializes class members.
' /// </summary>
Private Sub InitClass()
' // Create all the objects and initialize other members.
m_scoDBConnection = New SqlConnection()
m_bIsDisposed = False
m_stCurrentTransaction = Nothing
m_bIsTransactionPending = False
m_alSavePoints = New ArrayList()
End Sub
' /// <summary>
' /// Purpose: Opens the connection object.
' /// </summary>
' /// <returns>True, if succeeded, otherwise an Exception exception is thrown.</returns>
Public Function OpenConnection() As Boolean
Try
If (m_scoDBConnection.State And ConnectionState.Open) > 0 Then
' // It's already open.
Throw New Exception("OpenConnection::Connection is already open.")
End If
m_scoDBConnection.Open()
m_bIsTransactionPending = False
m_alSavePoints.Clear()
Return True
Catch ex As Exception
' // bubble exception
Throw ex
End Try
End Function
' /// <summary>
' /// Purpose: Starts a new ADO.NET transaction using the open connection object of this class.
' /// </summary>
' /// <param name="sTransactionName">Name of the transaction to start</param>
' /// <returns>True, if transaction is started correctly, otherwise an Exception exception is thrown</returns>
Public Function BeginTransaction(ByVal sTransactionName As String) As Boolean
Try
If m_bIsTransactionPending Then
' // no nested transactions allowed.
Throw New Exception("BeginTransaction::Already transaction pending. Nesting not allowed")
End If
If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then
' // no open connection
Throw New Exception("BeginTransaction::Connection is not open.")
End If
' // begin the transaction and store the transaction object.
m_stCurrentTransaction = m_scoDBConnection.BeginTransaction(IsolationLevel.ReadCommitted, sTransactionName)
m_bIsTransactionPending = True
Return True
Catch ex As Exception
' // bubble exception
Throw ex
End Try
End Function
' /// <summary>
' /// Purpose: Commits a pending transaction on the open connection object of this class.
' /// </summary>
' /// <returns>True, if commit was succesful, or an Exception exception is thrown</returns>
Public Function CommitTransaction() As Boolean
Try
If Not m_bIsTransactionPending Then
' // no transaction pending
Throw New Exception("CommitTransaction::No transaction pending.")
End If
If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then
' // no open connection
Throw New Exception("CommitTransaction::Connection is not open.")
End If
' // commit the transaction
m_stCurrentTransaction.Commit()
m_bIsTransactionPending = False
m_stCurrentTransaction.Dispose()
m_stCurrentTransaction = Nothing
m_alSavePoints.Clear()
Return True
Catch ex As Exception
' // bubble exception
Throw ex
End Try
End Function
' /// <summary>
' /// Purpose: Rolls back a pending transaction on the open connection object of this class,
' /// or rolls back to the savepoint with the given name. Savepoints are created with SaveTransaction().
' /// </summary>
' /// <param name="sTransactionToRollback">Name of transaction to roll back. Can be name of savepoint</param>
' /// <returns>True, if rollback was succesful, or an Exception exception is thrown</returns>
Public Function RollbackTransaction(ByVal sTransactionToRollback As String) As Boolean
Try
If Not m_bIsTransactionPending Then
' // no transaction pending
Throw New Exception("RollbackTransaction::No transaction pending.")
End If
If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then
' // no open connection
Throw New Exception("RollbackTransaction::Connection is not open.")
End If
' // rollback the transaction
m_stCurrentTransaction.Rollback(sTransactionToRollback)
' // if this wasn't a savepoint, we've rolled back the complete transaction, so we
' // can clean it up.
If Not m_alSavePoints.Contains(sTransactionToRollback) Then
' // it's not a savepoint
m_bIsTransactionPending = False
m_stCurrentTransaction.Dispose()
m_stCurrentTransaction = Nothing
m_alSavePoints.Clear()
End If
Return True
Catch ex As Exception
' // bubble exception
Throw ex
End Try
End Function
' /// <summary>
' /// Purpose: Saves a pending transaction on the open connection object of this class to a 'savepoint'
' /// with the given name.
' /// When a rollback is issued, the caller can rollback to this savepoint or roll back the complete transaction.
' /// </summary>
' /// <param name="sSavePointName">Name of the savepoint to store the current transaction under.</param>
' /// <returns>True, if save was succesful, or an Exception exception is thrown</returns>
Public Function SaveTransaction(ByVal sSavePointName As String) As Boolean
Try
If Not m_bIsTransactionPending Then
' // no transaction pending
Throw New Exception("SaveTransaction::No transaction pending.")
End If
If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then
' // no open connection
Throw New Exception("SaveTransaction::Connection is not open.")
End If
' // save the transaction
m_stCurrentTransaction.Save(sSavePointName)
' // Store the savepoint in the list.
m_alSavePoints.Add(sSavePointName)
Return True
Catch ex As Exception
' // bubble exception
Throw ex
End Try
End Function
' /// <summary>
' /// Purpose: Closes the open connection. Depending on bCommitPendingTransactions, a pending
' /// transaction is commited, or aborted.
' /// </summary>
' /// <param name="bCommitPendingTransaction">Flag for what to do when a transaction is still pending. True
' /// will commit the current transaction, False will abort (rollback) the complete current transaction.</param>
' /// <returns>True, if close was succesful, False if connection was already closed, or an Exception exception is thrown when
' /// an error occurs</returns>
Public Function CloseConnection(ByVal bCommitPendingTransaction As Boolean) As Boolean
Try
If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then
' // No open connection
Return False
End If
If m_bIsTransactionPending Then
If bCommitPendingTransaction Then
' // Commit the pending transaction
m_stCurrentTransaction.Commit()
Else
' // Rollback the pending transaction
m_stCurrentTransaction.Rollback()
End If
m_bIsTransactionPending = False
m_stCurrentTransaction.Dispose()
m_stCurrentTransaction = Nothing
m_alSavePoints.Clear()
End If
' // close the connection
m_scoDBConnection.Close()
Return True
Catch ex As Exception
' // bubble exception
Throw ex
End Try
End Function
#Region " Class Property Declarations "
Public ReadOnly Property stCurrentTransaction() As SqlTransaction
Get
Return m_stCurrentTransaction
End Get
End Property
Public ReadOnly Property bIsTransactionPending() As Boolean
Get
Return m_bIsTransactionPending
End Get
End Property
Public ReadOnly Property scoDBConnection() As SqlConnection
Get
Return m_scoDBConnection
End Get
End Property
Public WriteOnly Property sConnectionString() As String
Set(ByVal Value As String)
m_scoDBConnection.ConnectionString = Value
End Set
End Property
#End Region
End Class
End Namespace

View File

@@ -0,0 +1,36 @@
Imports System.ComponentModel
Imports Microsoft.VisualBasic
Public Class DB_Connection
Shared Sub New()
Try
'Edoka
oread = IO.File.OpenText(appPath + "edokaconn.cfg")
sConnectionString_edoka = oread.ReadLine
Globals.sConnectionString_edoka = sConnectionString_edoka
oread.Close()
'Journale
oread = IO.File.OpenText(appPath + "journaleconn.cfg")
sConnectionString_journale = oread.ReadLine
Globals.sConnectionString_journale = sConnectionString_journale
oread.Close()
''tgdata
'oread = IO.File.OpenText(appPath + "tgdataconn.cfg")
'sConnectionString_tgdata = oread.ReadLine
'Globals.sConnectionString_tgdata = sConnectionString_tgdata
'oread.Close()
Globals.conn_edoka.sConnectionString = sConnectionString_edoka
Globals.conn_journale.sConnectionString = sConnectionString_journale
'Globals.conn_tgdata.sConnectionString = sConnectionString_tgdata
m_log.Log("EDKB04: DB-Connection OK", Common.Common.JournalEntryType.Information)
Catch ex As Exception
m_log.Log(ex.Message, Common.Common.JournalEntryType.Error)
End Try
End Sub
End Class

View File

@@ -0,0 +1,16 @@
MQHostname =vb0049d
MQPort =1416
MQChannel =TGKB.D16.EDOKA.CL
MQQueueName =test
SqlTimeOut =500000
CDMUTER =EDKB04
MuterNr =9996
WatchDir =C:\Data\EDKB04\
TimerIntervall =0
Loop =false
Debugmode =true
DebugDir =C:\Data\EDKB04\Archiv\
DefaultBetreuerID =1166755
nb_Errors =10
nb_seconds =10
len_TXADZ =35

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><DontShowAgainInSolution>false</DontShowAgainInSolution></Configuration>

View File

@@ -0,0 +1,22 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30501.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EDKB04", "EDKB04\EDKB04.vbproj", "{9B20034E-010A-448B-9A63-0DC12F029179}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9B20034E-010A-448B-9A63-0DC12F029179}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9B20034E-010A-448B-9A63-0DC12F029179}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9B20034E-010A-448B-9A63-0DC12F029179}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9B20034E-010A-448B-9A63-0DC12F029179}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = ""
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT"
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,26 @@
Imports System.ServiceProcess
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class EDKB04
Inherits System.ServiceProcess.ServiceBase
'Wird vom Komponenten-Designer benötigt.
Private components As System.ComponentModel.IContainer
' Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich.
' Das Bearbeiten ist mit dem Komponenten-Designer möglich.
' Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
'
'EDKB04
'
Me.ServiceName = "EDKB04"
End Sub
End Class

View File

@@ -0,0 +1,123 @@
<?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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
<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" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</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" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</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>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>

View File

@@ -0,0 +1,313 @@
Imports System.Timers
Imports IBM.WMQ
Imports System.ServiceProcess
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels
Imports System.Xml
Imports System.Data.SqlClient
Imports System.IO
Imports System.Reflection
Public Class EDKB04
Inherits System.ServiceProcess.ServiceBase
Dim WithEvents tmrQueuePolling As Timer = New Timer(2000)
Dim myStopper As ErrorStopper
#Region " Vom Component Designer generierter Code "
Public Sub New()
MyBase.New()
' Dieser Aufruf wird vom Komponenten-Designer benötigt.
InitializeComponent()
' Fügen Sie Initialisierungscode hinter dem InitializeComponent()-Aufruf ein
End Sub
'UserService überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
' Der Haupteinstiegspunkt für den Vorgang
<MTAThread()> _
Shared Sub Main()
Dim ServicesToRun() As System.ServiceProcess.ServiceBase
ServicesToRun = New System.ServiceProcess.ServiceBase() {New EDKB04}
System.ServiceProcess.ServiceBase.Run(ServicesToRun)
End Sub
#End Region
Protected Overrides Sub OnStart(ByVal args() As String)
Try
Dim FileWatch As New FileSystemWatcher()
'init BMS
Dim m_log1 As New bms.Logging(6, Common.Common.JobType.WatchJob)
m_log = m_log1
m_log.Start()
m_log.Log("EDKB04: Start", Common.Common.JournalEntryType.Information)
'Init Params
Params.Loadparameters()
'Init File Watcher
FileWatch.Path = Params.Watchdir
FileWatch.IncludeSubdirectories = False
FileWatch.Filter = "*.xml"
AddHandler FileWatch.Created, New FileSystemEventHandler(AddressOf OnFileEvent)
FileWatch.EnableRaisingEvents = True
'init DB-Connection
Dim sconnection = New DB_Connection()
'init Timer
If CInt(Params.TimerInterval) > 0 Then
tmrQueuePolling.Start()
Else
tmrQueuePolling.Enabled = False
End If
'Init Error Stopper
Me.myStopper = New ErrorStopper
Me.myStopper.init(Params.nb_errors, Params.nb_seconds)
Catch ex As Exception
WriteLog("BMS-Connection / XML: " + ex.Message, appPath + "Error.txt")
m_log.Log(ex.Message, Common.Common.JournalEntryType.Error)
Exit Sub
End Try
End Sub
Protected Overrides Sub OnStop()
' Hier Code zum Ausführen erforderlicher Löschvorgänge zum Beenden des Dienstes einfügen.
m_log.Log("EDKB04 Stop", Common.Common.JournalEntryType.Information)
m_log.Ende()
End Sub
Private Sub WriteLog(ByVal stext As String, ByVal sPfad As String)
Try
Dim FiStr As FileStream = New FileStream(sPfad, FileMode.Append)
Dim StrWr As StreamWriter = New StreamWriter(FiStr)
StrWr.WriteLine("Fehler: " + Now() & " Text:" & stext)
StrWr.Close()
Catch ex As Exception
End Try
End Sub
#Region "Timer"
Public Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs) Handles tmrQueuePolling.Elapsed
ReadfromMQ()
End Sub
#End Region
#Region "File Watcher"
Private Sub OnFileEvent(ByVal source As Object, ByVal e As FileSystemEventArgs)
Try
Threading.Thread.Sleep(2000)
Dim di As New IO.DirectoryInfo(Params.Watchdir)
Dim diar1 As IO.FileInfo() = di.GetFiles("*.xml")
Dim dra As IO.FileInfo
Dim data As String
For Each dra In diar1
Dim fil As New StreamReader(dra.FullName)
data = fil.ReadToEnd()
fil.Close()
'm_log.Log("EDKB04: read File OK", Common.Common.JournalEntryType.Information)
Dim newending As String = ".err"
Dim filetimestamp As String = Format(Now, "yyyyMMddHHmmssffff")
If XMLtoObj(data) = True Then
If DBImport() = True Then
newending = ".xml"
Else
newending = ".err"
End If
End If
If Params.DebugMode Then
'moven
File.Move(dra.FullName, Params.DebugDir & filetimestamp & newending)
Else
'deleten
File.Delete(dra.FullName)
End If
Next
Catch ex As Exception
m_log.Log("EDKB04: FileWatcher Error: " & ex.Message, Common.Common.JournalEntryType.Error)
End Try
End Sub
#End Region
Private Function DBImport() As Boolean
'---------------Import in DB--------------
Dim result As Boolean
'm_log.Log("EDKB04: DB Abgleich START", Common.Common.JournalEntryType.Information)
result = DBHandling.Init(XMLHandling.Stamm1)
'Transformation starten
If result Then
result = Stamm1.Transform
End If
If result And XMLHandling.Stamm1.HasPartnerNat Then
result = DBHandling.partnerNat()
End If
If result And XMLHandling.Stamm1.HasPartnerJur Then
result = DBHandling.partnerJur()
End If
If result And XMLHandling.Stamm1.HasHauptadresse Then
result = DBHandling.partnerHauptadresse()
End If
If result And XMLHandling.Stamm1.HasVersandadresse Then
result = DBHandling.partnerVersandadresse()
End If
If result And XMLHandling.Stamm1.HasMitarbeiter Then
result = DBHandling.Mitarbeiter()
End If
If result And XMLHandling.Stamm1.HasVV Then
result = DBHandling.VV()
End If
If result Then
m_log.Log("EDKB04: DB Abgleich ENDE", Common.Common.JournalEntryType.Information)
Else
If Me.myStopper.insert Then m_log.Log("EDKB04: DB Abgleich ERROR", Common.Common.JournalEntryType.Error)
End If
Return result
End Function
Private Function XMLtoObj(ByVal strXMLContent As String) As Boolean
Dim result As Boolean
Try
'm_log.Log("EDKB04: Lese XML String in Objekt", Common.Common.JournalEntryType.Information)
result = XMLHandling.Load(strXMLContent)
'm_log.Log("EDKB04: Lese XML String in Objekt ENDE", Common.Common.JournalEntryType.Information)
Catch ex As Exception
m_log.Log("EDKB04: Error bei XML->Obj: " & ex.Message, Common.Common.JournalEntryType.Error)
result = False
End Try
Return result
End Function
Private Function ReadfromMQ() As Boolean
Dim mqQMgr As MQQueueManager '* MQQueueManager instance
Dim mqQueue As MQQueue = Nothing '* MQQueue instance
Dim queueName As String '* Name of queue to use
Dim strMsg As String
Dim result As Boolean
tmrQueuePolling.Stop()
'm_log.Log("EDKB04: Start MQ Verbindungsaufbau", Common.Common.JournalEntryType.Information)
queueName = Params.MQQueueName
Try
MQEnvironment.Hostname = Params.MQHostname 'Bsp: "vb0049d"
MQEnvironment.Port = Params.MQPort 'Bsp: 1416
MQEnvironment.Channel = Params.MQChannel 'Bsp: "TGKB.D16.EDOKA.CL"
Try
mqQMgr = New MQQueueManager()
mqQueue = mqQMgr.AccessQueue(queueName, MQC.MQOO_INPUT_AS_Q_DEF + MQC.MQOO_FAIL_IF_QUIESCING) '* open queue for input but not if MQM stopping
Catch ex As Exception
m_log.Log("EDKB04: MQ Error: " & ex.Message, Common.Common.JournalEntryType.Error)
End Try
Catch mqe As IBM.WMQ.MQException
m_log.Log("EDKB04: Error: " & mqe.Message, Common.Common.JournalEntryType.Error)
m_log.Log("EDKB04: Errorcode: " & mqe.CompletionCode, Common.Common.JournalEntryType.Error)
m_log.Log("EDKB04: Reasoncode: " & mqe.ReasonCode, Common.Common.JournalEntryType.Error)
End Try
Try
Dim isContinue As Boolean = True
Dim strXMLContent As String
Do While (isContinue = True)
Dim mqMsg As MQMessage '* MQMessage instance
Dim mqGetMsgOpts As MQGetMessageOptions '* MQGetMessageOptions instance
mqMsg = New MQMessage()
mqGetMsgOpts = New MQGetMessageOptions()
Try
If CInt(Params.TimerInterval) > 0 Then
mqGetMsgOpts.WaitInterval = CInt(Params.TimerInterval)
Else
mqGetMsgOpts.WaitInterval = 15000 '* 15 second limit for waiting
End If
Catch ex As Exception
mqGetMsgOpts.WaitInterval = 15000 '* 15 second limit for waiting
End Try
mqGetMsgOpts.Options = MQC.MQGMO_WAIT
Try
mqQueue.Get(mqMsg, mqGetMsgOpts)
'mqQueue.
If (mqMsg.Format.CompareTo(MQC.MQFMT_STRING) = 0) Then
strMsg = mqMsg.ReadString(mqMsg.MessageLength)
strXMLContent = strMsg
'Me.Log("Message Content:" & strMsg)
If Params.DebugMode Then
Me.writeDebug(strMsg)
End If
'm_log.Log("EDKB04: Message Length:" & Len(strMsg) & " Chars", Common.Common.JournalEntryType.Information)
If XMLtoObj(strXMLContent) = True Then
DBImport()
Else
result = False
End If
result = True
Else
If Me.myStopper.insert Then m_log.Log("EDKB04: Non-text message", Common.Common.JournalEntryType.Error)
result = False
End If
Catch mqe As IBM.WMQ.MQException
'* report reason, if any
If (mqe.Reason = MQC.MQRC_NO_MSG_AVAILABLE) Then
'* special report for normal end
m_log.Log("EDKB04: no more messages", Common.Common.JournalEntryType.Information)
isContinue = False
Else
'* general report for other reasons
If Me.myStopper.insert Then m_log.Log("EDKB04: MQQueue::Get ended with {0}: " & mqe.Message, Common.Common.JournalEntryType.Error)
'* treat truncated message as a failure for this sample
'If (mqe.Reason = MQC.MQRC_TRUNCATED_MSG_FAILED) Then
isContinue = False
'End If
End If
result = False
End Try
If LCase(Params.LoopQueue) = "false" Then
isContinue = False
End If
Loop
Catch ex As Exception
If Me.myStopper.insert Then m_log.Log("EDKB04: Error bei GET: " & ex.Message, Common.Common.JournalEntryType.Error)
result = False
Finally
If CInt(Params.TimerInterval) > 0 Then
tmrQueuePolling.Start()
End If
End Try
Return result
End Function
Private Function writeDebug(ByVal xmlstring As String) As Boolean
Dim result As Boolean = True
Try
Dim writer As System.IO.StreamWriter
Dim filetimestamp As String = Format(Now, "yyyyMMddHHmmssffff")
writer = IO.File.AppendText(Params.DebugDir & filetimestamp & ".xml")
writer.WriteLine(xmlstring)
writer.Close()
Catch ex As Exception
m_log.Log("EDKB04: Error beim Abspeichern der Debug .xml Daten")
result = False
End Try
Return result
End Function
End Class

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<!-- VBdocman .NET config file for current project.-->
<!-- Example: <add key="settingName" value="settingValue"/> -->
</appSettings>
</configuration>

View File

@@ -0,0 +1,149 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{9B20034E-010A-448B-9A63-0DC12F029179}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>EDKB04.EDKB04</StartupObject>
<RootNamespace>EDKB04</RootNamespace>
<AssemblyName>EDKB04</AssemblyName>
<MyType>Console</MyType>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>2.0</OldToolsVersion>
<ApplicationRevision>0</ApplicationRevision>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>EDKB04.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DocumentationFile>EDKB04.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
</PropertyGroup>
<ItemGroup>
<Reference Include="amqmdnet, Version=1.0.0.3, Culture=neutral, PublicKeyToken=dd3cb1c9aae9ec97">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\amqmdnet.dll</HintPath>
</Reference>
<Reference Include="BMS, Version=2.0.2972.16650, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\BMS.dll</HintPath>
</Reference>
<Reference Include="Common, Version=2.0.2972.16650, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Common.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Data" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</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" />
</ItemGroup>
<ItemGroup>
<Compile Include="clsconnectionprovider.vb" />
<Compile Include="clsParameter.vb" />
<Compile Include="DBHandling.vb" />
<Compile Include="db_connection.vb" />
<Compile Include="ErrorStopper.vb" />
<Compile Include="Globals.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="EDKB04.vb">
<SubType>Component</SubType>
</Compile>
<Compile Include="EDKB04.Designer.vb">
<DependentUpon>EDKB04.vb</DependentUpon>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<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>
<Compile Include="ProjectInstaller.vb">
<SubType>Component</SubType>
</Compile>
<Compile Include="Stammdaten.vb" />
<Compile Include="XMLHandling.vb" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="EDKB04.resx">
<SubType>Designer</SubType>
<DependentUpon>EDKB04.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ProjectInstaller.resx">
<DependentUpon>ProjectInstaller.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<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="parameter.cfg" />
</ItemGroup>
<ItemGroup>
<Content Include="TodoList.txt" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
<PublishUrlHistory>publish\</PublishUrlHistory>
<InstallUrlHistory>
</InstallUrlHistory>
<SupportUrlHistory>
</SupportUrlHistory>
<UpdateUrlHistory>
</UpdateUrlHistory>
<BootstrapperUrlHistory>
</BootstrapperUrlHistory>
<FallbackCulture>de-DE</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = "relative:EDKB04"
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

View File

@@ -0,0 +1,34 @@
Public Class ErrorStopper
Private nb_events As Integer = 0
Private nb_seconds As Integer = 0
Private myStack As ArrayList
Public Function insert() As Boolean
Dim result As Boolean = True
'Neues Element rein
Dim new_el As New DateTime
new_el = Now()
myStack.Add(new_el)
'Alte löschen
Dim check_el As DateTime
Dim i As Integer = myStack.Count
Do While i > 0
check_el = myStack.Item(0)
If DateAdd(DateInterval.Second, nb_seconds, check_el) < Now() Then
myStack.RemoveAt(0)
End If
i = i - 1
Loop
'Check ob Menge überschritten
If myStack.Count >= nb_events Then result = False
Return result
End Function
Public Sub init(ByVal numberOfEvents As Integer, ByVal periodInSeconds As Integer)
Me.nb_events = numberOfEvents
Me.nb_seconds = periodInSeconds
Me.myStack = New ArrayList
End Sub
End Class

View File

@@ -0,0 +1,38 @@
Imports System.Reflection
Imports System.IO
Module Globals
Public Applikationsdaten As DataTable
Public AppldataRow As Integer
Public sConnectionString_edoka As String
Public sConnectionString_journale As String
Public sConnectionString_tgdata As String
Public args As String() = Environment.GetCommandLineArgs()
Public Params As New ClsParameter()
Public conn_edoka As New edokadb.clsConnectionProvider()
Public conn_journale As New edokadb.clsConnectionProvider()
Public conn_tgdata As New edokadb.clsConnectionProvider()
Public Fehler As Integer = 0
Public Warning As Integer = 0
Public DokumentID As String
Public ColdDokumentID As String
Public KeyNr As Long
Public ofile As System.IO.File
Public oread As System.IO.StreamReader
'NEU
Public appPath As String = Path.GetDirectoryName([Assembly].GetEntryAssembly().Location) + "\"
#Region "BMS"
Public m_log As bms.Logging
#End Region
End Module

View File

@@ -0,0 +1,13 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.34014
'
' Ä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>3</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 mit einer Assembly verknüpft sind.
' Die Werte der Assemblyattribute überprüfen
<Assembly: AssemblyTitle("EDKB04")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("DEVNET")>
<Assembly: AssemblyProduct("EDKB04")>
<Assembly: AssemblyCopyright("Copyright © DEVNET 2008")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
<Assembly: Guid("8a47384b-6519-4f1e-ae42-dae71b13a3b2")>
' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
'
' Hauptversion
' Nebenversion
' Buildnummer
' Revision
'
' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@@ -0,0 +1,63 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.34014
'
' Ä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", "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>
''' 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("EDKB04.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>

View File

@@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Dieser Code wurde von einem Tool generiert.
' Laufzeitversion:4.0.30319.34014
'
' Ä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", "12.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 "Funktion zum automatischen Speichern von My.Settings"
#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.EDKB04.My.MySettings
Get
Return Global.EDKB04.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,127 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
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">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</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 forserialized 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="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>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ServiceProcessInstaller1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Assembly</value>
</data>
<data name="ServiceProcessInstaller1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Assembly</value>
</data>
<data name="ServiceProcessInstaller1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</data>
<data name="EDKB04.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Assembly</value>
</data>
<data name="EDKB04.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Assembly</value>
</data>
<data name="EDKB04.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>188, 17</value>
</data>
<data name="$this.Name">
<value>ProjectInstaller</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Assembly</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
</root>

View File

@@ -0,0 +1,61 @@
Imports System.ComponentModel
Imports System.Configuration.Install
<RunInstaller(True)> Public Class ProjectInstaller
Inherits System.Configuration.Install.Installer
#Region " Vom Component Designer generierter Code "
Public Sub New()
MyBase.New()
' Dieser Aufruf ist für den Komponenten-Designer erforderlich.
InitializeComponent()
' Initialisierungen nach dem Aufruf InitializeComponent() hinzufügen
End Sub
'Installer überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
' Für Komponenten-Designer erforderlich
Private components As System.ComponentModel.IContainer
'HINWEIS: Die folgende Prozedur ist für den Komponenten-Designer erforderlich
'Sie kann mit dem Komponenten-Designer modifiziert werden.
'Verwenden Sie nicht den Code-Editor zur Bearbeitung.
Friend WithEvents ServiceProcessInstaller1 As System.ServiceProcess.ServiceProcessInstaller
Friend WithEvents EDKB04 As System.ServiceProcess.ServiceInstaller
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.ServiceProcessInstaller1 = New System.ServiceProcess.ServiceProcessInstaller
Me.EDKB04 = New System.ServiceProcess.ServiceInstaller
'
'ServiceProcessInstaller1
'
Me.ServiceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem
Me.ServiceProcessInstaller1.Installers.AddRange(New System.Configuration.Install.Installer() {Me.EDKB04})
Me.ServiceProcessInstaller1.Password = Nothing
Me.ServiceProcessInstaller1.Username = Nothing
'
'EDKB01ZV
'
Me.EDKB04.DisplayName = "EDKB04"
Me.EDKB04.ServiceName = "EDKB04"
'
'ProjectInstaller
'
Me.Installers.AddRange(New System.Configuration.Install.Installer() {Me.ServiceProcessInstaller1})
End Sub
#End Region
End Class

View File

@@ -0,0 +1,974 @@
Imports System.Xml
Imports System.Data.SqlClient
Public Class Stammdaten
Public _ResultName As String
Public _ResultHeader As resultHeader = New resultHeader
Public _ResultContent As resultContent = New resultContent
Public _ResultState As resultState = New resultState
Public HasResultHeader As Boolean = False
Public HasResultContent As Boolean = False
Public HasPartnerNat As Boolean = False
Public HasPartnerJur As Boolean = False
Public HasHauptadresse As Boolean = False
Public HasVersandadresse As Boolean = False
Public HasMitarbeiter As Boolean = False
Public HasVV As Boolean = False
Public HasResultState As Boolean = False
Public XmlOk As Boolean = False
Private _doc As XmlDocument
Private Const ROOTNODE As String = "result"
#Region "Servicefunktionen"
Public Function fill(ByRef doc As XmlDocument) As Boolean
Dim success As Boolean = True
Me._doc = doc
'Einlesen einzeln
Me._ResultName = ReadSingleNode(ROOTNODE & "/resultName")
If ExistsNode(ROOTNODE & "/resultHeader") Then
HasResultHeader = True
Me._ResultHeader._mandant = ReadSingleNode(ROOTNODE & "/resultHeader/mandant")
Me._ResultHeader._Sprache = ReadSingleNode(ROOTNODE & "/resultHeader/sprache")
Me._ResultHeader._userID = ReadSingleNode(ROOTNODE & "/resultHeader/userId")
End If
If ExistsNode(ROOTNODE & "/resultState") Then
HasResultState = True
Me._ResultState._status = ReadSingleNode(ROOTNODE & "/resultState/state")
Me._ResultState._error = ReadSingleNode(ROOTNODE & "/resultState/error")
End If
If ExistsNode(ROOTNODE & "/resultContent") Then
HasResultContent = True
Dim done As Boolean = False
If ExistsNode(ROOTNODE & "/resultContent/partnerNat") Then
HasPartnerNat = True
done = True
Me._ResultContent._partnerNat._ablaufDatum = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/ablaufDatum")
Me._ResultContent._partnerNat._auslaenderstatus = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/auslaenderstatus")
Me._ResultContent._partnerNat._beruf = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/beruf")
Me._ResultContent._partnerNat._betreuerId = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/betreuerId")
Me._ResultContent._partnerNat._domizilCode = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/domizilCode")
Me._ResultContent._partnerNat._geburtsDatum = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/geburtsDatum")
Me._ResultContent._partnerNat._kundenSegment = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/kundenSegment")
Me._ResultContent._partnerNat._kurzname = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/kurzname")
Me._ResultContent._partnerNat._name = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/name")
Me._ResultContent._partnerNat._nationalitaet = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/nationalitaet")
Me._ResultContent._partnerNat._partnerAbwicklungsformCode = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/partnerAbwicklungsformCode")
Me._ResultContent._partnerNat._partnerNummer = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/partnerNummer")
Me._ResultContent._partnerNat._sex = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/sex")
Me._ResultContent._partnerNat._sprache = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/sprache")
Me._ResultContent._partnerNat._status = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/status")
Me._ResultContent._partnerNat._versandInstruktion = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/versandInstruktion")
Me._ResultContent._partnerNat._vipCode = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/vipCode")
Me._ResultContent._partnerNat._vorname = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/vorname")
Me._ResultContent._partnerNat._AngestelltenArt = ReadSingleNode(ROOTNODE & "/resultContent/partnerNat/angestelltenArt")
End If
If Not (done) And ExistsNode(ROOTNODE & "/resultContent/partnerJur") Then
HasPartnerJur = True
done = True
Me._ResultContent._partnerJur._ablaufDatum = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/ablaufDatum")
Me._ResultContent._partnerJur._betreuerId = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/betreuerId")
Me._ResultContent._partnerJur._branche = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/branche")
Me._ResultContent._partnerJur._domizilCode = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/domizilCode")
Me._ResultContent._partnerJur._handelRegDatum = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/handelRegDatum")
Me._ResultContent._partnerJur._handelRegOrt = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/handelRegOrt")
Me._ResultContent._partnerJur._kundenSegment = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/kundenSegment")
Me._ResultContent._partnerJur._kurzname = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/kurzname")
Me._ResultContent._partnerJur._name = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/name")
Me._ResultContent._partnerJur._nationalitaet = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/nationalitaet")
Me._ResultContent._partnerJur._partnerAbwicklungsformCode = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/partnerAbwicklungsformCode")
Me._ResultContent._partnerJur._partnerNummer = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/partnerNummer")
Me._ResultContent._partnerJur._sprache = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/sprache")
Me._ResultContent._partnerJur._status = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/status")
Me._ResultContent._partnerJur._versandInstruktion = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/versandInstruktion")
Me._ResultContent._partnerJur._vipCode = ReadSingleNode(ROOTNODE & "/resultContent/partnerJur/vipCode")
End If
If Not (done) And ExistsNode(ROOTNODE & "/resultContent/hauptAdresse") Then
HasHauptadresse = True
done = True
Me._ResultContent._hauptAdresse._ablaufDatumAdresse = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/ablaufDatumAdresse")
Me._ResultContent._hauptAdresse._banklagernd = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/banklagernd")
Me._ResultContent._hauptAdresse._briefanrede1 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/briefanrede1")
Me._ResultContent._hauptAdresse._briefanrede1Code = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/briefanrede1Code")
Me._ResultContent._hauptAdresse._briefanrede2Zeile1 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/briefanrede2Zeile1")
Me._ResultContent._hauptAdresse._briefanrede2Zeile2 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/briefanrede2Zeile2")
Me._ResultContent._hauptAdresse._firma = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/firma")
Me._ResultContent._hauptAdresse._hausNr = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/hausNr")
Me._ResultContent._hauptAdresse._kopien = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/kopien")
Me._ResultContent._hauptAdresse._laenderCode = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/laenderCode")
Me._ResultContent._hauptAdresse._land = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/land")
Me._ResultContent._hauptAdresse._nachname = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/nachname")
Me._ResultContent._hauptAdresse._namenZusatz = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/namenZusatz")
Me._ResultContent._hauptAdresse._objektNr = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/objektNr")
Me._ResultContent._hauptAdresse._objektRefNr = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/objektRefNr")
Me._ResultContent._hauptAdresse._ort = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/ort")
Me._ResultContent._hauptAdresse._ortZusatz = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/ortZusatz")
Me._ResultContent._hauptAdresse._plz = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/plz")
Me._ResultContent._hauptAdresse._status = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/status")
Me._ResultContent._hauptAdresse._strasse = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/strasse")
Me._ResultContent._hauptAdresse._titelNachgestellt = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/titelNachgestellt")
Me._ResultContent._hauptAdresse._titelVorgestellt = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/titelVorgestellt")
Me._ResultContent._hauptAdresse._titelZwischengestellt = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/titelZwischengestellt")
Me._ResultContent._hauptAdresse._versandfaehig = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/versandfaehig")
Me._ResultContent._hauptAdresse._vorname1 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/vorname1")
Me._ResultContent._hauptAdresse._vorname2 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/vorname2")
Me._ResultContent._hauptAdresse._vorname3 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/vorname3")
Me._ResultContent._hauptAdresse._vorname4 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/vorname4")
Me._ResultContent._hauptAdresse._weiler = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/weiler")
Me._ResultContent._hauptAdresse._zeile_1 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile1")
Me._ResultContent._hauptAdresse._zeile_2 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile2")
Me._ResultContent._hauptAdresse._zeile_3 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile3")
Me._ResultContent._hauptAdresse._zeile_4 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile4")
Me._ResultContent._hauptAdresse._zeile_5 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile5")
Me._ResultContent._hauptAdresse._zeile_6 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile6")
Me._ResultContent._hauptAdresse._zeile_7 = ReadSingleNode(ROOTNODE & "/resultContent/hauptAdresse/zeile7")
End If
If Not (done) And ExistsNode(ROOTNODE & "/resultContent/versandAdresse") Then
HasVersandadresse = True
done = True
Me._ResultContent._versandAdresse._ablaufDatumAdresse = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/ablaufDatumAdresse")
Me._ResultContent._versandAdresse._adressatzeile1 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/adressatZeile1")
Me._ResultContent._versandAdresse._adressatzeile2 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/adressatZeile2")
Me._ResultContent._versandAdresse._adressatzeile3 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/adressatZeile3")
Me._ResultContent._versandAdresse._banklagernd = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/banklagernd")
Me._ResultContent._versandAdresse._kopien = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/kopien")
Me._ResultContent._versandAdresse._land = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/land")
Me._ResultContent._versandAdresse._objektNr = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/objektNr")
Me._ResultContent._versandAdresse._objektRefNr = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/objektRefNr")
Me._ResultContent._versandAdresse._objektRefTyp = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/objektRefTyp")
Me._ResultContent._versandAdresse._ort = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/ort")
Me._ResultContent._versandAdresse._plz = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/plz")
Me._ResultContent._versandAdresse._status = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/status")
Me._ResultContent._versandAdresse._versandfaehig = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/versandfaehig")
Me._ResultContent._versandAdresse._zeile1 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile1")
Me._ResultContent._versandAdresse._zeile2 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile2")
Me._ResultContent._versandAdresse._zeile3 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile3")
Me._ResultContent._versandAdresse._zeile4 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile4")
'20080909 - B
'Anpassung(SHU)
'Übernahme Zeile 5 der Versandinstruktion
' Me._ResultContent._versandAdresse._zeile5 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile")
Me._ResultContent._versandAdresse._zeile5 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile5")
Me._ResultContent._versandAdresse._zeile6 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile6")
Me._ResultContent._versandAdresse._zeile7 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/zeile7")
Me._ResultContent._versandAdresse._briefanrede2Zeile1 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/briefanrede2Zeile1")
Me._ResultContent._versandAdresse._briefanrede2Zeile2 = ReadSingleNode(ROOTNODE & "/resultContent/versandAdresse/briefanrede2Zeile2")
End If
'If Not (done) And ExistsNode(ROOTNODE & "/resultContent/mitarbeiter") Then
' HasMitarbeiter = True
' done = True
' Me._ResultContent._mitarbeiter._ablaufDatumMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/ablaufDatumMitarbeiter")
' Me._ResultContent._mitarbeiter._emailMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/emailMitarbeiter")
' Me._ResultContent._mitarbeiter._faxMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/faxMitarbeiter")
' Me._ResultContent._mitarbeiter._idMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/idMitarbeiter")
' Me._ResultContent._mitarbeiter._nameMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/nameMitarbeiter")
' Me._ResultContent._mitarbeiter._partnerNummerBankEinheit = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/partnerNummerBankEinheit")
' Me._ResultContent._mitarbeiter._partnerNummerMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/partnerNummerMitarbeiter")
' Me._ResultContent._mitarbeiter._status = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/status")
' Me._ResultContent._mitarbeiter._telMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/telMitarbeiter")
' Me._ResultContent._mitarbeiter._vornameMitarbeiter = ReadSingleNode(ROOTNODE & "/resultContent/Mitarbeiter/vornameMitarbeiter")
'End If
If Not (done) And ExistsNode(ROOTNODE & "/resultContent/vv") Then
HasVV = True
done = True
Me._ResultContent._vv._ablaufDatum = ReadSingleNode(ROOTNODE & "/resultContent/vv/ablaufDatum")
Me._ResultContent._vv._ausnahmeVI = ReadSingleNode(ROOTNODE & "/resultContent/vv/ausnahmeVI")
Me._ResultContent._vv._bankEinheitId = ReadSingleNode(ROOTNODE & "/resultContent/vv/bankEinheitId")
Me._ResultContent._vv._externeNr = ReadSingleNode(ROOTNODE & "/resultContent/vv/externeNr")
Me._ResultContent._vv._formatierteNr = ReadSingleNode(ROOTNODE & "/resultContent/vv/formatierteNr")
Me._ResultContent._vv._kontoGruppe = ReadSingleNode(ROOTNODE & "/resultContent/vv/kontoGruppe")
Me._ResultContent._vv._kontoTyp = ReadSingleNode(ROOTNODE & "/resultContent/vv/kontoTyp")
Me._ResultContent._vv._nummer = ReadSingleNode(ROOTNODE & "/resultContent/vv/nummer")
Me._ResultContent._vv._objektRef = ReadSingleNode(ROOTNODE & "/resultContent/vv/objektRef")
Me._ResultContent._vv._produkt = ReadSingleNode(ROOTNODE & "/resultContent/vv/produkt")
Me._ResultContent._vv._produktBezeichnung = ReadSingleNode(ROOTNODE & "/resultContent/vv/produktBezeichnung")
Me._ResultContent._vv._rubrik = ReadSingleNode(ROOTNODE & "/resultContent/vv/rubrik")
Me._ResultContent._vv._status = ReadSingleNode(ROOTNODE & "/resultContent/vv/status")
Me._ResultContent._vv._text = ReadSingleNode(ROOTNODE & "/resultContent/vv/text")
Me._ResultContent._vv._waehrung = ReadSingleNode(ROOTNODE & "/resultContent/vv/waehrung")
Me._ResultContent._vv._PartnerNummer = ReadSingleNode(ROOTNODE & "/resultContent/vv/partnerNummer")
Me._ResultContent._vv._kopien = ReadSingleNode(ROOTNODE & "/resultContent/vv/kopien")
End If
If Not (done) And ExistsNode(ROOTNODE & "/resultContent/document") Then
'SPEZIAL Zuerst Testen ob EBanking, sonst wird die Message ignoriert, Dank an Comit für den Murks
If InStr(ReadSingleNode(ROOTNODE & "/resultContent/document/formatierteNr"), "EBANKING", CompareMethod.Text) Then
HasVV = True
done = True
'Me._ResultContent._vv._ablaufDatum = ReadSingleNode(ROOTNODE & "/resultContent/document/ablaufDatum")
'Me._ResultContent._vv._ausnahmeVI = ReadSingleNode(ROOTNODE & "/resultContent/document/ausnahmeVI")
'Me._ResultContent._vv._bankEinheitId = ReadSingleNode(ROOTNODE & "/resultContent/document/bankEinheitId")
Me._ResultContent._vv._externeNr = ReadSingleNode(ROOTNODE & "/resultContent/document/externeNr")
Me._ResultContent._vv._formatierteNr = ReadSingleNode(ROOTNODE & "/resultContent/document/formatierteNr")
'Me._ResultContent._vv._kontoGruppe = ReadSingleNode(ROOTNODE & "/resultContent/document/kontoGruppe")
'Me._ResultContent._vv._kontoTyp = ReadSingleNode(ROOTNODE & "/resultContent/document/kontoTyp")
Me._ResultContent._vv._kontoTyp = "EBanking"
'Me._ResultContent._vv._nummer = ReadSingleNode(ROOTNODE & "/resultContent/document/nummer")
'Me._ResultContent._vv._objektRef = ReadSingleNode(ROOTNODE & "/resultContent/document/objektRef")
'Me._ResultContent._vv._produkt = ReadSingleNode(ROOTNODE & "/resultContent/document/produkt")
Me._ResultContent._vv._produktBezeichnung = ReadSingleNode(ROOTNODE & "/resultContent/document/produktBezeichnung")
Me._ResultContent._vv._rubrik = ReadSingleNode(ROOTNODE & "/resultContent/document/rubrik")
Me._ResultContent._vv._status = ReadSingleNode(ROOTNODE & "/resultContent/document/status")
'Me._ResultContent._vv._text = ReadSingleNode(ROOTNODE & "/resultContent/document/text")
'Me._ResultContent._vv._waehrung = ReadSingleNode(ROOTNODE & "/resultContent/document/waehrung")
Me._ResultContent._vv._PartnerNummer = ReadSingleNode(ROOTNODE & "/resultContent/document/partnerNummer")
'Me._ResultContent._vv._kopien = ReadSingleNode(ROOTNODE & "/resultContent/document/kopien")
End If
End If
If Not (done) Then
m_log.Log("EDKB04: Es wurde kein gültiges Element gefunden, keine Verarbeitung", Common.Common.JournalEntryType.Information)
End If
End If
Return success
End Function
Private Function ReadSingleNode(ByVal NodeNameXML As String) As String
Dim result As String = ""
Try
result = _doc.SelectSingleNode(NodeNameXML).InnerText
Catch ex As Exception
'Absichtliches leeres Catch!
'Form1.Log("Read: Node nicht gefunden:" & NodeNameXML)
End Try
Return result
End Function
Private Function ExistsNode(ByVal NodeNameXML As String) As Boolean
Dim result As Boolean
Try
Dim test As XmlNode
test = _doc.SelectSingleNode(NodeNameXML)
If test Is Nothing Then
'Form1.Log("Exists: Node nicht gefunden:" & NodeNameXML)
result = False
Else
'm_log.Log("EDKB04: Exists: " & NodeNameXML, Common.Common.JournalEntryType.Information)
result = True
End If
Catch ex As Exception
m_log.Log(ex.Message, Common.Common.JournalEntryType.Error)
End Try
Return result
End Function
#End Region
#Region "Transformationen Hilfsfunktionen"
Private Function Transform_title(ByVal s_av_code As String, ByVal TitelArt As String) As String
Dim result As String = ""
Dim ex As SqlDataAdapter = New SqlDataAdapter
Dim exdata As New DataSet
Select Case TitelArt
Case "Vorgestellt"
ex = New SqlDataAdapter("Select NRTTV00 AS titleCode from etxttv where BETTV00 = '" & s_av_code & "' AND SAREC00 = 2", Globals.sConnectionString_edoka)
ex.Fill(exdata, "etxttv")
Case "Zwischengestellt"
ex = New SqlDataAdapter("Select NRTTZ00 AS titleCode from etxttz where BETTZ00 = '" & s_av_code & "' AND SAREC00 = 2", Globals.sConnectionString_edoka)
ex.Fill(exdata, "etxtt")
Case "Nachgestellt"
ex = New SqlDataAdapter("Select NRTTN00 AS titleCode from etxttn where BETTN00 = '" & s_av_code & "' AND SAREC00 = 2", Globals.sConnectionString_edoka)
ex.Fill(exdata, "etxtt")
End Select
Dim i As Integer
Try
For i = 0 To exdata.Tables(0).Rows.Count - 1
If Not exdata.Tables(0).Rows(i).Item("titleCode") Is System.DBNull.Value Then
result = exdata.Tables(0).Rows(i).Item("titleCode")
End If
Next
Return result
Catch exi As Exception
m_log.Log("EDKB04: Fehler Transform_title " & exi.Message & " - Code: " & s_av_code & " Titel Art: " & TitelArt, Common.Common.JournalEntryType.Error)
Return "9"
Finally
exdata.Dispose()
ex.Dispose()
End Try
End Function
Private Function Transform_sex(ByVal s_av_code As String) As String
Dim result As String = "9"
Dim ex As New SqlDataAdapter("Select * from etxsex where avcode = '" & s_av_code & "'", Globals.sConnectionString_edoka)
Dim exdata As New DataSet
Dim i As Integer
Try
ex.Fill(exdata, "etxsex")
For i = 0 To exdata.Tables(0).Rows.Count - 1
If Not exdata.Tables(0).Rows(i).Item("nrsex00") Is System.DBNull.Value Then
result = exdata.Tables(0).Rows(i).Item("nrsex00")
End If
Next
Return result
Catch exi As Exception
m_log.Log("EDKB04: Fehler Transform_sex " & exi.Message & " - Code: " & s_av_code, Common.Common.JournalEntryType.Error)
Return "9"
Finally
exdata.Dispose()
ex.Dispose()
End Try
End Function
Private Function Transform_generic(ByVal field As String, ByVal s_av_code As String) As String
Dim result As String = ""
Dim ex As New SqlDataAdapter("Select Wert2 from av_Partner_Mapping where Element = '" & field & "' and Wert1 = '" & s_av_code & "'", Globals.sConnectionString_edoka)
Dim exdata As New DataSet
Dim i As Integer
Try
ex.Fill(exdata, "av_Partner_Mapping")
For i = 0 To exdata.Tables(0).Rows.Count - 1
If Not exdata.Tables(0).Rows(i).Item("wert2") Is System.DBNull.Value Then
result = exdata.Tables(0).Rows(i).Item("wert2")
Exit For
End If
Next
Return result
Catch exi As Exception
m_log.Log("EDKB04: Fehler Transform_Generic " & exi.Message & " - Code: " & s_av_code & " - Field: " & field, Common.Common.JournalEntryType.Error)
Return ""
Finally
exdata.Dispose()
ex.Dispose()
End Try
End Function
Private Function TransformDate(ByVal indate As String, ByVal DefaultValue As String) As String
Dim result As String = ""
If indate = "00000000" Or indate = "" Then
indate = DefaultValue
End If
Try
If indate <> "" Then
result = Microsoft.VisualBasic.Right(indate, 2) & "." & Microsoft.VisualBasic.Mid(indate, 5, 2) & "." & Microsoft.VisualBasic.Left(indate, 4)
End If
Catch ex As Exception
result = ""
End Try
Return result
End Function
Function TransformDatetoYear(ByVal indate As String) As String
Dim result As String
Try
If InStr(indate, ".", CompareMethod.Text) Then
'Edoka Format
result = Year(indate)
Else
'Avaloq Format
result = Left(indate, 4)
If result = "" Then result = "0000"
End If
Catch ex As Exception
result = ""
End Try
Return result
End Function
Function TransformLand(ByVal inland As String) As String
Dim result As String = "756"
'MNK 24.08.2009 Version 1.7 - Anpassung Landaufbereitung
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_edkb04_get_nationalitaet"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn_edoka.scoDBConnection
scmCmdToExecute.Parameters.Add(New SqlParameter("@code", SqlDbType.VarChar, 16, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, inland))
scmCmdToExecute.Parameters.Add(New SqlParameter("@land", SqlDbType.VarChar, 16, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0))
'Dim ex As New SqlDataAdapter("Select nrlnd00 from Land where (cdlnd02 = '" & inland & "' or cdlndab = '" & inland & "') and sarec00 = 2", Globals.sConnectionString_edoka)
'Dim exdata As New DataSet
'Dim i As Integer
Try
conn_edoka.OpenConnection()
scmCmdToExecute.ExecuteNonQuery()
result = scmCmdToExecute.Parameters("@land").Value
'ex.Fill(exdata, "land")
'For i = 0 To exdata.Tables(0).Rows.Count - 1
'If Not exdata.Tables(0).Rows(i).Item("nrlnd00") Is System.DBNull.Value Then
'result = exdata.Tables(0).Rows(i).Item("nrlnd00")
'Exit For
'End If
'Next
Return result
Catch exi As Exception
m_log.Log("EDKB04: Fehler TransformLand " & exi.Message & " - Code: " & inland, Common.Common.JournalEntryType.Error)
Return "756"
Finally
'exdata.Dispose()
'ex.Dispose()
conn_edoka.CloseConnection(True)
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
End Try
End Function
Private Function Transform_PnrMapping(ByVal adressid As String) As String
Dim result As String = ""
Dim ssql As String
ssql = "SELECT TOP 1 nrpar00 FROM AVQ_PnrMapping WHERE adressid = '" & adressid & "'"
Dim connection As New SqlConnection()
Dim daTemp As New SqlDataAdapter(ssql, connection)
Dim dsTemp As New DataSet()
Try
connection.ConnectionString = Globals.sConnectionString_edoka
connection.Open()
daTemp.Fill(dsTemp)
If dsTemp.Tables(0).Rows.Count > 0 Then
result = dsTemp.Tables(0).Rows(0).Item(0)
Else
m_log.Log("EDKB04: Stammdaten.Transform_PnrMapping() : Partnermapping nicht möglich, keine Angaben gefunden, AdressID = " & adressid, Common.Common.JournalEntryType.Warning)
result = "0"
End If
Catch ex As Exception
result = "0"
m_log.Log("EDKB04: Stammdaten.Transform_PnrMapping() : " & ex.Message, Common.Common.JournalEntryType.Error)
Finally
dsTemp = Nothing
daTemp = Nothing
connection.Close()
connection = Nothing
End Try
Return result
End Function
Private Function Transform_Briefanrede(ByVal AnrAVQ As String) As String
Dim result As String = ""
result = Replace(AnrAVQ, "Sehr geehrte ", "", , , CompareMethod.Text)
result = Replace(result, "Sehr geehrter ", "", , , CompareMethod.Text)
Return result
End Function
Private Function Get_BL_Adresse(ByVal nrpar00 As String) As String
Dim result As String = ""
Dim ssql As String
ssql = "SELECT TOP 1 nradr00 FROM edex_bl_blpartner WHERE nrpar00 = '" & nrpar00 & "'"
Dim connection As New SqlConnection()
Dim daTemp As New SqlDataAdapter(ssql, connection)
Dim dsTemp As New DataSet()
Try
connection.ConnectionString = Globals.sConnectionString_edoka
connection.Open()
daTemp.Fill(dsTemp)
If dsTemp.Tables(0).Rows.Count > 0 Then
result = dsTemp.Tables(0).Rows(0).Item(0)
Else
m_log.Log("EDKB04: Stammdaten.Get_BL_Adresse() : Banklagernd nicht möglich, keine Angaben zu Niederlassung gefunden, PartnerNr der Niederlassung = " & nrpar00, Common.Common.JournalEntryType.Warning)
result = "0"
End If
Catch ex As Exception
result = "0"
m_log.Log("EDKB04: Stammdaten.Get_BL_Adresse() : " & ex.Message, Common.Common.JournalEntryType.Error)
Finally
dsTemp = Nothing
daTemp = Nothing
connection.Close()
connection = Nothing
End Try
Return result
End Function
Private Function TransformVVExtern(ByVal instr As String) As String
Dim result As String = ""
Dim i As Integer = 1
Do While i <= Len(instr)
If Char.IsDigit(Mid(instr, i, 1).Chars(0)) Then
result = result + Mid(instr, i, 1)
End If
i = i + 1
Loop
Return result
End Function
#End Region
#Region "Transformationen"
Private Sub Transform_partnerNAT()
'Auffüllen Kurzname, falls leer
If Me._ResultContent._partnerNat._kurzname = "" Then
Me._ResultContent._partnerNat._kurzname = Me._ResultContent._partnerNat._vorname & " " & Me._ResultContent._partnerNat._name 'TODO: Ort anfügen
End If
'Ablaufdatum Format
Me._ResultContent._partnerNat._ablaufDatum = TransformDate(Me._ResultContent._partnerNat._ablaufDatum, "")
'_versandInstruktion -> partner __CDVIG00 (Y/N)
Me._ResultContent._partnerNat.__CDVIG00 = Transform_generic("cardone2CDVIG00", Me._ResultContent._partnerNat._versandInstruktion)
'_auslaenderstatus -> etparn NRABE00 (immer 0)
Me._ResultContent._partnerNat._auslaenderstatus = "0"
'_sex -> etparn NRSEX00
Me._ResultContent._partnerNat._sex = Transform_sex(Me._ResultContent._partnerNat._sex)
'_status -> etparn __SAREC00
Me._ResultContent._partnerNat.__SAREC00 = Transform_generic("cardone2SAREC00", Me._ResultContent._partnerNat._status)
'_status -> partner saldiert
Me._ResultContent._partnerNat.__saldiert = Transform_generic("cardone2saldiert", Me._ResultContent._partnerNat._status)
'_geburtsDatum -> __DMGEBJJ
Me._ResultContent._partnerNat.__DMGEBJJ = TransformDatetoYear(Me._ResultContent._partnerNat._geburtsDatum)
'_geburtsdatum -> erparn DMGEB00
Me._ResultContent._partnerNat.__DMGEB00 = TransformDate(Me._ResultContent._partnerNat._geburtsDatum, "")
'_domizilCode -> NRDOM00
If Me._ResultContent._partnerNat._domizilCode = "" Then
Me._ResultContent._partnerNat._domizilCode = "0"
Else
Me._ResultContent._partnerNat._domizilCode = TransformLand(Me._ResultContent._partnerNat._domizilCode)
End If
'_nationalität -> NRNAT01
If Me._ResultContent._partnerNat._nationalitaet = "" Then
Me._ResultContent._partnerNat.__NRNAT01 = "0"
Else
Me._ResultContent._partnerNat.__NRNAT01 = TransformLand(Me._ResultContent._partnerNat._nationalitaet)
End If
'_sprache -> NRSPA00
Me._ResultContent._partnerNat._sprache = "1"
'NOT NULL
End Sub
Private Sub Transform_partnerJUR()
'Ablaufdatum Format
Me._ResultContent._partnerJur._ablaufDatum = TransformDate(Me._ResultContent._partnerJur._ablaufDatum, "")
'_versandInstruktion -> partner __CDVIG00 (Y/N)
Me._ResultContent._partnerJur.__CDVIG00 = Transform_generic("cardone2CDVIG00", Me._ResultContent._partnerJur._versandInstruktion)
'handelRegDatum
Me._ResultContent._partnerJur.__DMGRD00 = Me.TransformDate(Me._ResultContent._partnerJur._handelRegDatum, "")
'handelRegJahr
Me._ResultContent._partnerJur.__DMGRDJJ = Me.TransformDatetoYear(Me._ResultContent._partnerJur._handelRegDatum)
'SAREC00
Me._ResultContent._partnerJur.__SAREC00 = Me.Transform_generic("cardone2SAREC00", Me._ResultContent._partnerJur._status)
'_domizilCode -> NRDOM00
If Me._ResultContent._partnerJur._domizilCode = "" Then
Me._ResultContent._partnerJur._domizilCode = "0"
Else
Me._ResultContent._partnerJur._domizilCode = TransformLand(Me._ResultContent._partnerJur._domizilCode)
End If
'_Nationalität -> __NRNAT01
If Me._ResultContent._partnerJur._nationalitaet = "" Then
Me._ResultContent._partnerJur.__NRNAT01 = "0"
Else
Me._ResultContent._partnerJur.__NRNAT01 = TransformLand(Me._ResultContent._partnerJur._nationalitaet)
End If
'_sprache -> NRSPA00
Me._ResultContent._partnerJur._sprache = "1"
'_status -> etpar0 __SAREC00
Me._ResultContent._partnerJur.__SAREC00 = Transform_generic("cardone2SAREC00", Me._ResultContent._partnerJur._status)
'_status -> partner saldiert
Me._ResultContent._partnerJur.__saldiert = Transform_generic("cardone2saldiert", Me._ResultContent._partnerJur._status)
End Sub
Private Sub Transform_Hauptadresse()
'Status -> SAREC00
Me._ResultContent._hauptAdresse.__SAREC00 = Transform_generic("cardone2sarec00", Me._ResultContent._hauptAdresse._status)
'Versandfähig -> cardone2SAVRS00
Me._ResultContent._hauptAdresse._versandfaehig = Transform_generic("cardone2SAVRS00", Me._ResultContent._hauptAdresse._versandfaehig)
If Me._ResultContent._hauptAdresse._versandfaehig = "" Then
Me._ResultContent._hauptAdresse._versandfaehig = "Y"
End If
'Ländercode
Me._ResultContent._hauptAdresse._laenderCode = TransformLand(Me._ResultContent._hauptAdresse._laenderCode)
' Titel vorgestellt
Me._ResultContent._hauptAdresse._titelVorgestellt = Transform_title(Me._ResultContent._hauptAdresse._titelVorgestellt, "Vorgestellt")
' Titel Zwischengestellt
Me._ResultContent._hauptAdresse._titelZwischengestellt = Transform_title(Me._ResultContent._hauptAdresse._titelZwischengestellt, "Zwischengestellt")
'Land
If Me._ResultContent._hauptAdresse._laenderCode = "" Then
Me._ResultContent._hauptAdresse._laenderCode = 756
End If
'PNR kommt mit ObjRefNr
Me._ResultContent._hauptAdresse.__nrpar00 = Me._ResultContent._hauptAdresse._objektRefNr
'Transformation Briefanrede
Me._ResultContent._hauptAdresse._briefanrede2Zeile1 = Transform_Briefanrede(Me._ResultContent._hauptAdresse._briefanrede2Zeile1)
Me._ResultContent._hauptAdresse._briefanrede2Zeile2 = Transform_Briefanrede(Me._ResultContent._hauptAdresse._briefanrede2Zeile2)
'NOT NULL
If Me._ResultContent._hauptAdresse._kopien = "" Then Me._ResultContent._hauptAdresse._kopien = "1"
End Sub
Private Sub Transform_Versandadresse()
'Spezial, Partnernummer der Versandadresse suchen für Feld NRPARAD
Me._ResultContent._versandAdresse.__NRPARAD = Transform_PnrMapping(Me._ResultContent._versandAdresse._objektNr)
'Ablaufdatum Format
Me._ResultContent._versandAdresse._ablaufDatumAdresse = TransformDate(Me._ResultContent._versandAdresse._ablaufDatumAdresse, "")
'Banklagernd J -> Y
Me._ResultContent._versandAdresse._banklagernd = Transform_generic("cardone2CDBAL00", Me._ResultContent._versandAdresse._banklagernd)
'Status
Me._ResultContent._versandAdresse.__saldiert = Transform_generic("cardone2saldiert", Me._ResultContent._versandAdresse._status)
'_versandInstruktion -> partner __SAVRS00 (Y/N)
Me._ResultContent._versandAdresse.__SAVRS00 = Transform_generic("cardone2SAVRS00", Me._ResultContent._versandAdresse._versandfaehig)
'Transformation Briefanrede
Me._ResultContent._versandAdresse._briefanrede2Zeile1 = Transform_Briefanrede(Me._ResultContent._versandAdresse._briefanrede2Zeile1)
Me._ResultContent._versandAdresse._briefanrede2Zeile2 = Transform_Briefanrede(Me._ResultContent._versandAdresse._briefanrede2Zeile2)
'Spezial, Adressnummer für BL Adresse, Lookup
If Me._ResultContent._versandAdresse._banklagernd = "Y" Then
Me._ResultContent._versandAdresse.__NRADR00 = Get_BL_Adresse(Me._ResultContent._versandAdresse.__NRPARAD)
End If
End Sub
Private Sub Transform_VV()
'Ablaufdatum Format
Me._ResultContent._vv._ablaufDatum = TransformDate(Me._ResultContent._vv._ablaufDatum, "")
'Status -> SAREC00
Me._ResultContent._vv.__SAREC00 = Transform_generic("cardone2sarec00", Me._ResultContent._vv._status)
'Versandinstruktion für Partner
Me._ResultContent._vv.__CDVIG00 = Transform_generic("cardone2CDVIG00", Me._ResultContent._vv._ausnahmeVI)
'VV extern abfüllen, falls leer
If Me._ResultContent._vv._externeNr = "" Then
Me._ResultContent._vv._externeNr = TransformVVExtern(Me._ResultContent._vv._formatierteNr)
End If
'20080722 RGL, Falls KontoTyp leer wird KontoBezeichnung verwendet (wegen LOAN Stammdaten)
If Me._ResultContent._vv._kontoTyp = "" And Me._ResultContent._vv._produktBezeichnung <> "" Then
Me._ResultContent._vv._kontoTyp = Me._ResultContent._vv._produktBezeichnung
End If
'Produkt TEST ob numerisch
Dim testint As Integer
Try
testint = CInt(Me._ResultContent._vv._produkt)
Catch ex As Exception
Me._ResultContent._vv._produkt = 0
m_log.Log("EDKB04: Warnung: VV, <Produkt> ist nicht numerisch order leer, es wurde 0 verwendet", Common.Common.JournalEntryType.Warning)
End Try
End Sub
Public Function Transform()
Dim result As Boolean = True
Try
If Me.HasResultContent Then
If Me.HasPartnerNat Then
'MAPPING ================================= PARTNER NAT ======================================
Transform_partnerNAT()
'Längenprüfung
len_partnerNAT()
End If
If Me.HasPartnerJur Then
'MAPPING ================================= PARTNER JUR ======================================
Transform_partnerJUR()
'Längenprüfung
len_partnerJUR()
End If
If Me.HasHauptadresse Then
'MAPPING ================================= HAUPTADRESSE ======================================
Transform_Hauptadresse()
len_Hauptadresse()
End If
If Me.HasVersandadresse Then
'MAPPING ================================= VERSANDADRESSE ======================================
Transform_Versandadresse()
'Längenprüfung
len_versandAdresse()
End If
If Me.HasMitarbeiter Then
'MAPPING ================================= MITARBEITER ======================================
End If
If Me.HasVV Then
'MAPPING ================================= VV ======================================
Transform_VV()
'Längenprüfung
len_vv()
End If
End If
Catch ex As Exception
m_log.Log("EDKB04: Fehler bei Transformation: " & ex.Message, Common.Common.JournalEntryType.Error)
result = False
End Try
Return result
End Function
#End Region
#Region "Länge aufbereiten"
Function len_partnerNAT() As Boolean
Dim result As Boolean
Try
Me._ResultContent._partnerNat._beruf = Left(Me._ResultContent._partnerNat._beruf, 35)
Me._ResultContent._partnerNat._name = Left(Me._ResultContent._partnerNat._name, 35)
Me._ResultContent._partnerNat._partnerAbwicklungsformCode = Left(Me._ResultContent._partnerNat._partnerAbwicklungsformCode, 1)
Me._ResultContent._partnerNat._vorname = Left(Me._ResultContent._partnerNat._vorname, 20)
Catch ex As Exception
m_log.Log("EDKB04: Warning partnerNat, Länge aufbereiten: " & ex.Message, Common.Common.JournalEntryType.Warning)
End Try
Return result
End Function
Function len_partnerJUR() As Boolean
Dim result As Boolean
Try
Me._ResultContent._partnerJur._name = Left(Me._ResultContent._partnerJur._name, 35)
Me._ResultContent._partnerJur._partnerAbwicklungsformCode = Left(Me._ResultContent._partnerJur._partnerAbwicklungsformCode, 1)
Me._ResultContent._partnerJur._branche = Left(Me._ResultContent._partnerJur._branche, 6)
Catch ex As Exception
m_log.Log("EDKB04: Warning partnerJur, Länge aufbereiten: " & ex.Message, Common.Common.JournalEntryType.Warning)
End Try
Return result
End Function
Function len_Hauptadresse() As Boolean
Dim result As Boolean = True
Try
Me._ResultContent._hauptAdresse._briefanrede1 = Left(Me._ResultContent._hauptAdresse._briefanrede1, 150)
Me._ResultContent._hauptAdresse._briefanrede2Zeile1 = Left(Me._ResultContent._hauptAdresse._briefanrede2Zeile1, 150)
Me._ResultContent._hauptAdresse._briefanrede2Zeile2 = Left(Me._ResultContent._hauptAdresse._briefanrede2Zeile2, 150)
Me._ResultContent._hauptAdresse._hausNr = Left(Me._ResultContent._hauptAdresse._hausNr, 6)
Me._ResultContent._hauptAdresse.__NachnameUngekuerzt = Me._ResultContent._hauptAdresse._nachname
Me._ResultContent._hauptAdresse._namenZusatz = Left(Me._ResultContent._hauptAdresse._namenZusatz, 35)
Me._ResultContent._hauptAdresse._objektNr = Left(Me._ResultContent._hauptAdresse._objektNr, 50)
Me._ResultContent._hauptAdresse._ort = Left(Me._ResultContent._hauptAdresse._ort, 35)
Me._ResultContent._hauptAdresse._ortZusatz = Left(Me._ResultContent._hauptAdresse._ortZusatz, 35)
Me._ResultContent._hauptAdresse._plz = Left(Me._ResultContent._hauptAdresse._plz, 10)
Me._ResultContent._hauptAdresse._strasse = Left(Me._ResultContent._hauptAdresse._strasse, 35)
Me._ResultContent._hauptAdresse._vorname1 = Left(Me._ResultContent._hauptAdresse._vorname1, 20)
Me._ResultContent._hauptAdresse._vorname2 = Left(Me._ResultContent._hauptAdresse._vorname2, 20)
Me._ResultContent._hauptAdresse._vorname3 = Left(Me._ResultContent._hauptAdresse._vorname3, 20)
Me._ResultContent._hauptAdresse._vorname4 = Left(Me._ResultContent._hauptAdresse._vorname4, 20)
Me._ResultContent._hauptAdresse._weiler = Left(Me._ResultContent._hauptAdresse._weiler, 35)
Me._ResultContent._hauptAdresse._zeile_1 = Left(Me._ResultContent._hauptAdresse._zeile_1, Params.len_TXADZ)
Me._ResultContent._hauptAdresse._zeile_2 = Left(Me._ResultContent._hauptAdresse._zeile_2, Params.len_TXADZ)
Me._ResultContent._hauptAdresse._zeile_3 = Left(Me._ResultContent._hauptAdresse._zeile_3, Params.len_TXADZ)
Me._ResultContent._hauptAdresse._zeile_4 = Left(Me._ResultContent._hauptAdresse._zeile_4, Params.len_TXADZ)
Me._ResultContent._hauptAdresse._zeile_5 = Left(Me._ResultContent._hauptAdresse._zeile_5, Params.len_TXADZ)
Me._ResultContent._hauptAdresse._zeile_6 = Left(Me._ResultContent._hauptAdresse._zeile_6, Params.len_TXADZ)
Me._ResultContent._hauptAdresse._zeile_7 = Left(Me._ResultContent._hauptAdresse._zeile_7, Params.len_TXADZ)
Catch ex As Exception
m_log.Log("EDKB04: Warning Hauptadresse, Länge aufbereiten: " & ex.Message, Common.Common.JournalEntryType.Warning)
End Try
Return (result)
End Function
Function len_versandAdresse() As Boolean
Dim result As Boolean
Try
Me._ResultContent._versandAdresse._briefanrede2Zeile1 = Left(Me._ResultContent._versandAdresse._briefanrede2Zeile1, 150)
Me._ResultContent._versandAdresse._briefanrede2Zeile2 = Left(Me._ResultContent._versandAdresse._briefanrede2Zeile2, 150)
Me._ResultContent._versandAdresse._zeile1 = Left(Me._ResultContent._versandAdresse._zeile1, Params.len_TXADZ)
Me._ResultContent._versandAdresse._zeile2 = Left(Me._ResultContent._versandAdresse._zeile2, Params.len_TXADZ)
Me._ResultContent._versandAdresse._zeile3 = Left(Me._ResultContent._versandAdresse._zeile3, Params.len_TXADZ)
Me._ResultContent._versandAdresse._zeile4 = Left(Me._ResultContent._versandAdresse._zeile4, Params.len_TXADZ)
Me._ResultContent._versandAdresse._zeile5 = Left(Me._ResultContent._versandAdresse._zeile5, Params.len_TXADZ)
Me._ResultContent._versandAdresse._zeile6 = Left(Me._ResultContent._versandAdresse._zeile6, Params.len_TXADZ)
Me._ResultContent._versandAdresse._zeile7 = Left(Me._ResultContent._versandAdresse._zeile7, Params.len_TXADZ)
Catch ex As Exception
m_log.Log("EDKB04: Warning Versandadresse, Länge aufbereiten: " & ex.Message, Common.Common.JournalEntryType.Warning)
End Try
Return result
End Function
Function len_vv() As Boolean
Dim result As Boolean = True
Try
Me._ResultContent._vv._externeNr = Left(Me._ResultContent._vv._externeNr, 16)
Me._ResultContent._vv._formatierteNr = Left(Me._ResultContent._vv._formatierteNr, 16)
Me._ResultContent._vv._kontoTyp = Left(Me._ResultContent._vv._kontoTyp, 35)
Me._ResultContent._vv._text = Left(Me._ResultContent._vv._text, 35)
'Spezial, Nr Extern Fix 12 Stellen, wenn kein EBANK
If Not (InStr(Me._ResultContent._vv._externeNr, "EBANK.", CompareMethod.Text)) Then
Do While Len(Me._ResultContent._vv._externeNr) < 12
Me._ResultContent._vv._externeNr = "0" & Me._ResultContent._vv._externeNr
Loop
End If
Catch ex As Exception
m_log.Log("EDKB04: Warning VV, Länge aufbereiten: " & ex.Message, Common.Common.JournalEntryType.Warning)
End Try
Return result
End Function
#End Region
#Region "Datenspeicher"
Class resultHeader
Public _mandant As String
Public _userID As String
Public _Sprache As String
End Class
Class resultContent
Public _partnerNat As partnerNat = New partnerNat
Public _partnerJur As partnerJur = New partnerJur
Public _hauptAdresse As hauptAdresse = New hauptAdresse
Public _versandAdresse As versandAdresse = New versandAdresse
Public _vv As vv = New vv
Public _mitarbeiter As mitarbeiter = New mitarbeiter
End Class
Class partnerNat
Public _status As String = ""
Public _partnerNummer As String = ""
Public _name As String = ""
Public _vorname As String = ""
Public _kurzname As String = ""
Public _geburtsDatum As String = ""
Public _nationalitaet As String = ""
Public _auslaenderstatus As String = ""
Public _sprache As String = ""
Public _sex As String = ""
Public _betreuerId As String = ""
Public _beruf As String = ""
Public _kundenSegment As String = ""
Public _versandInstruktion As String = ""
Public _partnerAbwicklungsformCode As String = ""
Public _domizilCode As String = ""
Public _vipCode As String = ""
Public _ablaufDatum As String = ""
Public _AngestelltenArt As String = ""
'Speziel für DB Edoka
Public __CDVIG00 As String = ""
Public __SAREC00 As String = ""
Public __DMGEBJJ As String = ""
Public __DMGEB00 As String = ""
Public __NRNAT01 As String = ""
Public __saldiert As String = ""
End Class
Class partnerJur
Public _status As String = ""
Public _partnerNummer As String = ""
Public _name As String = ""
Public _kurzname As String = ""
Public _nationalitaet As String = ""
Public _sprache As String = ""
Public _handelRegOrt As String = ""
Public _handelRegDatum As String = ""
Public _betreuerId As String = ""
Public _branche As String = ""
Public _kundenSegment As String = ""
Public _versandInstruktion As String = ""
Public _partnerAbwicklungsformCode As String = ""
Public _domizilCode As String = ""
Public _ablaufDatum As String = ""
Public _vipCode As String = ""
'Speziel für DB Edoka
Public __DMGRD00 As String = ""
Public __DMGRDJJ As String = ""
Public __CDVIG00 As String = ""
Public __SAREC00 As String = ""
Public __NRNAT01 As String = ""
Public __saldiert As String = ""
End Class
Class hauptAdresse
Public _status As String = ""
Public _objektRefNr As String = ""
Public _zeile_1 As String = ""
Public _zeile_2 As String = ""
Public _zeile_3 As String = ""
Public _zeile_4 As String = ""
Public _zeile_5 As String = ""
Public _zeile_6 As String = ""
Public _zeile_7 As String = ""
Public _titelVorgestellt As String = ""
Public _vorname1 As String = ""
Public _vorname2 As String = ""
Public _vorname3 As String = ""
Public _vorname4 As String = ""
Public _titelZwischengestellt As String = ""
Public _nachname As String = ""
Public _namenZusatz As String = ""
Public _titelNachgestellt As String = ""
Public _firma As String = ""
Public _ortZusatz As String = ""
Public _weiler As String = ""
Public _strasse As String = ""
Public _hausNr As String = ""
Public _briefanrede1Code As String = ""
Public _briefanrede1 As String = ""
Public _briefanrede2Zeile1 As String = ""
Public _briefanrede2Zeile2 As String = ""
Public _plz As String = ""
Public _ort As String = ""
Public _land As String = ""
Public _laenderCode As String = ""
Public _kopien As String = ""
Public _banklagernd As String = ""
Public _versandfaehig As String = ""
Public _ablaufDatumAdresse As String = ""
'Speziel für DB Edoka
Public __nrpar00 As String = ""
Public __SAREC00 As String = ""
Public __NachnameUngekuerzt = ""
Public _objektNr As String = ""
Public _BENAM01 As String = ""
Public _BENAM02 As String = ""
Public _BENAM03 As String = ""
Public _BENNM01 As String = ""
Public _BENNM02 As String = ""
End Class
Class versandAdresse
Public _status As String = ""
Public _objektRefTyp As String = ""
Public _objektRefNr As String = ""
Public _objektNr As String = ""
Public _zeile1 As String = ""
Public _zeile2 As String = ""
Public _zeile3 As String = ""
Public _zeile4 As String = ""
Public _zeile5 As String = ""
Public _zeile6 As String = ""
Public _zeile7 As String = ""
Public _adressatzeile1 As String = ""
Public _adressatzeile2 As String = ""
Public _adressatzeile3 As String = ""
Public _plz As String = ""
Public _ort As String = ""
Public _land As String = ""
Public _kopien As String = ""
Public _banklagernd As String = ""
Public _versandfaehig As String = ""
Public _ablaufDatumAdresse As String = ""
'Noch nicht offiziell
Public _briefanrede2Zeile1 As String = ""
Public _briefanrede2Zeile2 As String = ""
'Speziell für EDOKA
Public __SAVRS00 As String = ""
Public __saldiert As String = ""
Public __NRPARAD As String = ""
Public __NRADR00 As String = ""
End Class
Class mitarbeiter
Public _status As String = ""
Public _nameMitarbeiter As String = ""
Public _vornameMitarbeiter As String = ""
Public _idMitarbeiter As String = ""
Public _telMitarbeiter As String = ""
Public _faxMitarbeiter As String = ""
Public _emailMitarbeiter As String = ""
Public _partnerNummerMitarbeiter As String = ""
Public _partnerNummerBankEinheit As String = ""
Public _ablaufDatumMitarbeiter As String = ""
End Class
Class vv
Public _status As String = ""
Public _objektRef As String = ""
Public _nummer As String = ""
Public _text As String = ""
Public _bankEinheitId As String = ""
Public _waehrung As String = ""
Public _produkt As String = ""
Public _kontoGruppe As String = ""
Public _kontoTyp As String = ""
Public _externeNr As String = ""
Public _formatierteNr As String = ""
Public _rubrik As String = ""
Public _produktBezeichnung As String = ""
Public _ausnahmeVI As String = ""
Public _ablaufDatum As String = ""
Public _PartnerNummer As String = ""
Public _kopien As String = ""
'Speziel für DB Edoka
Public __SAREC00 As String = ""
Public __CDVIG00 As String = ""
End Class
Class resultState
Public _status As String
Public _error As String
End Class
#End Region
End Class

View File

@@ -0,0 +1,115 @@
Umbau in Service:
OK Config Datei erstellen + einlesen (MQ Angaben)
OK Journalisierung umbauen form1.log -> bms.log
OK Check der Headerdaten? Mandant, UserID usw? Eher nicht
OK In Service umbauen
OK Handler (oder Timer) für MQ Listening einbauen
OK Scheduler für Update_for_PDA (SAREC nachführen) "Update_for_PDA"
OK Scheduler Spezialhandling partner_saldieren, versandadresse saldieren (NEU) validto2
OK validto2 auf Tabelle partner wieder ausbauen, wird nicht verwendet
OK Mail für Errors prüfen auf INT2
OK VV wenn kontoTyp leer wird produktBezeichnung verwendet
OK Anreden auf 150 Zeichen verlängert
OK Default BetreuerID wenn keine angeliefert + Msg senden + Default nehmen aus Paramter.cfg
OK Jetzt BL Kunde -> AVQ liefert BL NEIN -> In EDOKA bleibt er BL Kunde
OK DB Error ohne anderen Fehler simulieren -- War <Mitarbeiter> Tag
OK System Error suchen -- War nicht erfasster Partner + Lieferung HA
OK "Error Stopper" -- per Parameter.cfg (Lösung bei häufigen Fehlern (>50 MQ Error pro Sekunde oder so)
DB Speichern / Update
OK PartnerNat
OK PartnerJur
OK Hauptadresse
OK Versandadresse
OK Längenprüfung
OK Prüfen Tabelle ams_versandart ob in EDOKA DB verschieben oder 2. Connectionsstring? Wird für Partner.cdvsa00 gebraucht
OK Prüfen Tabelle ams_exemplare ob in EDOKA DB verschieben oder 2. Connectionsstring? NULL
OK Form1: Import bzw. Load nur eines von beiden verwenden in XMLHandling
OK Mutier und Erstelldatum auf allen Tabellen!!
SQL SCRIPT
- Alle Inhalte von av_Partner_Mapping übertragen in Script
OK "etx" Tabellen erweitern + abfragen (Script unter: L:\Sourcecode\EDOKA\_Migration\Release 4.0\Partnerdatenabgleich (BETA))
Transformationen
OK PartnerNat
OK PartnerJur
OK Hauptadresse
OK Versandadresse
OK VV
OK not null Spalten mit 0 oder "" abfüllen
OK TransformationsDB erstellen
OK TransformationsDB abfüllen + abfragen
OK TransformationsDB Abfrage erstellen (Stammdaten.Transform_generic)
OK Kurzname selber zusammenbauen
OK STATUSWERTE AVALOQ: 4 = aktiv, 7 = saldiert
OK In Prod schauen wie Anredenmapping klappt in Hauptadresse
Hilfsabfragen Transformationen
OK etsex
OK Land
OK Diverse Datum Transformationen
Legende:
- = Offen
X = in Bearbeitung
T = in Testphase
OK = Fertig + eingehend (!) getestet
L = Gelöscht bzw. wird nicht umgesetzt
------------------------------------------------------------------------------------
Spezifikationsfragen
Sind nur noch hier um zu "beweisen" was für ein Durcheinander geherrscht hat bei diesem Batch
------------------------------------------------------------------------------------
Abzuklären mit Comit
- Verschiedene Obejkttypen bei VV, welche gebraucht, ev. zusammen fassen? (VV, Produkte, Container, Dokumente)
Diese Obekte sind nicht in Spezifikation!
- Länge von Textfeldern, problematisch wenn hinten abgeschnitten? Wenn ja welche kritisch? Aktuell: Record wird komplett NICHT geschrieben wenn 1 Feld zu lang, Ausnahme VV, wurde funktion erstellt
- Es kommen ganz leere XML Dateien, nicht tragisch (20080424169.xml)
OK Keine Testdaten erhalten "Mitarbeiter" -> Diese wurden vorläufig aus der Spezifikation gestrichen und werden manuell eingepflegt.
Hauptadresse
OK PartnerNr = objektRefNr?
Versandadresse
OK Nur 2 Datensätze erhalten "Versandadresse"
OK PartnerNr = objektRefNr?
VV - VV
OK Mapping korrigieren
- formatierteNr wird falsch angeliefert, es kommt z.b. Fondskonto Swisscanto PF Yield (Maximallänge 16)
OK PartnerNr = objektRefNr?
VV - Container
- Umbau in VV - VV möglich?
- Es kommen komplett leere Datensätze (VVCONT2008042427.xml)
- Es kommen halbe Datensätze (externe Nr OK, formatierte Nr leer)
VV- Document
- Wozu diese Daten, gar nicht verwenden?
- PartnerNr nicht enthalten
VV - Produkte
- Umbau in VV - VV möglich?
- Mapping erstellen?
- PartnerNr nicht enthalten
- Es werden keine Nummern nur Texte angeliefert
- Datum oft '00000000' welches einfüllen? Je nach Feld unterschiedlich? Ignorieren?
Probleme deponiert bei Comit
Schon sehr lange! Angaben zu Stammdaten fehlen (Status = ?? usw. Liste in Excel Mapping)

View File

@@ -0,0 +1,177 @@
Imports System.IO
Imports System.Xml
Imports System.Xml.Schema
Module XMLHandling
#Region "Members"
Private _validationSuccess As Boolean
#End Region
Public Stamm1 As Stammdaten
#Region "Public Functions"
Public Function Load(ByVal strData As String) As Boolean
Dim result As Boolean = True
Try
'----Read Data----
If result Then
Dim doc As New XmlDocument()
doc.LoadXml(strData)
Stamm1 = New Stammdaten
If Not (Stamm1.fill(doc)) Then
m_log.Log("EDKB04: Fehler beim Einlesen des XML", Common.Common.JournalEntryType.Error)
result = False
End If
End If
'----VALIDIERUNG----
If result Then
'm_log.Log("EDKB04: Validierung START", Common.Common.JournalEntryType.Information)
'-----HEADER-----
If Not Stamm1.HasResultHeader Then
result = False
m_log.Log("EDKB04: Kein ResultHeader in XML vorhanden", Common.Common.JournalEntryType.Error)
End If
'-----PartnerNAT-----
If result And Stamm1.HasPartnerNat Then
If Stamm1._ResultContent._partnerNat._partnerNummer = "" Then
Stamm1.HasPartnerNat = False
result = False
m_log.Log("EDKB04: Fehler in PartnerNat, keine Partnernummer", Common.Common.JournalEntryType.Error)
End If
End If
'-----PartnerJUR-----
If result And Stamm1.HasPartnerJur Then
If Stamm1._ResultContent._partnerJur._partnerNummer = "" Then
Stamm1.HasPartnerJur = False
result = False
m_log.Log("EDKB04: Fehler in PartnerJur, keine Partnernummer", Common.Common.JournalEntryType.Error)
End If
End If
'-----PartnerHauptadresse-----
If result And Stamm1.HasHauptadresse Then
If Stamm1._ResultContent._hauptAdresse._objektRefNr = "" Then
Stamm1.HasHauptadresse = False
result = False
m_log.Log("EDKB04: Fehler in Hauptadresse, keine Partnernummer", Common.Common.JournalEntryType.Error)
End If
End If
'-----Versandadresse-----
If result And Stamm1.HasVersandadresse Then
If Stamm1._ResultContent._versandAdresse._objektRefNr = "" Then
Stamm1.HasVersandadresse = False
result = False
m_log.Log("EDKB04: Fehler in VersandAdresse, keine Partnernummer", Common.Common.JournalEntryType.Error)
End If
If result And Stamm1._ResultContent._versandAdresse._objektNr = "" Then
Stamm1.HasVersandadresse = False
result = False
m_log.Log("EDKB04: Fehler in VersandAdresse, keine objektNr (Bezug zu Partnernummer Versandadresse)", Common.Common.JournalEntryType.Error)
End If
End If
'-----Mitarbeiter-----
'-----VV-----
If result And Stamm1.HasVV Then
If Stamm1._ResultContent._vv._PartnerNummer = "" Then
Stamm1.HasVV = False
result = False
m_log.Log("EDKB04: Fehler in VV, keine Partnernummer", Common.Common.JournalEntryType.Error)
End If
End If
If result Then
'm_log.Log("EDKB04: Validierung ENDE OK", Common.Common.JournalEntryType.Information)
Else
m_log.Log("EDKB04: Validierung ENDE NOK", Common.Common.JournalEntryType.Error)
End If
End If
Catch ex As Exception
m_log.Log("EDKB04: Error Load: " & ex.Message, Common.Common.JournalEntryType.Error)
result = False
End Try
Return result
End Function
#End Region
#Region "Private Functions"
Private Function IsValid(ByVal xmlImportFile As FileInfo) As Boolean
Try
'First we create the xmltextreader
Dim reader As New XmlTextReader(xmlImportFile.FullName)
'We pass the xmltextreader into the xmlvalidatingreader
'This will validate the xml doc with the schema file
'NOTE the xml file it self points to the schema file
Dim validator As New XmlValidatingReader(reader)
' Set the validation event handler
AddHandler validator.ValidationEventHandler, _
AddressOf ValidationCallback
_validationSuccess = True 'make sure to reset the success var
' Read XML data
While (validator.Read)
End While
'Close the reader.
validator.Close()
reader.Close()
'The validationeventhandler is the only thing that would
'set m_Success to false
Return _validationSuccess
Catch ex As Exception
_validationSuccess = False
Return _validationSuccess
'Throw ex
End Try
End Function
Private Function IsValid(ByVal strData As String) As Boolean
Try
'First we create the xmltextreader
Dim reader As New XmlTextReader(strData)
'We pass the xmltextreader into the xmlvalidatingreader
'This will validate the xml doc with the schema file
'NOTE the xml file it self points to the schema file
Dim validator As New XmlValidatingReader(reader)
' Set the validation event handler
AddHandler validator.ValidationEventHandler, _
AddressOf ValidationCallback
_validationSuccess = True 'make sure to reset the success var
' Read XML data
While (validator.Read)
End While
'Close the reader.
validator.Close()
reader.Close()
'The validationeventhandler is the only thing that would
'set m_Success to false
Return _validationSuccess
Catch ex As Exception
_validationSuccess = False
Return _validationSuccess
'Throw ex
End Try
End Function
Private Sub ValidationCallback(ByVal sender As Object, ByVal args As ValidationEventArgs)
Try
'Display the validation error. This is only called on error
_validationSuccess = False 'Validation failed
m_log.Log("EDKB04: Validation error: " + args.Message + Environment.NewLine, Common.Common.JournalEntryType.Error)
Catch ex As Exception
Throw ex
End Try
End Sub
#End Region
End Module

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
EDKB04
</name>
</assembly>
<members>
<member name="M:EDKB04.DBHandling.hlp_Check_Saldierung(System.String,System.String)">
<summary>
Prüfung, ob eine Partnersaldierung sofort oder erst in Zukunft durchgeführt werden soll
</summary>
<param name="instr"></param>
<param name="Status"></param>
<returns></returns>
<remarks></remarks>
<version>Version 1.6 / 23.10.2008</version>
</member><member name="T:EDKB04.DBHandling">
<summary></summary>
<version>Version 1.6 / 23.10.2008</version>
</member>
</members>
</doc>

View File

@@ -0,0 +1,123 @@
Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe wird deinstalliert.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog
Die EventLog-Quelle EDKB04 wird entfernt.
Der Dienst EDKB04 wird vom System entfernt...
Dienst EDKB04 wurde vom System entfernt.
Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe wird installiert.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog
Dienst EDKB04 wird installiert...
Dienst EDKB04 wurde installiert.
Die EventLog-Quelle EDKB04 im Protokoll Application wird erstellt...
Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe wird ausgeführt.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog
Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe wird deinstalliert.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog
Die EventLog-Quelle EDKB04 wird entfernt.
Der Dienst EDKB04 wird vom System entfernt...
Dienst EDKB04 wurde vom System entfernt.
Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe wird installiert.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog
Dienst EDKB04 wird installiert...
Dienst EDKB04 wurde installiert.
Die EventLog-Quelle EDKB04 im Protokoll Application wird erstellt...
Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe wird ausgeführt.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog
Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe wird deinstalliert.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog
Die EventLog-Quelle EDKB04 wird entfernt.
Der Dienst EDKB04 wird vom System entfernt...
Dienst EDKB04 wurde vom System entfernt.
Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe wird installiert.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog
Dienst EDKB04 wird installiert...
Dienst EDKB04 wurde installiert.
Die EventLog-Quelle EDKB04 im Protokoll Application wird erstellt...
Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe wird ausgeführt.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog
Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe wird deinstalliert.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog
Die EventLog-Quelle EDKB04 wird entfernt.
Der Dienst EDKB04 wird vom System entfernt...
Dienst EDKB04 wurde vom System entfernt.
Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe wird installiert.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog
Dienst EDKB04 wird installiert...
Dienst EDKB04 wurde installiert.
Die EventLog-Quelle EDKB04 im Protokoll Application wird erstellt...
Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe wird ausgeführt.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog
Assembly C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe wird installiert.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.InstallLog
Dienst EDKB04 wird installiert...
Die EventLog-Quelle EDKB04 im Protokoll Application wird erstellt...
Assembly C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe wird zurückgesetzt.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.InstallLog
Der vorherige Zustand des Ereignisprotokolls für die Quelle EDKB04 wird wiederhergestellt.
Assembly C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe wird installiert.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.InstallLog
Dienst EDKB04 wird installiert...
Die EventLog-Quelle EDKB04 im Protokoll Application wird erstellt...
Assembly C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe wird zurückgesetzt.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.InstallLog
Der vorherige Zustand des Ereignisprotokolls für die Quelle EDKB04 wird wiederhergestellt.
Assembly C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe wird installiert.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.InstallLog
Dienst EDKB04 wird installiert...
Dienst EDKB04 wurde installiert.
Die EventLog-Quelle EDKB04 im Protokoll Application wird erstellt...
Assembly C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe wird ausgeführt.
Betroffene Parameter:
logtoconsole =
assemblypath = C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe
logfile = C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.InstallLog

View File

@@ -0,0 +1,113 @@
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<a1:Hashtable id="ref-1" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
<LoadFactor>0.72</LoadFactor>
<Version>2</Version>
<Comparer xsi:null="1"/>
<HashCodeProvider xsi:null="1"/>
<HashSize>11</HashSize>
<Keys href="#ref-2"/>
<Values href="#ref-3"/>
</a1:Hashtable>
<SOAP-ENC:Array id="ref-2" SOAP-ENC:arrayType="xsd:anyType[2]">
<item id="ref-4" xsi:type="SOAP-ENC:string">_reserved_nestedSavedStates</item>
<item id="ref-5" xsi:type="SOAP-ENC:string">_reserved_lastInstallerAttempted</item>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-3" SOAP-ENC:arrayType="xsd:anyType[2]">
<item href="#ref-6"/>
<item xsi:type="xsd:int">0</item>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-6" SOAP-ENC:arrayType="a1:IDictionary[1]" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
<item href="#ref-7"/>
</SOAP-ENC:Array>
<a1:Hashtable id="ref-7" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
<LoadFactor>0.72</LoadFactor>
<Version>2</Version>
<Comparer xsi:null="1"/>
<HashCodeProvider xsi:null="1"/>
<HashSize>11</HashSize>
<Keys href="#ref-8"/>
<Values href="#ref-9"/>
</a1:Hashtable>
<SOAP-ENC:Array id="ref-8" SOAP-ENC:arrayType="xsd:anyType[2]">
<item href="#ref-4"/>
<item href="#ref-5"/>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-9" SOAP-ENC:arrayType="xsd:anyType[2]">
<item href="#ref-10"/>
<item xsi:type="xsd:int">0</item>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-10" SOAP-ENC:arrayType="a1:IDictionary[1]" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
<item href="#ref-11"/>
</SOAP-ENC:Array>
<a1:Hashtable id="ref-11" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
<LoadFactor>0.72</LoadFactor>
<Version>3</Version>
<Comparer xsi:null="1"/>
<HashCodeProvider xsi:null="1"/>
<HashSize>11</HashSize>
<Keys href="#ref-12"/>
<Values href="#ref-13"/>
</a1:Hashtable>
<SOAP-ENC:Array id="ref-12" SOAP-ENC:arrayType="xsd:anyType[3]">
<item href="#ref-4"/>
<item id="ref-14" xsi:type="SOAP-ENC:string">Account</item>
<item href="#ref-5"/>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-13" SOAP-ENC:arrayType="xsd:anyType[3]">
<item href="#ref-15"/>
<item xsi:type="a3:ServiceAccount" xmlns:a3="http://schemas.microsoft.com/clr/nsassem/System.ServiceProcess/System.ServiceProcess%2C%20Version%3D2.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3Db03f5f7f11d50a3a">LocalSystem</item>
<item xsi:type="xsd:int">0</item>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-15" SOAP-ENC:arrayType="a1:IDictionary[1]" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
<item href="#ref-17"/>
</SOAP-ENC:Array>
<a1:Hashtable id="ref-17" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
<LoadFactor>0.72</LoadFactor>
<Version>3</Version>
<Comparer xsi:null="1"/>
<HashCodeProvider xsi:null="1"/>
<HashSize>11</HashSize>
<Keys href="#ref-18"/>
<Values href="#ref-19"/>
</a1:Hashtable>
<SOAP-ENC:Array id="ref-18" SOAP-ENC:arrayType="xsd:anyType[3]">
<item href="#ref-4"/>
<item id="ref-20" xsi:type="SOAP-ENC:string">installed</item>
<item href="#ref-5"/>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-19" SOAP-ENC:arrayType="xsd:anyType[3]">
<item href="#ref-21"/>
<item xsi:type="xsd:boolean">true</item>
<item xsi:type="xsd:int">0</item>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-21" SOAP-ENC:arrayType="a1:IDictionary[1]" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
<item href="#ref-22"/>
</SOAP-ENC:Array>
<a1:Hashtable id="ref-22" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
<LoadFactor>0.72</LoadFactor>
<Version>5</Version>
<Comparer xsi:null="1"/>
<HashCodeProvider xsi:null="1"/>
<HashSize>11</HashSize>
<Keys href="#ref-23"/>
<Values href="#ref-24"/>
</a1:Hashtable>
<SOAP-ENC:Array id="ref-23" SOAP-ENC:arrayType="xsd:anyType[5]">
<item id="ref-25" xsi:type="SOAP-ENC:string">logExists</item>
<item href="#ref-4"/>
<item id="ref-26" xsi:type="SOAP-ENC:string">alreadyRegistered</item>
<item id="ref-27" xsi:type="SOAP-ENC:string">baseInstalledAndPlatformOK</item>
<item href="#ref-5"/>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-24" SOAP-ENC:arrayType="xsd:anyType[5]">
<item xsi:type="xsd:boolean">true</item>
<item href="#ref-28"/>
<item xsi:type="xsd:boolean">false</item>
<item xsi:type="xsd:boolean">true</item>
<item xsi:type="xsd:int">-1</item>
</SOAP-ENC:Array>
<SOAP-ENC:Array id="ref-28" SOAP-ENC:arrayType="a1:IDictionary[0]" xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Collections">
</SOAP-ENC:Array>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,16 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB9-8B4A-11D0-8D11-00A0C91BC942}") = "EDKB04.exe", "EDKB04.exe", "{4CA25140-1CCF-499E-9D7D-03DB26DFB2B6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Default = Debug|Default
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4CA25140-1CCF-499E-9D7D-03DB26DFB2B6}.Debug|Default.ActiveCfg = Debug
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

View File

@@ -0,0 +1,23 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>
EDKB04
</name>
</assembly>
<members>
<member name="M:EDKB04.DBHandling.hlp_Check_Saldierung(System.String,System.String)">
<summary>
Prüfung, ob eine Partnersaldierung sofort oder erst in Zukunft durchgeführt werden soll
</summary>
<param name="instr"></param>
<param name="Status"></param>
<returns></returns>
<remarks></remarks>
<version>Version 1.6 / 23.10.2008</version>
</member><member name="T:EDKB04.DBHandling">
<summary></summary>
<version>Version 1.6 / 23.10.2008</version>
</member>
</members>
</doc>

View File

@@ -0,0 +1 @@
Data Source=server02;Initial Catalog=edoka;Persist Security Info=False;workstation id =;packet size=4096;User ID=tgedoka;Password=$tgedoka11

View File

@@ -0,0 +1 @@
Data Source=TGCEDOKADB01.TGCORP.CH\NM02,1435;Initial Catalog=edoka;Persist Security Info=False;workstation id =;packet size=4096;User ID=tgedoka;Password=$tgedoka33c

View File

@@ -0,0 +1,132 @@
Die Deinstallation wurde gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Deinstallation ist abgeschlossen.
Eine transaktive Installation wird ausgeführt.
Die Installationsphase wird gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Installationsphase ist abgeschlossen, und die Commitphase beginnt.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Commitphase wurde erfolgreich abgeschlossen.
Die transaktive Installation ist abgeschlossen.
Die Deinstallation wurde gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Deinstallation ist abgeschlossen.
Eine transaktive Installation wird ausgeführt.
Die Installationsphase wird gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Installationsphase ist abgeschlossen, und die Commitphase beginnt.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Commitphase wurde erfolgreich abgeschlossen.
Die transaktive Installation ist abgeschlossen.
Die Deinstallation wurde gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Deinstallation ist abgeschlossen.
Eine transaktive Installation wird ausgeführt.
Die Installationsphase wird gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Installationsphase ist abgeschlossen, und die Commitphase beginnt.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Commitphase wurde erfolgreich abgeschlossen.
Die transaktive Installation ist abgeschlossen.
Die Deinstallation wurde gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Deinstallation ist abgeschlossen.
Eine transaktive Installation wird ausgeführt.
Die Installationsphase wird gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Installationsphase ist abgeschlossen, und die Commitphase beginnt.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Dokumente und Einstellungen\rglarner\Eigene Dateien\Visual Studio 2005\Projects\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Commitphase wurde erfolgreich abgeschlossen.
Die transaktive Installation ist abgeschlossen.
Eine transaktive Installation wird ausgeführt.
Die Installationsphase wird gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Während der Installationsphase ist eine Ausnahme aufgetreten.
System.ComponentModel.Win32Exception: Der angegebene Dienst wurde zum Löschen markiert
Die Rollbackphase der Installation wird gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Rollbackphase wurde erfolgreich abgeschlossen.
Die transaktive Installation ist abgeschlossen.
Eine transaktive Installation wird ausgeführt.
Die Installationsphase wird gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Während der Installationsphase ist eine Ausnahme aufgetreten.
System.ComponentModel.Win32Exception: Der angegebene Dienst wurde zum Löschen markiert
Die Rollbackphase der Installation wird gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Rollbackphase wurde erfolgreich abgeschlossen.
Die transaktive Installation ist abgeschlossen.
Eine transaktive Installation wird ausgeführt.
Die Installationsphase wird gestartet.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Installationsphase ist abgeschlossen, und die Commitphase beginnt.
Die Protokolldatei enthält den Fortschritt der Assembly C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe.
Die Datei befindet sich in C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.InstallLog.
Die Commitphase wurde erfolgreich abgeschlossen.
Die transaktive Installation ist abgeschlossen.

Binary file not shown.

View File

@@ -0,0 +1 @@
data source=server01;initial catalog=tgdata;integrated security=SSPI;persist security info=false;workstation id=;packet size=4096;user id=tgedoka;password=$tgedoka11

Binary file not shown.

View File

@@ -0,0 +1 @@
¹µÈ¦rȽ¹¿¸ª‰¿ªÄ¾ºÆ„v¾¼­Á¾¦¸l¨³¼¶À쏈Ū¾¿®Å¼uǹ¨ÇÇ·¸Æu®º²´Ž¶ÀǪÌ½¶¸È¹­À®Á¶u½¸Å¯§¸º¹l¿®Ì­ˆ„~ˆÃ·²Çeµ°Æ¯·Áǀ¶Á·ÄÄ·°‰iƯ·ÁÇvƒ

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8" ?>
<root>
<config>
<!-- The maximum duration a start job can take before a starter error occures -->
<MaximumStartDuration>1</MaximumStartDuration>
<!-- Check interval in minutes for starter -->
<StartJobInterval>2</StartJobInterval>
<!-- Check interval in minutes for watcher -->
<WatchJobInterval>2</WatchJobInterval>
<!-- The number of Starter-Errors notifications should be activated until the job runs successful next time -->
<MaxStarterNotifications>2</MaxStarterNotifications>
<!-- The number of Watch-Errors notifications should be activated until the job runs successful next time -->
<MaxWatcherNotifications>3</MaxWatcherNotifications>
<!-- Name of the system event log where service should write his entries -->
<EventLogName>BMS</EventLogName>
<!-- The target where messages should be written to.
Valid log targets are:
- 1: System EventLog
- 2: Database EventLog table
-->
<LogTarget>1</LogTarget>
<!-- Mail Server to send eMails from BMS -->
<MailServer>server01</MailServer>
<!-- Mail sender name -->
<MailFrom>bms@tkb.ch</MailFrom>
<!-- Mail Server authentication method.
Valid methods are:
- 0: Anonymous
- 1: Basic Authentication (clear text authentication!)
-->
<MailServerAuth>
<Method>0</Method>
<UserName>mailUser</UserName>
<Password>mailPassword</Password>
</MailServerAuth>
</config>
</root>

View File

@@ -0,0 +1 @@
Data Source=server02;Initial Catalog=edoka;Persist Security Info=False;workstation id =;packet size=4096;User ID=tgedoka;Password=$tgedoka11

View File

@@ -0,0 +1,2 @@
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe "C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe"
pause

View File

@@ -0,0 +1 @@
data source=TGCEDOKABB01.TGCORP.CH\NM01,1434;initial catalog=edoka_journale;integrated security=SSPI;persist security info=false;workstation id=;packet size=4096;user id=tgedoka;password=$tgedoka33c

View File

@@ -0,0 +1,16 @@
MQHostname =vb0049d
MQPort =1416
MQChannel =TGKB.D16.EDOKA.CL
MQQueueName =test
SqlTimeOut =500000
CDMUTER =EDKB04
MuterNr =9996
WatchDir =C:\Data\EDKB04\
TimerIntervall =0
Loop =false
Debugmode =true
DebugDir =C:\Data\EDKB04\Archiv\
DefaultBetreuerID =1166755
nb_Errors =10
nb_seconds =10
len_TXADZ =35

View File

@@ -0,0 +1,15 @@
MQHostname =vb0049d
MQPort =1416
MQChannel =TGKB.D16.EDOKA.CL
MQQueueName =test
SqlTimeOut =500000
CDMUTER =EDKB04
MuterNr =9996
WatchDir =C:\Data\EDKB04\
TimerIntervall =0
Loop =false
Debugmode =true
DebugDir =C:\Data\EDKB04\Archiv\
DefaultBetreuerID =1166755
nb_Errors =10
nb_seconds =10

View File

@@ -0,0 +1,2 @@
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe "C:\Data\Edoka_FW3\EDKB04\EDKB04\bin\EDKB04.exe" /u
pause

View File

@@ -0,0 +1,215 @@
Public Class ClsParameter
#Region "Deklarationen"
Dim p_MQHostname As String
Public Property MQHostname() As String
Get
Return p_MQHostname
End Get
Set(ByVal value As String)
p_MQHostname = value
End Set
End Property
Dim p_MQPort As String
Public Property MQPort() As String
Get
Return p_MQPort
End Get
Set(ByVal value As String)
p_MQPort = value
End Set
End Property
Dim p_MQChannel As String
Public Property MQChannel() As String
Get
Return p_MQChannel
End Get
Set(ByVal value As String)
p_MQChannel = value
End Set
End Property
Dim p_MQQueueName As String
Public Property MQQueueName() As String
Get
Return p_MQQueueName
End Get
Set(ByVal value As String)
p_MQQueueName = value
End Set
End Property
Dim p_SqlTimeout As String
Public Property SqlTimeout() As String
Get
Return p_SqlTimeout
End Get
Set(ByVal value As String)
p_SqlTimeout = value
End Set
End Property
Dim p_CDMuter As String
Public Property CDMuter() As String
Get
Return p_CDMuter
End Get
Set(ByVal value As String)
p_CDMuter = value
End Set
End Property
Dim p_MuterNr As String
Public Property MuterNr() As String
Get
Return p_MuterNr
End Get
Set(ByVal value As String)
p_MuterNr = value
End Set
End Property
Dim p_Watchdir As String
Public Property Watchdir() As String
Get
Return p_Watchdir
End Get
Set(ByVal value As String)
p_Watchdir = value
End Set
End Property
Dim p_TimerInterval As String
Public Property TimerInterval() As String
Get
Return p_TimerInterval
End Get
Set(ByVal value As String)
p_TimerInterval = value
End Set
End Property
Dim p_LoopQueue As String
Public Property LoopQueue() As String
Get
Return p_LoopQueue
End Get
Set(ByVal value As String)
p_LoopQueue = value
End Set
End Property
Dim p_DebugMode As Boolean
Public Property DebugMode() As Boolean
Get
Return p_DebugMode
End Get
Set(ByVal value As Boolean)
p_DebugMode = value
End Set
End Property
Dim p_DebugDir As String
Public Property DebugDir() As String
Get
Return p_DebugDir
End Get
Set(ByVal value As String)
p_DebugDir = value
End Set
End Property
Dim p_DefaultBetreuerID As String
Public Property DefaultBetreuerID() As String
Get
Return p_DefaultBetreuerID
End Get
Set(ByVal value As String)
p_DefaultBetreuerID = value
End Set
End Property
Dim p_nb_errors As Integer
Public Property nb_errors() As Integer
Get
Return p_nb_errors
End Get
Set(ByVal value As Integer)
p_nb_errors = value
End Set
End Property
Dim p_nb_seconds As Integer
Public Property nb_seconds() As Integer
Get
Return p_nb_seconds
End Get
Set(ByVal value As Integer)
p_nb_seconds = value
End Set
End Property
Dim p_len_TXADZ As Integer
Public Property len_TXADZ() As Integer
Get
Return p_len_TXADZ
End Get
Set(ByVal value As Integer)
p_len_TXADZ = value
End Set
End Property
#End Region
Public Function Loadparameters() As String
Try
m_log.Log("EDKB04: Loading Parameters", Common.Common.JournalEntryType.Information)
oread = IO.File.OpenText(appPath & "parameter.cfg")
Me.p_MQHostname = ParamValue(oread.ReadLine)
Me.p_MQPort = ParamValue(oread.ReadLine)
Me.p_MQChannel = ParamValue(oread.ReadLine)
Me.p_MQQueueName = ParamValue(oread.ReadLine)
Me.p_SqlTimeout = ParamValue(oread.ReadLine)
Me.p_CDMuter = ParamValue(oread.ReadLine)
Me.p_MuterNr = ParamValue(oread.ReadLine)
Me.p_Watchdir = ParamValue(oread.ReadLine)
Me.p_TimerInterval = ParamValue(oread.ReadLine)
Me.p_LoopQueue = ParamValue(oread.ReadLine)
Me.p_DebugMode = CBool(ParamValue(oread.ReadLine))
Me.p_DebugDir = ParamValue(oread.ReadLine)
Me.p_DefaultBetreuerID = ParamValue(oread.ReadLine)
Try
Me.p_nb_errors = CInt(ParamValue(oread.ReadLine))
Catch ex As Exception
' Keine Zahl
Me.p_nb_errors = 999999
End Try
Try
Me.p_nb_seconds = CInt(ParamValue(oread.ReadLine))
Catch ex As Exception
'Keine Zahl
Me.p_nb_seconds = 1
End Try
Try
Me.p_len_TXADZ = CInt(ParamValue(oread.ReadLine))
Catch ex As Exception
'Keine Zahl
Me.p_len_TXADZ = 35
End Try
oread.Close()
m_log.Log("EDKB04: Loading Parameters Ended", Common.Common.JournalEntryType.Information)
Return ""
Catch ex As Exception
m_log.Log("EDKB04: Error Loading Params: " & ex.Message, Common.Common.JournalEntryType.Error)
Return ex.Message
End Try
End Function
Private Function ParamValue(ByVal sinput As String) As String
Dim splitter() As String
splitter = Split(sinput, "=")
ParamValue = splitter(1)
End Function
End Class

View File

@@ -0,0 +1,289 @@
' ///////////////////////////////////////////////////////////////////////////
' // Description: Connection Provider class for Database connection sharing
' // Generated by LLBLGen v1.2.1045.38210 Final on: Sonntag, 18. Mai 2003, 00:06:25
' // This class implements IDisposable.
' ///////////////////////////////////////////////////////////////////////////
Imports System
Imports System.Configuration
Imports System.Data
Imports System.Data.SqlClient
Imports System.Collections
Namespace edokadb
' /// <summary>
' /// Purpose: provides a SqlConnection object which can be shared among data-access tier objects
' /// to provide a way to do ADO.NET transaction coding without the hassling with SqlConnection objects
' /// on a high level.
' /// </summary>
Public Class clsConnectionProvider
Implements IDisposable
#Region " Class Member Declarations "
Private m_scoDBConnection As SqlConnection
Private m_bIsTransactionPending, m_bIsDisposed As Boolean
Private m_stCurrentTransaction As SqlTransaction
Private m_alSavePoints As ArrayList
#End Region
Public Sub New()
' // Init the class
InitClass()
End Sub
' /// <summary>
' /// Purpose: Implements the IDispose' method Dispose.
' /// </summary>
Public Overloads Sub Dispose() Implements IDisposable.Dispose
Dispose(True)
GC.SuppressFinalize(Me)
End Sub
' /// <summary>
' /// Purpose: Implements the Dispose functionality.
' /// </summary>
Protected Overridable Overloads Sub Dispose(ByVal bIsDisposing As Boolean)
' // Check to see if Dispose has already been called.
If Not m_bIsDisposed Then
If bIsDisposing Then
' // Dispose managed resources.
If Not (m_stCurrentTransaction Is Nothing) Then
m_stCurrentTransaction.Dispose()
m_stCurrentTransaction = Nothing
End If
If Not (m_scoDBConnection Is Nothing) Then
' // closing the connection will abort (rollback) any pending transactions
m_scoDBConnection.Close()
m_scoDBConnection.Dispose()
m_scoDBConnection = Nothing
End If
End If
End If
m_bIsDisposed = True
End Sub
' /// <summary>
' /// Purpose: Initializes class members.
' /// </summary>
Private Sub InitClass()
' // Create all the objects and initialize other members.
m_scoDBConnection = New SqlConnection()
m_bIsDisposed = False
m_stCurrentTransaction = Nothing
m_bIsTransactionPending = False
m_alSavePoints = New ArrayList()
End Sub
' /// <summary>
' /// Purpose: Opens the connection object.
' /// </summary>
' /// <returns>True, if succeeded, otherwise an Exception exception is thrown.</returns>
Public Function OpenConnection() As Boolean
Try
If (m_scoDBConnection.State And ConnectionState.Open) > 0 Then
' // It's already open.
Throw New Exception("OpenConnection::Connection is already open.")
End If
m_scoDBConnection.Open()
m_bIsTransactionPending = False
m_alSavePoints.Clear()
Return True
Catch ex As Exception
' // bubble exception
Throw ex
End Try
End Function
' /// <summary>
' /// Purpose: Starts a new ADO.NET transaction using the open connection object of this class.
' /// </summary>
' /// <param name="sTransactionName">Name of the transaction to start</param>
' /// <returns>True, if transaction is started correctly, otherwise an Exception exception is thrown</returns>
Public Function BeginTransaction(ByVal sTransactionName As String) As Boolean
Try
If m_bIsTransactionPending Then
' // no nested transactions allowed.
Throw New Exception("BeginTransaction::Already transaction pending. Nesting not allowed")
End If
If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then
' // no open connection
Throw New Exception("BeginTransaction::Connection is not open.")
End If
' // begin the transaction and store the transaction object.
m_stCurrentTransaction = m_scoDBConnection.BeginTransaction(IsolationLevel.ReadCommitted, sTransactionName)
m_bIsTransactionPending = True
Return True
Catch ex As Exception
' // bubble exception
Throw ex
End Try
End Function
' /// <summary>
' /// Purpose: Commits a pending transaction on the open connection object of this class.
' /// </summary>
' /// <returns>True, if commit was succesful, or an Exception exception is thrown</returns>
Public Function CommitTransaction() As Boolean
Try
If Not m_bIsTransactionPending Then
' // no transaction pending
Throw New Exception("CommitTransaction::No transaction pending.")
End If
If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then
' // no open connection
Throw New Exception("CommitTransaction::Connection is not open.")
End If
' // commit the transaction
m_stCurrentTransaction.Commit()
m_bIsTransactionPending = False
m_stCurrentTransaction.Dispose()
m_stCurrentTransaction = Nothing
m_alSavePoints.Clear()
Return True
Catch ex As Exception
' // bubble exception
Throw ex
End Try
End Function
' /// <summary>
' /// Purpose: Rolls back a pending transaction on the open connection object of this class,
' /// or rolls back to the savepoint with the given name. Savepoints are created with SaveTransaction().
' /// </summary>
' /// <param name="sTransactionToRollback">Name of transaction to roll back. Can be name of savepoint</param>
' /// <returns>True, if rollback was succesful, or an Exception exception is thrown</returns>
Public Function RollbackTransaction(ByVal sTransactionToRollback As String) As Boolean
Try
If Not m_bIsTransactionPending Then
' // no transaction pending
Throw New Exception("RollbackTransaction::No transaction pending.")
End If
If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then
' // no open connection
Throw New Exception("RollbackTransaction::Connection is not open.")
End If
' // rollback the transaction
m_stCurrentTransaction.Rollback(sTransactionToRollback)
' // if this wasn't a savepoint, we've rolled back the complete transaction, so we
' // can clean it up.
If Not m_alSavePoints.Contains(sTransactionToRollback) Then
' // it's not a savepoint
m_bIsTransactionPending = False
m_stCurrentTransaction.Dispose()
m_stCurrentTransaction = Nothing
m_alSavePoints.Clear()
End If
Return True
Catch ex As Exception
' // bubble exception
Throw ex
End Try
End Function
' /// <summary>
' /// Purpose: Saves a pending transaction on the open connection object of this class to a 'savepoint'
' /// with the given name.
' /// When a rollback is issued, the caller can rollback to this savepoint or roll back the complete transaction.
' /// </summary>
' /// <param name="sSavePointName">Name of the savepoint to store the current transaction under.</param>
' /// <returns>True, if save was succesful, or an Exception exception is thrown</returns>
Public Function SaveTransaction(ByVal sSavePointName As String) As Boolean
Try
If Not m_bIsTransactionPending Then
' // no transaction pending
Throw New Exception("SaveTransaction::No transaction pending.")
End If
If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then
' // no open connection
Throw New Exception("SaveTransaction::Connection is not open.")
End If
' // save the transaction
m_stCurrentTransaction.Save(sSavePointName)
' // Store the savepoint in the list.
m_alSavePoints.Add(sSavePointName)
Return True
Catch ex As Exception
' // bubble exception
Throw ex
End Try
End Function
' /// <summary>
' /// Purpose: Closes the open connection. Depending on bCommitPendingTransactions, a pending
' /// transaction is commited, or aborted.
' /// </summary>
' /// <param name="bCommitPendingTransaction">Flag for what to do when a transaction is still pending. True
' /// will commit the current transaction, False will abort (rollback) the complete current transaction.</param>
' /// <returns>True, if close was succesful, False if connection was already closed, or an Exception exception is thrown when
' /// an error occurs</returns>
Public Function CloseConnection(ByVal bCommitPendingTransaction As Boolean) As Boolean
Try
If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then
' // No open connection
Return False
End If
If m_bIsTransactionPending Then
If bCommitPendingTransaction Then
' // Commit the pending transaction
m_stCurrentTransaction.Commit()
Else
' // Rollback the pending transaction
m_stCurrentTransaction.Rollback()
End If
m_bIsTransactionPending = False
m_stCurrentTransaction.Dispose()
m_stCurrentTransaction = Nothing
m_alSavePoints.Clear()
End If
' // close the connection
m_scoDBConnection.Close()
Return True
Catch ex As Exception
' // bubble exception
Throw ex
End Try
End Function
#Region " Class Property Declarations "
Public ReadOnly Property stCurrentTransaction() As SqlTransaction
Get
Return m_stCurrentTransaction
End Get
End Property
Public ReadOnly Property bIsTransactionPending() As Boolean
Get
Return m_bIsTransactionPending
End Get
End Property
Public ReadOnly Property scoDBConnection() As SqlConnection
Get
Return m_scoDBConnection
End Get
End Property
Public WriteOnly Property sConnectionString() As String
Set(ByVal Value As String)
m_scoDBConnection.ConnectionString = Value
End Set
End Property
#End Region
End Class
End Namespace

View File

@@ -0,0 +1,36 @@
Imports System.ComponentModel
Imports Microsoft.VisualBasic
Public Class DB_Connection
Shared Sub New()
Try
'Edoka
oread = IO.File.OpenText(appPath + "edokaconn.cfg")
sConnectionString_edoka = oread.ReadLine
Globals.sConnectionString_edoka = sConnectionString_edoka
oread.Close()
'Journale
oread = IO.File.OpenText(appPath + "journaleconn.cfg")
sConnectionString_journale = oread.ReadLine
Globals.sConnectionString_journale = sConnectionString_journale
oread.Close()
''tgdata
'oread = IO.File.OpenText(appPath + "tgdataconn.cfg")
'sConnectionString_tgdata = oread.ReadLine
'Globals.sConnectionString_tgdata = sConnectionString_tgdata
'oread.Close()
Globals.conn_edoka.sConnectionString = sConnectionString_edoka
Globals.conn_journale.sConnectionString = sConnectionString_journale
'Globals.conn_tgdata.sConnectionString = sConnectionString_tgdata
m_log.Log("EDKB04: DB-Connection OK", Common.Common.JournalEntryType.Information)
Catch ex As Exception
m_log.Log(ex.Message, Common.Common.JournalEntryType.Error)
End Try
End Sub
End Class

View File

@@ -0,0 +1,5 @@
SCC = This is a Source Code Control file
[EDKB04.vbproj]
SCC_Aux_Path = "\\SERVER01\DATEN\SourceSave\EDOKA4.0"
SCC_Project_Name = "$/EDKB04/EDKB04", MLDAAAAA

Binary file not shown.

Binary file not shown.

Binary file not shown.

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