diff --git a/ADMIN.sln b/ADMIN.sln
index 5924932..36b8731 100644
--- a/ADMIN.sln
+++ b/ADMIN.sln
@@ -21,8 +21,6 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MailSender", "MailSender\Ma
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ATILLA_Speditionsbuch", "ATILLA_Speditionsbuch\ATILLA_Speditionsbuch.vbproj", "{2007DD34-7BB4-4A31-A6B9-BCE62BF0AFDA}"
EndProject
-Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "VERAG_PROG_ALLGEMEIN", "..\..\SDL\SDL\VERAG_PROG_ALLGEMEIN\VERAG_PROG_ALLGEMEIN.vbproj", "{A3B497BD-842C-4A2B-B398-ED1976849DF1}"
-EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DAKOSY_Worker_lib", "DAKOSY_Worker\DAKOSY_Worker_lib.vbproj", "{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "TELOTEC_Worker_lib", "TELOTEK_Worker_lib\TELOTEC_Worker_lib.vbproj", "{5B947A66-009A-4BB6-B925-F84A01045095}"
@@ -35,6 +33,8 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "RKSV_DE", "RKSV_DE\RKSV_DE.
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MIC_Worker_lib", "MIC_Worker_lib\MIC_Worker_lib.vbproj", "{60833DC6-70ED-450A-B51F-4A953E67ADA0}"
EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "VERAG_PROG_ALLGEMEIN", "..\SDL\VERAG_PROG_ALLGEMEIN\VERAG_PROG_ALLGEMEIN.vbproj", "{A3B497BD-842C-4A2B-B398-ED1976849DF1}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -77,10 +77,6 @@ Global
{2007DD34-7BB4-4A31-A6B9-BCE62BF0AFDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2007DD34-7BB4-4A31-A6B9-BCE62BF0AFDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2007DD34-7BB4-4A31-A6B9-BCE62BF0AFDA}.Release|Any CPU.Build.0 = Release|Any CPU
- {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Release|Any CPU.Build.0 = Release|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -105,6 +101,10 @@ Global
{60833DC6-70ED-450A-B51F-4A953E67ADA0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{60833DC6-70ED-450A-B51F-4A953E67ADA0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{60833DC6-70ED-450A-B51F-4A953E67ADA0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A3B497BD-842C-4A2B-B398-ED1976849DF1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/DAKOSY_Worker/DAKOSY_Worker_lib.vbproj b/DAKOSY_Worker/DAKOSY_Worker_lib.vbproj
index 8049a6f..baf3595 100644
--- a/DAKOSY_Worker/DAKOSY_Worker_lib.vbproj
+++ b/DAKOSY_Worker/DAKOSY_Worker_lib.vbproj
@@ -45,7 +45,7 @@
- ..\..\..\dll\Renci.SshNet.dll
+ \\ylps023046.verag.ost.dmn\VB\dll\Renci.SshNet.dll
@@ -322,7 +322,7 @@
-
+
{a3b497bd-842c-4a2b-b398-ed1976849df1}
VERAG_PROG_ALLGEMEIN
diff --git a/DienstplanTV/DienstplanTV.vbproj b/DienstplanTV/DienstplanTV.vbproj
index 9232dad..9c4ff6c 100644
--- a/DienstplanTV/DienstplanTV.vbproj
+++ b/DienstplanTV/DienstplanTV.vbproj
@@ -127,10 +127,6 @@
-
- {a3b497bd-842c-4a2b-b398-ed1976849df1}
- VERAG_PROG_ALLGEMEIN
-
{6eb4d3a4-3cf2-4651-9af9-ad5f727df403}
ADMIN
diff --git a/MDM_Worker/MDM_Worker_lib.vbproj b/MDM_Worker/MDM_Worker_lib.vbproj
index 46b84f4..472aea0 100644
--- a/MDM_Worker/MDM_Worker_lib.vbproj
+++ b/MDM_Worker/MDM_Worker_lib.vbproj
@@ -104,7 +104,7 @@
-
+
{a3b497bd-842c-4a2b-b398-ed1976849df1}
VERAG_PROG_ALLGEMEIN
diff --git a/MailSender/MailSender.vbproj b/MailSender/MailSender.vbproj
index 9887acc..0ab484e 100644
--- a/MailSender/MailSender.vbproj
+++ b/MailSender/MailSender.vbproj
@@ -144,10 +144,6 @@
-
- {a3b497bd-842c-4a2b-b398-ed1976849df1}
- VERAG_PROG_ALLGEMEIN
-
{6eb4d3a4-3cf2-4651-9af9-ad5f727df403}
ADMIN
diff --git a/RKSV_DE/RKSV_DE.vbproj b/RKSV_DE/RKSV_DE.vbproj
index d0a4757..01a84a4 100644
--- a/RKSV_DE/RKSV_DE.vbproj
+++ b/RKSV_DE/RKSV_DE.vbproj
@@ -49,7 +49,7 @@
- ..\..\..\..\RKSV DE\KsVCom.dll
+ \\ylps023046.verag.ost.dmn\VB\dll\KsVCom.dll
diff --git a/SDL/SDL b/SDL/SDL
new file mode 160000
index 0000000..f2f9925
--- /dev/null
+++ b/SDL/SDL
@@ -0,0 +1 @@
+Subproject commit f2f992547dcea0e64e47491e5100d729dcf1964c
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.Designer.vb
new file mode 100644
index 0000000..f7a7ec8
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.Designer.vb
@@ -0,0 +1,30 @@
+ _
+Partial Class Form1
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ components = New System.ComponentModel.Container()
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.Text = "Form1"
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.vb
new file mode 100644
index 0000000..17d6595
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/Form1.vb
@@ -0,0 +1,3 @@
+Public Class Form1
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cClassesAVISO.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cClassesAVISO.vb
new file mode 100644
index 0000000..5b940c8
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cClassesAVISO.vb
@@ -0,0 +1,16 @@
+
+
+Public Class listMaAVG
+ Public mit_id As Integer
+ Public mit_name As String
+ Public mit_avg As Integer
+ Public mit_count As Integer
+
+End Class
+
+Public Class listStatAvisoProleme
+ Public VermerkeCode As Integer
+ Public Bezeichnung As String
+ Public AnzahlVermerke As Integer
+End Class
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cDatenbankAVISO.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cDatenbankAVISO.vb
new file mode 100644
index 0000000..e793065
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cDatenbankAVISO.vb
@@ -0,0 +1,2958 @@
+Imports System.Data
+'Imports Gemeinsames
+Imports VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO
+Imports VERAG_PROG_ALLGEMEIN.cGlobal
+Imports System.Data.SqlClient
+Imports System.Globalization
+
+
+Public Class cSqlDb
+
+ Public Shared Function GetSDLConnectionString() As String
+ Return VERAG_PROG_ALLGEMEIN.SQL.GetSDLConnectionString()
+ End Function
+ Public Shared Function GetADMINConnectionString() As String
+ Return VERAG_PROG_ALLGEMEIN.SQL.GetADMINConnectionString
+ End Function
+ Public Shared Function GetFMZOLLConnectionString() As String
+ Return VERAG_PROG_ALLGEMEIN.SQL.GetFMZOLLConnectionString
+ End Function
+ Public Shared Function GetATLASConnectionString() As String
+ Return VERAG_PROG_ALLGEMEIN.SQL.GetATLASConnectionString
+ End Function
+
+ Public Shared Function GetEZOLLConnectionString() As String
+ Return VERAG_PROG_ALLGEMEIN.SQL.GetEZOLLConnectionString
+ End Function
+ Public Shared Function GetAVISOConnectionString() As String
+ Return VERAG_PROG_ALLGEMEIN.SQL.GetAVISOConnectionString
+ End Function
+
+
+ Public Shared Function GetNewOpenConnection(Optional pooling As Boolean = True) As SqlConnection
+ Dim cn As New SqlConnection()
+ 'cn.ConnectionString = My.Resources.connStringSDL_DEV
+ ' IMMER DIE AKTUELLE CONNECTION IN MY.SETTINGS ÄNDERN!!! --> WG. BINDING
+ cn.ConnectionString = GetSDLConnectionString() & CStr(IIf(pooling, "", ";pooling=false"))
+ cn.Open()
+ Return cn
+ End Function
+ Public Shared Function GetNewOpenConnectionLogin() As SqlConnection
+ Dim cn As New SqlConnection()
+ cn.ConnectionString = GetADMINConnectionString()
+ cn.Open()
+ Return cn
+ End Function
+
+ Public Shared Function GetNewOpenConnectionFMZOLL(Optional pooling As Boolean = True) As SqlConnection
+ Dim cn As New SqlConnection()
+ cn.ConnectionString = GetFMZOLLConnectionString() & CStr(If(pooling, "", ";pooling=false"))
+ cn.Open()
+ Return cn
+ End Function
+ Public Shared Function GetNewOpenConnectionATLAS() As SqlConnection
+ Dim cn As New SqlConnection()
+ cn.ConnectionString = GetATLASConnectionString()
+
+ cn.Open()
+ Return cn
+ End Function
+
+ Public Shared Function GetNewOpenConnectionEZOLL() As SqlConnection
+ Dim cn As New SqlConnection()
+ cn.ConnectionString = GetEZOLLConnectionString()
+
+ cn.Open()
+ Return cn
+ End Function
+
+ Public Shared Function GetNewOpenConnectionAVISO() As SqlConnection
+ Dim cn As New SqlConnection()
+ cn.ConnectionString = GetAVISOConnectionString()
+
+ cn.Open()
+ Return cn
+ End Function
+
+ Public Shared Function GetNewOpenConnectionFMZOLLREAL() As SqlConnection
+ Dim cn As New SqlConnection()
+ cn.ConnectionString = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.FMZOLL_PRODConnectionString
+ cn.Open()
+ Return cn
+ End Function
+
+
+ Public Shared Function checkNullStr(ByVal o As Object) As String
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return CStr(o)
+ Return ""
+ End Function
+ Public Shared Function checkNullInteger(ByVal o As Object) As Integer
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return CInt(o)
+ Return -1
+ End Function
+ Public Shared Function checkNullReturnValue(ByVal o As Object, ByVal returnValue As Object) As Object
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return (o)
+ Return returnValue
+ End Function
+
+ Public Shared Function checkNullIntegerZero(ByVal o As Object) As Integer
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return CInt(o)
+ Return 0
+ End Function
+ Public Shared Function checkNulDbl(ByVal o As Object) As Double
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return CDbl(o)
+ Return -1
+ End Function
+ Public Shared Function checkNullBoolCheckState(ByVal o As Object) As Integer
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return 2
+ Try
+ If CBool(o) = True Then Return 1
+ If CBool(o) = False Then Return 0
+ Catch ex As Exception
+ End Try
+ Return 2
+ End Function
+ Public Shared Function checkNullBool(ByVal o As Object) As Boolean
+ If o Is Nothing Or o Is DBNull.Value Then Return False
+ Try
+ Return CBool(o)
+ Catch ex As Exception
+ End Try
+ Return False
+ End Function
+ Public Shared Function checkNullDate(ByVal o As Object) As Date
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return CDate(o)
+ Return Now
+ End Function
+ Public Shared Function checkNullDateNothing(ByVal o As Object) As Object
+ If o Is DBNull.Value Then
+ Return Nothing
+ Else
+ Return CDate(o)
+ End If
+ End Function
+ Public Shared Function setNullDate(ByVal o As String) As Object
+ Try
+ If IsDate(o) Then Return CDate(o)
+ Catch ex As Exception
+ End Try
+ Return DBNull.Value
+ End Function
+ Public Shared Function setNullInteger(ByVal o As Integer) As Object
+ Try
+ If IsNumeric(o) AndAlso o >= 0 Then Return CInt(o)
+ Catch ex As Exception
+ End Try
+ Return DBNull.Value
+ End Function
+ Public Shared Function setNullBoolean(ByVal o As Integer) As Object
+ Try
+ If o = 0 Then Return False
+ If o = 1 Then Return True
+ Catch ex As Exception
+ End Try
+ Return DBNull.Value
+ End Function
+End Class
+
+
+Public Class cDatenbankAVISO
+
+
+ Public Shared GlobalConnection As SqlConnection = Nothing
+ Public Shared GlobalConnectionFMZOLL As SqlConnection = Nothing
+
+ Public Shared Function GetNewOpenConnection(Optional newConn As Boolean = False) As SqlConnection
+ Try
+ If GlobalConnection Is Nothing Or newConn Then
+ GlobalConnection = New SqlConnection(cSqlDb.GetAVISOConnectionString)
+ End If
+ If GlobalConnection.State = ConnectionState.Broken Or GlobalConnection.State = ConnectionState.Closed Then
+ GlobalConnection.Open()
+ End If
+ Return GlobalConnection
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & vbCrLf & vbNewLine & vbCrLf & "Fehler: " & ex.Message & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+ Public Shared Function GetNewOpenConnectionFMZOLL(Optional newConn As Boolean = False) As SqlConnection
+ Try
+ If GlobalConnectionFMZOLL Is Nothing Or newConn Then
+ GlobalConnectionFMZOLL = New SqlConnection(cSqlDb.GetFMZOLLConnectionString)
+ End If
+ If GlobalConnectionFMZOLL.State = ConnectionState.Broken Or GlobalConnectionFMZOLL.State = ConnectionState.Closed Then
+ GlobalConnectionFMZOLL.Open()
+ End If
+ Return GlobalConnectionFMZOLL
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & vbCrLf & vbNewLine & vbCrLf & "Fehler: " & ex.Message)
+ End Try
+ Return Nothing
+ End Function
+
+
+ Public Shared Function GetNewOpenConnectionWithoutError(Optional newConn As Boolean = False) As SqlConnection
+ Try
+ If GlobalConnection Is Nothing Or newConn Then
+ GlobalConnection = New SqlConnection(cSqlDb.GetAVISOConnectionString)
+ End If
+ If GlobalConnection.State = ConnectionState.Broken Or GlobalConnection.State = ConnectionState.Closed Then
+ GlobalConnection.Open()
+ End If
+ Return GlobalConnection
+ Catch ex As Exception
+ ' MsgBox("Problem" & vbCrLf & vbNewLine & vbCrLf & "Fehler: " & ex.Message)
+ End Try
+ Return Nothing
+ End Function
+ Public Shared Function GetNewOpenConnectionADMIN() As SqlConnection
+ Try
+ Dim conn As New SqlConnection(cSqlDb.GetADMINConnectionString)
+ conn.Open()
+ Return conn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Es konnte keine Verbindung zur ADMIN-Datenbank aufgebaut werden." & vbCrLf & "connStr=" & cSqlDb.GetAVISOConnectionString & vbCrLf & "Fehler: " & ex.Message)
+ End Try
+ Return Nothing
+ End Function
+
+
+ Public Shared Function GetNewOpenConnection2() As SqlConnection
+ 'Dim Start As Integer = My.Computer.Clock.TickCount
+ Const useGlobalConnection As Boolean = True
+ Try
+ If useGlobalConnection Then
+ If GlobalConnection Is Nothing Then
+ GlobalConnection = New SqlConnection
+ GlobalConnection.ConnectionString = cSqlDb.GetAVISOConnectionString
+ End If
+ If GlobalConnection.State = ConnectionState.Broken Or GlobalConnection.State = ConnectionState.Closed Then
+ GlobalConnection.Open()
+ End If
+ 'cGlobal.hDauerOpen += My.Computer.Clock.TickCount - Start
+ Return GlobalConnection
+ Else
+ Dim conn As New SqlConnection
+ conn.ConnectionString = cSqlDb.GetAVISOConnectionString
+ conn.Open()
+ 'cGlobal.hDauerOpen += 1
+ 'cGlobal.hDauerOpen += My.Computer.Clock.TickCount - Start
+ Return (conn)
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler bei Datenbank öffnen. " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler bei Datenbank öffnen." & vbCrLf & "connStr=" & cSqlDb.GetAVISOConnectionString & vbCrLf & "Fehler: " & ex.Message)
+ Return Nothing
+ End Try
+ End Function
+
+End Class
+
+
+Public Class cMitarbeiterAVISO
+ Property MitarbeiterID As Integer
+ Property Mitarbeiter As String
+ Property Mitarbeitername As String
+ Property KW As String
+ ' Property Sicherheitsstufe As Integer
+ Property Info As String
+ ' Property Grenzstelle As String
+ ' Property Abteilung As String = ""
+ Property StandartFiliale As Integer = -1
+ Property mit_FMZollPersID As Integer = -1
+ Property mit_username As String
+
+End Class
+
+Public Class cADMIN
+
+ ' Public USRNAME As String
+ 'Public USRID As String
+ 'Public USERBER As String
+ Public cMitarbeiterAVISO As cMitarbeiterAVISO
+ ' Private Property USERBER As Object
+
+
+
+ Public Function getAktuelleVersion(Optional progname As String = "AVISO_NEW") As String
+ Dim sql As String = "SELECT prog_aktuelleVersion FROM tblProgramme WHERE prog_codename=@codename"
+ Dim dr As SqlDataReader
+ Using conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@codename", progname)
+ dr = cmd.ExecuteReader()
+ Try
+ If dr.Read Then Return CStr(dr.Item("prog_aktuelleVersion"))
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler mit der Datenbankverbindung. " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
+ Finally
+ dr.Close()
+ End Try
+ End Using
+ End Using
+ Return "0"
+ End Function
+ Public Function getPwdFromUsrname(ByVal user As String, ByVal firma As String) As String
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Return SQL.getValueTxtBySql("SELECT mit_pwd FROM tblMitarbeiter where mit_username='" & user & "' COLLATE Latin1_General_CS_AS AND (mit_firma='" & firma & "' OR mit_firma='ALL' ) ", "ADMIN")
+ End Function
+
+ Public Function getPwdFromUsrId(ByVal userId As String) As String
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Return SQL.getValueTxtBySql("SELECT mit_pwd FROM tblMitarbeiter where mit_id='" & userId & "' ", "ADMIN")
+ End Function
+ Public Function getUnameFromUsrId(ByVal userId As String) As String
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Return SQL.getValueTxtBySql("SELECT mit_username FROM tblMitarbeiter where mit_id='" & userId & "' ", "ADMIN")
+ End Function
+
+ Public Function checkLogin(ByVal user As String, ByVal pwd As String, ByVal firma As String) As Boolean
+
+ VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = If(firma = "", "VERAG", firma)
+
+ 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
+ 'Dim sql As String = "SELECT mit_vname,mit_nname,mit_berechtigung FROM tblUser where mit_username=@mit_username COLLATE Latin1_General_CS_AS and mit_pwd=@mit_pwd COLLATE Latin1_General_CS_AS "
+ Dim sql As String = "SELECT mit_id,mit_vname,mit_nname,mit_niederlassung,mit_username,mit_pwd,mit_info,mit_abteilung,mit_standartFiliale,mit_FMZollPersID,mit_firmaFMZoll,mit_TESTonly FROM " &
+ " tblMitarbeiter,tblBerProg where mit_username=@mit_username and mit_pwd=@mit_pwd COLLATE Latin1_General_CS_AS AND (mit_firma=@mit_firma OR mit_firma='ALL' ) AND bepr_programm=@bepr_programm AND bepr_userId=mit_id "
+
+
+ Dim dr As SqlDataReader
+
+ Try
+ Using conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand(sql, conn)
+
+ cmd.Parameters.AddWithValue("@mit_username", user)
+ cmd.Parameters.AddWithValue("@mit_pwd", pwd)
+ cmd.Parameters.AddWithValue("@bepr_programm", "AVISO")
+ cmd.Parameters.AddWithValue("@mit_firma", firma)
+
+ dr = cmd.ExecuteReader()
+ cMitarbeiterAVISO = New cMitarbeiterAVISO
+
+
+ If dr.Read Then
+ cMitarbeiterAVISO.MitarbeiterID = CInt(dr.Item("mit_id"))
+ ' cMitarbeiterAVISO.Grenzstelle = CStr(dr.Item("mit_niederlassung"))
+ ' If cMitarbeiterAVISO.Grenzstelle = "Suben" Then cMitarbeiterAVISO.Grenzstelle = "SUB"
+ ' If cMitarbeiterAVISO.Grenzstelle = "Waidhaus" Then cMitarbeiterAVISO.Grenzstelle = "WAI"
+ ' If cMitarbeiterAVISO.Grenzstelle = "Nickelsdorf" Then cMitarbeiterAVISO.Grenzstelle = "NKD"
+ ' If cMitarbeiterAVISO.Grenzstelle = "Salzburg" Then cMitarbeiterAVISO.Grenzstelle = "SBG"
+ ' If cMitarbeiterAVISO.Grenzstelle = "" Then cMitarbeiterAVISO.Grenzstelle = "???"
+ cMitarbeiterAVISO.Mitarbeiter = CStr(dr.Item("mit_username"))
+ cMitarbeiterAVISO.Mitarbeitername = CStr(dr.Item("mit_vname")) & " " & CStr(dr.Item("mit_nname"))
+ cMitarbeiterAVISO.KW = CStr(dr.Item("mit_pwd"))
+ ' cMitarbeiterAVISO.Sicherheitsstufe = CInt(dr.Item("ber_sicherheitsstufe"))
+ cMitarbeiterAVISO.Info = CStr(dr.Item("mit_info"))
+ ' If dr.Item("mit_abteilung") IsNot DBNull.Value Then cMitarbeiterAVISO.Abteilung = CStr(dr.Item("mit_abteilung"))
+ cMitarbeiterAVISO.StandartFiliale = VarToInt2(dr.Item("mit_standartFiliale"))
+ cMitarbeiterAVISO.mit_FMZollPersID = VarToInt2(dr.Item("mit_FMZollPersID"))
+ cMitarbeiterAVISO.mit_username = VarToStr(dr.Item("mit_username"))
+
+ ' VERAG_PROG_ALLGEMEIN.cAllgemein.USRBER = CInt(dr.Item("ber_sicherheitsstufe"))
+ VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG = CStr(dr.Item("mit_niederlassung"))
+ VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = CStr(dr.Item("mit_abteilung"))
+ VERAG_PROG_ALLGEMEIN.cAllgemein.USRID = CInt(dr.Item("mit_id"))
+ ' VERAG_PROG_ALLGEMEIN.cAllgemein.USR_VNAME = CStr(dr.Item("mit_vname"))
+ ' VERAG_PROG_ALLGEMEIN.cAllgemein.USR_NNAME = CStr(dr.Item("mit_nname"))
+ 'VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME = CStr(dr.Item("mit_vname")) & " " & CStr(dr.Item("mit_nname"))
+ VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = CStr(dr.Item("mit_username"))
+ If dr.Item("mit_firmaFMZoll") Is DBNull.Value Then
+ MsgBox("Benutzer muss einer Firma zugeordnet sein!")
+ Return False
+ End If
+
+ If dr.Item("mit_TESTonly") And Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ MsgBox("Benutzer ist nur für das Testsystem freigeschaltet!")
+ VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True 'umschalten auf das TESTSYSTEM
+ End If
+
+
+ VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID = CInt(dr.Item("mit_firmaFMZoll"))
+ VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_NAME = getValueTxtBySql("SELECT Firma_Bez FROM tblFirma WHERE Firma_ID= " & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID, "FMZOLL")
+
+ VERAG_PROG_ALLGEMEIN.cAllgemein.LOAD_BER()
+ VERAG_PROG_ALLGEMEIN.cAllgemein.LOAD_DATA()
+
+ cGlobal.AktiverMitarbeiter = cMitarbeiterAVISO
+
+ Return True
+ End If
+ 'USERBER = CStr(dr.Item("ber_sicherheitsstufe")) : USRNAME = CStr(dr.Item("mit_vname")) & " " & CStr(dr.Item("mit_nname")) : USRID = CStr(dr.Item("mit_id")) : Return True
+
+ End Using
+ End Using
+ dr.Close()
+ Catch ex As Exception
+ MsgBox("Fehler mit der Datenbankverbindung.", "Datenbankfehler")
+ Return False
+ End Try
+
+ Return False
+ End Function
+
+
+
+
+ Public Function getUstName_ByAD(Domain As String, User As String) As String
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Return SQL.getValueTxtBySql("SELECT TOP 1 [mit_username] FROM [tblMitarbeiter] WHERE ([mit_AliasAD_Domain]='" & Domain & "' AND [mit_AliasAD_Username]='" & User & "') Or ([mit_AliasAD_Domain2]='" & Domain & "' AND [mit_AliasAD_Username2]='" & User & "' )", "ADMIN")
+ End Function
+
+ Public Function getUstId_ByAD(Domain As String, User As String) As Integer
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Return SQL.getValueTxtBySql("SELECT TOP 1 [mit_id] FROM [tblMitarbeiter] WHERE ([mit_AliasAD_Domain]='" & Domain & "' AND [mit_AliasAD_Username]='" & User & "') Or ([mit_AliasAD_Domain2]='" & Domain & "' AND [mit_AliasAD_Username2]='" & User & "' )", "ADMIN",,, "-1")
+ End Function
+
+ Public Function getBezById(id As Integer) As String
+
+ Dim sql As String = "SELECT Firma_Bez FROM tblFirma WHERE Firma_ID=@id "
+ Dim dr As SqlDataReader
+ Try
+ Using conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@id", id)
+ dr = cmd.ExecuteReader()
+ If dr.HasRows AndAlso dr.Read Then
+ Return CStr(dr.Item(0))
+ End If
+ End Using
+ End Using
+ dr.Close()
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler mit der Datenbankverbindung. " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function loadCboBySql(ByVal sql As String, Optional conn_art As String = "AVISO", Optional newConn As Boolean = False, Optional conn As SqlConnection = Nothing) As List(Of Object)
+
+
+ Dim o As New List(Of Object)
+ Try
+ If conn Is Nothing Then
+ Select Case conn_art
+ Case "AVISO" : conn = cDatenbankAVISO.GetNewOpenConnection(newConn)
+ Case "FMZOLL" : conn = cDatenbankAVISO.GetNewOpenConnectionFMZOLL(newConn)
+ End Select
+ End If
+ ' Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ While dr.Read
+ o.Add(dr.Item(0))
+ End While
+ dr.Close()
+ End Using
+ conn.Close()
+ ' End Using
+ Return o 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+
+ Return Nothing
+ End Function
+
+ Public Function loadCboBySqlWithListItem(ByVal sql As String, Optional showValueInText As Boolean = True, Optional conn_art As String = "AVISO") As List(Of MyListItem)
+ Dim o As New List(Of MyListItem)
+ Try
+ Dim conn As New SqlConnection
+ Select Case conn_art
+ Case "AVISO" : conn = cDatenbankAVISO.GetNewOpenConnection()
+ Case "FMZOLL" : conn = cDatenbankAVISO.GetNewOpenConnectionFMZOLL
+ End Select
+
+ Using cmd As New SqlCommand(sql, conn)
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ While dr.Read
+ If showValueInText Then
+ o.Add(New MyListItem(CStr(dr.Item(0)) & vbTab & " - " & CStr(dr.Item(1)), CStr(dr.Item(0))))
+ Else
+ Try
+ o.Add(New MyListItem(CStr(dr.Item(1)), CStr(dr.Item(0))))
+ Catch ex As Exception
+ o.Add(New MyListItem(CStr(dr.Item(0)), CStr(dr.Item(0))))
+ End Try
+ End If
+
+ End While
+ dr.Close()
+ End Using
+ conn.Close()
+
+ Return o 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+
+ Return Nothing
+ End Function
+
+ Public Function getValueTxtBySql(ByVal sql As String, Optional conn_art As String = "AVISO") As String
+ Dim s As String = ""
+ Try
+ 'MsgBox("1")
+ Dim conn As New SqlConnection
+ Select Case conn_art
+ Case "AVISO" : conn = cDatenbankAVISO.GetNewOpenConnection()
+ Case "ADMIN" : conn = cDatenbankAVISO.GetNewOpenConnectionADMIN()
+ Case "FMZOLL" : conn = cDatenbankAVISO.GetNewOpenConnectionFMZOLL
+
+ End Select
+
+ Using cmd As New SqlCommand(sql, conn)
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ If Not dr.Item(0) Is DBNull.Value Then
+ s = CStr(dr.Item(0))
+ End If
+ End If
+ dr.Close()
+ End Using
+ conn.Close()
+
+ Return s
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+ 'MsgBox("3")
+ Return ""
+ End Function
+
+ Public Function doSQL(ByVal sql As String, Optional conn_art As String = "AVISO", Optional conn As SqlConnection = Nothing) As Boolean
+ If conn Is Nothing Then
+ Select Case conn_art
+ Case "AVISO" : conn = cDatenbankAVISO.GetNewOpenConnection()
+ Case "FMZOLL" : conn = cDatenbankAVISO.GetNewOpenConnectionFMZOLL
+ End Select
+ End If
+ Try
+ ' MsgBox(sql)
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.ExecuteNonQuery()
+ End Using
+ conn.Close()
+ Return True
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+ Return False
+ End Function
+
+End Class
+
+Public Class cMitarbeiterAVISODAL
+
+ Public Function LesenMitarbeiter(hID As Integer, hKürzel As String) As cMitarbeiterAVISO
+ 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
+ Dim sql As String
+ If hID > 0 Then
+ sql = String.Format("SELECT * FROM Mitarbeiter WHERE MitarbeiterID = {0}", hID)
+ Else
+ sql = String.Format("SELECT * FROM Mitarbeiter WHERE Mitarbeiter = '" & hKürzel.Trim & "'")
+ End If
+ Dim daten As cMitarbeiterAVISO = Nothing
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ daten = New cMitarbeiterAVISO
+ daten.MitarbeiterID = VarToInt(dr.Item("MitarbeiterID"))
+ daten.Mitarbeiter = VarToStr(dr.Item("Mitarbeiter"))
+ daten.Mitarbeitername = VarToStr(dr.Item("Mitarbeitername"))
+ daten.KW = VarToStr(dr.Item("KW"))
+ ' daten.Sicherheitsstufe = VarToInt(dr.Item("Sicherheitsstufe"))
+ daten.Info = VarToStr(dr.Item("Info"))
+ ' daten.Grenzstelle = VarToStr(dr.Item("Grenzstelle"))
+ End If
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Return daten
+ End Function
+
+ Public Function Anzeigen_Mitarbeiter(hSQL As String) As DataTable
+ While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+ Dim myTable = New DataTable()
+ 'Dim sql As String
+ 'sql = hSQL
+ Using cmd As New SqlCommand(hSQL, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'Anzeigen_Mitarbeiter'")
+ If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ Environment.Exit(0)
+ End If
+ End Try
+ conn.Close()
+ End While
+ Return Nothing
+ End Function
+
+ Public Function Anzeigen_cboMitarbeiter() As DataTable
+ While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+ Dim myTable = New DataTable()
+ Dim sql = "SELECT MitarbeiterID, Mitarbeiter FROM Mitarbeiter ORDER BY Mitarbeiter"
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'Anzeigen_cboMitarbeiter'")
+ If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ Environment.Exit(0)
+ End If
+ End Try
+ conn.Close()
+ End While
+
+ Return Nothing
+ End Function
+
+
+ Public Sub SpeichernMitarbeiter(ByVal d As cMitarbeiterAVISO)
+ Dim hAuswahl As String
+ If d.MitarbeiterID = 0 Then
+ 'Neuanlage
+ hAuswahl = "INSERT INTO Mitarbeiter " &
+ "(Mitarbeiter, Mitarbeitername, KW, Sicherheitsstufe, Info, Grenzstelle) VALUES (" &
+ "@Mitarbeiter, @Mitarbeitername, @KW, @Sicherheitsstufe, @Info, @Grenzstelle)"
+ Else
+ 'Änderung
+ hAuswahl = String.Format(
+ "UPDATE Mitarbeiter SET Mitarbeiter = @Mitarbeiter, Mitarbeitername = @Mitarbeitername, KW=@KW, Sicherheitsstufe=@Sicherheitsstufe, Info=@Info, Grenzstelle=@Grenzstelle " &
+ "WHERE MitarbeiterID = @MitarbeiterID")
+ End If
+ Dim sql = hAuswahl
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@Mitarbeiter", d.Mitarbeiter)
+ cmd.Parameters.AddWithValue("@Mitarbeitername", d.Mitarbeitername)
+ cmd.Parameters.AddWithValue("@KW", d.KW)
+ ' cmd.Parameters.AddWithValue("@Sicherheitsstufe", d.Sicherheitsstufe)
+ cmd.Parameters.AddWithValue("@Info", d.Info)
+ ' cmd.Parameters.AddWithValue("@Grenzstelle", d.Grenzstelle)
+ cmd.Parameters.AddWithValue("@MitarbeiterID", d.MitarbeiterID)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden!" & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Mitarbeiterstamm")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+ Public Sub LöschenMitarbeiter(ByVal hID As Integer)
+ Dim sql = String.Format("DELETE FROM Mitarbeiter WHERE MitarbeiterID = {0}", hID)
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Mitarbeiter-Stammdaten können nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+End Class
+
+
+Public Class cFirma
+ Property FirmaID As Integer
+ Property Firma As String
+ Property eMail As String
+ Property eMail2 As String
+ Property Info As String
+ Property Frächter As Boolean
+ Property Auftraggeber As Boolean
+ Property FMZollKdnr As String = ""
+
+ 'Property Adresse As String
+ 'Property Telefon As String
+ 'Property Fax As String
+ 'Property Ansprechpersonen As String
+End Class
+
+Public Class cFirmenDAL
+
+ Public Function LesenFirma(hID As Integer, hFirma As String, hSQL As String) As cFirma
+ 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
+ Dim sql As String
+ If hID > 0 Then
+ sql = String.Format("SELECT * FROM Firmen WHERE FirmaID = {0}", hID)
+ ElseIf hFirma <> "" Then
+ sql = String.Format("SELECT * FROM Firmen WHERE Firma = '" & hFirma.Trim & "'")
+ Else
+ sql = hSQL
+ End If
+ Dim daten As cFirma = Nothing
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ daten = New cFirma()
+ daten.FirmaID = VarToInt(dr.Item("FirmaID"))
+ daten.Firma = VarToStr(dr.Item("Firma"))
+ daten.eMail = VarToStr(dr.Item("eMail"))
+ daten.eMail2 = VarToStr(dr.Item("eMail2"))
+ daten.Info = VarToStr(dr.Item("Info"))
+ daten.Frächter = VarToBool(dr.Item("Frächter"))
+ daten.Auftraggeber = VarToBool(dr.Item("Auftraggeber"))
+ 'daten.FMZollKdnr = VarToStr(dr.Item("KundenNr"))
+ If Not dr.Item("KundenNr") Is DBNull.Value Then daten.FMZollKdnr = CStr(dr.Item("KundenNr"))
+ 'daten.Ansprechpersonen = VarToStr(dr.Item("Ansprechpersonen"))
+ 'daten.Adresse = VarToStr(dr.Item("Adresse"))
+ 'daten.Telefon = VarToStr(dr.Item("Telefon"))
+ 'daten.Fax = VarToStr(dr.Item("Fax"))
+ End If
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Return daten
+ End Function
+
+ Public Function Anzeigen_Firmen(hSQL As String) As DataTable
+ While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+ Dim myTable = New DataTable()
+ 'Dim sql As String
+ 'sql = hSQL
+ Using cmd As New SqlCommand(hSQL, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'Anzeigen_Firmen'")
+ If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ Environment.Exit(0)
+ End If
+ End Try
+ conn.Close()
+ End While
+ Return Nothing
+ End Function
+
+ Public Function Anzeigen_cboFirmen(hSQL As String) As DataTable
+ While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+ Dim myTable = New DataTable()
+ If hSQL = "" Then hSQL = "SELECT FirmaID, Firma FROM Firmen ORDER BY Firma"
+ Using cmd As New SqlCommand(hSQL, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'Anzeigen_cboFirma'")
+ If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ Environment.Exit(0)
+ End If
+ End Try
+ conn.Close()
+ End While
+
+ Return Nothing
+ End Function
+
+ Public Sub SpeichernFirma(ByVal d As cFirma)
+ Dim hAuswahl As String
+ If d.FirmaID = 0 Then
+ 'Neuanlage
+ hAuswahl = "INSERT INTO Firmen " &
+ "(Firma, eMail, eMail2, Info, Frächter, Auftraggeber, KundenNr) VALUES (" &
+ "@Firma, @eMail, @eMail2, @Info, @Frächter, @Auftraggeber, @KundenNr)"
+ Else
+ 'Änderung
+ hAuswahl = String.Format(
+ "UPDATE Firmen SET Firma = @Firma, eMail=@eMail, eMail2=@eMail2, Info=@Info, Frächter=@Frächter, Auftraggeber=@Auftraggeber, KundenNr=@KundenNr " &
+ "WHERE FirmaID = @FirmaID")
+ End If
+ Dim sql = hAuswahl
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@Firma", d.Firma)
+ cmd.Parameters.AddWithValue("@eMail", d.eMail)
+ cmd.Parameters.AddWithValue("@eMail2", d.eMail2)
+ cmd.Parameters.AddWithValue("@Info", d.Info)
+ cmd.Parameters.AddWithValue("@Frächter", d.Frächter)
+ cmd.Parameters.AddWithValue("@Auftraggeber", d.Auftraggeber)
+ cmd.Parameters.AddWithValue("@FirmaID", d.FirmaID)
+ If d.FMZollKdnr = "" Then
+ cmd.Parameters.AddWithValue("@KundenNr", DBNull.Value)
+ Else
+ cmd.Parameters.AddWithValue("@KundenNr", d.FMZollKdnr)
+ End If
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Firma")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+ Public Sub LöschenFirma(ByVal hID As Integer)
+ Dim sql = String.Format("DELETE FROM Firmen WHERE FirmaID = {0}", hID)
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Firma-Stammdaten können nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+End Class
+
+
+
+Public Class cQSAufträge
+ Property QS_auftragpos_id As Integer = -1
+ Property AvisoID As Integer = -1
+ Property QS_Abfertigungsart_ID As Integer = -1
+ Property QS_Abfertigungsart_Anzahl As Integer = 0
+End Class
+
+
+
+Public Class cAvisoVorpapier
+ Property vp_AvisoId As Integer
+ Property vp_Art As String = "T1"
+ Property vp_Nr As String = ""
+End Class
+
+
+Public Class cAviso
+ Property AvisoID As Integer
+ Property Datum As Date
+ Property LKW_Nr As String
+ Property Telefonisch As String
+ Property Änderungen As String
+ Property Info As String
+ Property Status As Integer
+ Property Auftraggeber As String
+ Property Auftraggeber_KdNr As String = ""
+ Property Frächter As String
+ Property Frächter_KdNr As String = ""
+ Property letzterMitarbeiter As String
+ Property LetzterMitarbeiterId As Object = Nothing
+ Property Ankunft As Date
+ Property Freigabe As Date
+ Property Vorbereitet As Date
+ Property Vorgeschrieben As Date
+ Property Dauer As Integer
+ Property AvisoEingang As Date
+ Property Grenzstelle As String
+ Property LKW_fertig As Boolean
+ Property Handling As Boolean = False
+ Property AvisoTVHinweis As String = ""
+ Property Sendungen_Gesamtanzahl As Integer = 0
+ Property Sammelakt As Boolean = False
+ Property Buero As String = ""
+ Property ImEx As String = ""
+ Property Abgeschlossen As Boolean = False
+ Property FIRMA As String = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+
+ Property Durchgangszollstelle1 As Object = Nothing
+ Property Durchgangszollstelle2 As Object = Nothing
+ Property Durchgangszollstelle3 As Object = Nothing
+ Property Durchgangszollstelle4 As Object = Nothing
+ Property Durchgangszollstelle5 As Object = Nothing
+ Property Durchgangszollstelle6 As Object = Nothing
+ Property Ausgangszollstelle As Object = Nothing
+ Property Zollstelle As Object = Nothing
+
+
+ Property TransportTemperatur As Object = Nothing
+ Property Zugmaschine As Object = Nothing
+ Property FahrerHandy As Object = Nothing
+ Property LKW_Nationalitaet As Object = Nothing
+ Property DakosyRef As Object = Nothing
+ Property TeamId As Object = Nothing
+ Property Cluster As Object = Nothing
+ Property Freigabe_Info As String = ""
+
+
+ Property KdAuftragsNr_Avisierer As Object = Nothing
+ Property KdAuftragsNr_Frachtfuehrer As Object = Nothing
+ Property FreigabeFiliale As Object = Nothing
+ Property VoraussichtlichesEintreffen As Object = Nothing
+ Property VORSYSTEM As Object = Nothing
+ Property Warenort As Boolean = False
+ Property ZOLLDigitalEingereicht As Boolean = False
+
+
+ Public VORPAPIERE As New List(Of cAvisoVorpapier)
+
+ Shared Function getAvisoById(hID, Optional hSQL = "") As cAviso
+ Dim AVISODAL As New cAvisoDAL
+ Return AVISODAL.LesenAviso(hID, hSQL)
+ End Function
+
+ Shared Function getFirmaByAvisoId(AvisoId) As String
+ Dim SQL As New SQL
+ Return SQL.getValueTxtBySql("SELECT TOP 1 Firma FROM AVISO WHERE AvisoId=" & AvisoId, "AVISO")
+ End Function
+
+ Shared Function getAVISO_List(Optional Standort = "SUB") As DataTable 'Optional FIRMA = "VERAG") As DataTable
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Dim sqlWhere = ""
+ Select Case Standort
+ Case "SUB" : sqlWhere = " AND ( FIRMA='VERAG' OR CLUSTER='FRONTOFFICE' ) AND ImEx IN ('IMPORT','') AND Grenzstelle = '" & Standort & "' "
+ Case "ATILLA" : sqlWhere = " AND ( FIRMA='ATILLA') "
+ Case "IMEX" : sqlWhere = " AND ( FIRMA='IMEX') "
+ Case "UNISPED" : sqlWhere = " AND ( FIRMA='UNISPED') "
+ Case Else : sqlWhere = " AND FIRMA='VERAG' AND ( Grenzstelle='" & Standort & "') "
+ End Select
+
+ ' Standort = ""
+
+ Dim dt = SQL.loadDgvBySql("SELECT TOP 1000 AvisoID, Status, LKW_Nr, Auftraggeber, Frächter,VoraussichtlichesEintreffen, AvisoEingang, Ankunft, Dauer, Grenzstelle,letzterMitarbeiter, CASE WHEN [LKW_fertig] = 1 THEN 'OK' ELSE '' END AS [LKW_fertig], Datum, Vorbereitet, Vorgeschrieben, Freigabe, Telefonisch, Info,Handling,AvisoTVHinweis,DATEDIFF(DAY,getdate(),[VoraussichtlichesEintreffen]) TageBisEintreffen
+ FROM Aviso
+ WHERE 1=1 " & sqlWhere & " AND Status = 3 ORDER BY Ankunft ASC, AvisoEingang ASC, Datum ASC", "AVISO")
+ Return dt
+ End Function
+
+ Sub UPDATE_FahrerHandy(FahrerHandy As String)
+ If AvisoID <= 0 Then Exit Sub
+ If If(FahrerHandy, "") = "" Then Exit Sub
+ Me.FahrerHandy = FahrerHandy
+
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ SQL.doSQL("UPDATE AVISO SET FahrerHandy='" & FahrerHandy & "' WHERE AvisoId=" & AvisoID, "AVISO")
+ End Sub
+
+
+ Sub UPDATE_FreigabeInfo(Freigabe_Info As String)
+ If AvisoID <= 0 Then Exit Sub
+ Me.Freigabe_Info = Freigabe_Info
+
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ SQL.doSQL("UPDATE AVISO SET Freigabe_Info='" & Freigabe_Info & "' WHERE AvisoId=" & AvisoID, "AVISO")
+ End Sub
+
+
+ Sub LOAD_Vorpapiere()
+ If AvisoID <= 0 Then Exit Sub
+ VORPAPIERE.Clear()
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Dim dt = SQL.loadDgvBySql("SELECT * FROM tblAvisoVorpapier WHERE vp_AvisoId='" & AvisoID & "'", "AVISO")
+ If dt IsNot Nothing Then
+ For Each r In dt.Rows
+ Dim VP As New cAvisoVorpapier
+ VP.vp_AvisoId = AvisoID
+ VP.vp_Nr = r("vp_Nr")
+ VP.vp_Art = r("vp_Art")
+ VORPAPIERE.Add(VP)
+ Next
+ End If
+ End Sub
+
+
+
+End Class
+
+Public Class cDruckAviso
+ Property Datum As String
+ Property Status As String
+ Property LetzterMitarbeiter As String
+ Property LKW_Nr As String
+ Property Fraechter As String
+ Property Auftraggeber As String
+ Property Ankunft As String
+ Property Freigabe As String
+ Property Dauer As String
+ Property Info As String
+ Property Aenderungen As String
+ Property Telefonisch As String
+ Property AvisoEingang As String
+ Property Grenzstelle As String
+End Class
+
+Public Class cAvisoDAL
+
+ Public Function LesenAviso(hID As Integer, hSQL As String) As cAviso
+ 'Dim FIRMA = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+ 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
+ Dim sql As String
+ If hID > 0 Then
+ sql = String.Format("SELECT * FROM Aviso WHERE AvisoID = {0} ", hID)
+ 'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "" Then
+ ' sql = String.Format("SELECT * FROM Aviso WHERE AvisoID = {0} AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' ", hID)
+ 'Else
+ ' sql = String.Format("SELECT * FROM Aviso WHERE AvisoID = {0} ", hID)
+ 'End If
+ Else
+ sql = hSQL
+ End If
+
+ Dim daten As cAviso = Nothing
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ daten = New cAviso()
+ daten.AvisoID = VarToInt(dr.Item("AvisoID"))
+ daten.Datum = CDate(VarToDate(dr.Item("Datum")))
+ daten.LKW_Nr = VarToStr(dr.Item("LKW_Nr"))
+ daten.Telefonisch = VarToStr(dr.Item("Telefonisch"))
+ daten.Änderungen = VarToStr(dr.Item("Änderungen"))
+ daten.Info = VarToStr(dr.Item("Info"))
+ daten.Status = VarToInt(dr.Item("Status"))
+ daten.Auftraggeber = VarToStr(dr.Item("Auftraggeber"))
+ daten.Auftraggeber_KdNr = CStr(VarToInt(dr.Item("Auftraggeber_KdNr")))
+ daten.Frächter_KdNr = CStr(VarToInt(dr.Item("Frächter_KdNr")))
+ daten.Frächter = VarToStr(dr.Item("Frächter"))
+ daten.letzterMitarbeiter = VarToStr(dr.Item("letzterMitarbeiter"))
+ daten.Ankunft = CDate(VarToDate(dr.Item("Ankunft")))
+ daten.Freigabe = CDate(VarToDate(dr.Item("Freigabe")))
+ daten.Vorbereitet = CDate(VarToDate(dr.Item("Vorbereitet")))
+ daten.Vorgeschrieben = CDate(VarToDate(dr.Item("Vorgeschrieben")))
+ daten.AvisoEingang = CDate(VarToDate(dr.Item("AvisoEingang")))
+ daten.Dauer = VarToInt(dr.Item("Dauer"))
+ daten.Grenzstelle = VarToStr(dr.Item("Grenzstelle"))
+ daten.LKW_fertig = VarToBool(dr.Item("LKW_fertig"))
+ daten.Handling = VarToBool(dr.Item("Handling"))
+ daten.AvisoTVHinweis = VarToStr(dr.Item("AvisoTVHinweis"))
+ daten.Sammelakt = VarToBool(dr.Item("Sammelakt"))
+ daten.Buero = VarToStr(dr.Item("Buero"))
+ daten.ImEx = VarToStr(dr.Item("ImEx"))
+ daten.Abgeschlossen = VarToBool(dr.Item("Abgeschlossen"))
+ daten.FIRMA = VarToStr(dr.Item("FIRMA"))
+ daten.Durchgangszollstelle1 = VarToStr(dr.Item("Durchgangszollstelle1"))
+ daten.Durchgangszollstelle2 = VarToStr(dr.Item("Durchgangszollstelle2"))
+ daten.Durchgangszollstelle3 = VarToStr(dr.Item("Durchgangszollstelle3"))
+ daten.Durchgangszollstelle4 = VarToStr(dr.Item("Durchgangszollstelle4"))
+ daten.Durchgangszollstelle5 = VarToStr(dr.Item("Durchgangszollstelle5"))
+ daten.Durchgangszollstelle6 = VarToStr(dr.Item("Durchgangszollstelle6"))
+ daten.Ausgangszollstelle = VarToStr(dr.Item("Ausgangszollstelle"))
+ daten.Zollstelle = VarToStr(dr.Item("Zollstelle"))
+ daten.TransportTemperatur = VarToStr(dr.Item("TransportTemperatur"))
+ daten.Zugmaschine = VarToStr(dr.Item("Zugmaschine"))
+ daten.FahrerHandy = VarToStr(dr.Item("FahrerHandy"))
+ daten.LKW_Nationalitaet = VarToStr(dr.Item("LKW_Nationalitaet"))
+ daten.DakosyRef = VarToStr(dr.Item("DakosyRef"))
+ daten.LetzterMitarbeiterId = If(dr.Item("letzterMitarbeiterid") Is DBNull.Value, Nothing, dr.Item("letzterMitarbeiterid"))
+ daten.TeamId = If(dr.Item("TeamId") Is DBNull.Value, Nothing, dr.Item("TeamId"))
+ daten.Cluster = If(dr.Item("Cluster") Is DBNull.Value, Nothing, dr.Item("Cluster"))
+ daten.Freigabe_Info = VarToStr(dr.Item("Freigabe_Info"))
+ daten.KdAuftragsNr_Frachtfuehrer = If(dr.Item("KdAuftragsNr_Frachtfuehrer") Is DBNull.Value, Nothing, dr.Item("KdAuftragsNr_Frachtfuehrer"))
+ daten.KdAuftragsNr_Avisierer = If(dr.Item("KdAuftragsNr_Avisierer") Is DBNull.Value, Nothing, dr.Item("KdAuftragsNr_Avisierer"))
+ daten.FreigabeFiliale = If(dr.Item("FreigabeFiliale") Is DBNull.Value, Nothing, dr.Item("FreigabeFiliale"))
+ daten.VoraussichtlichesEintreffen = If(dr.Item("VoraussichtlichesEintreffen") Is DBNull.Value, Nothing, dr.Item("VoraussichtlichesEintreffen"))
+ daten.VORSYSTEM = If(dr.Item("VORSYSTEM") Is DBNull.Value, Nothing, dr.Item("VORSYSTEM"))
+ daten.Warenort = If(dr.Item("Warenort") Is DBNull.Value, Nothing, dr.Item("Warenort"))
+ daten.ZOLLDigitalEingereicht = If(dr.Item("ZOLLDigitalEingereicht") Is DBNull.Value, Nothing, dr.Item("ZOLLDigitalEingereicht"))
+
+
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Return daten
+ End Function
+
+ Public Function Suche_LKW(LKW_Nr As String) As String
+ 'hier wird nachgesehen, wann diese LKW-Nr zuletzt eingetragen war
+ Suche_LKW = ""
+ Dim sql As String = "SELECT * FROM Aviso WHERE LKW_Nr = '" & LKW_Nr & "' AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' ORDER BY Datum DESC"
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ 'Hinweis erfolgt nur, wenn LKW in den letzten 4 Tagen gefahren ist
+ If CDate(VarToDate(dr.Item("Datum"))) > Now.AddDays(-4) Then
+ Suche_LKW = "Achtung: der LKW mit der Nr. " & LKW_Nr & " wurde bereits vor kurzem eingetragen - und zwar am " &
+ Format(CDate(VarToDate(dr.Item("Datum"))), "ddd, dd.MM.yyyy - HH:mm")
+ End If
+ End If
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Return Suche_LKW
+ End Function
+
+ Public Function Suche_LKWStatus(LKW_Nr As String) As String
+ 'hier wird nachgesehen, wann diese LKW-Nr zuletzt eingetragen war
+ Suche_LKWStatus = ""
+
+ Dim firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+ If firma = "" Then firma = "VERAG"
+
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then
+ firma = " AND ( FIRMA='" & firma & "' OR CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' ) "
+ Else
+ firma = " AND FIRMA='" & firma & "' "
+ End If
+
+
+
+ Dim sql As String = "SELECT * FROM Aviso WHERE LKW_Nr = '" & LKW_Nr & "' AND [Status] Not in (1,2) " & firma & " ORDER BY Datum DESC"
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ Suche_LKWStatus = "Achtung: der LKW mit der Nr. " & LKW_Nr & " existiert bereits mit dem Status '" & cGlobal.getStatusText(VarToInt2(dr.Item("Status"))) & "', Eingetragen, am " &
+ Format(CDate(VarToDate(dr.Item("Datum"))), "ddd, dd.MM.yyyy - HH:mm")
+ End If
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Return Suche_LKWStatus
+ End Function
+
+ Public Function getAvisoInfo(AvisoID As Integer) As String
+ Dim Info As String = ""
+ Dim sql As String = "SELECT Info FROM Aviso WHERE AvisoID = '" & AvisoID & "' "
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ If Not dr.Item("Info") Is DBNull.Value Then
+ Info = dr.Item("Info").ToString
+ End If
+ End If
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), "Problem in Function 'Suche_LKW'")
+ End Try
+ Return Info
+ End Function
+
+ Public Function VermerkExistsInAvisoByID(AvisoID As Integer, VermerkeCode As Integer) As Boolean
+ 'hier wird nachgesehen, wann diese LKW-Nr zuletzt eingetragen war
+ Dim b As Boolean = False
+ Dim sql As String = "SELECT top 1 VermerkID FROM Vermerke WHERE AvisoID = '" & AvisoID & "' AND VermerkeCode = '" & VermerkeCode & "' "
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ b = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Return b
+ End Function
+
+
+
+ Public Function loadDataTableBySQL(hSQL As String, Optional timeout As Integer = 0) As DataTable
+ Try
+ Dim myTable = New DataTable()
+ Dim conn As SqlConnection = cSqlDb.GetNewOpenConnectionAVISO()
+
+ ' Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
+ Using cmd As New SqlCommand(hSQL, conn)
+ If timeout > 0 Then cmd.CommandTimeout = timeout
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ conn.Close()
+ ' End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+
+ Return Nothing
+ End Function
+
+ Public Function loadDataTableBySQL_OLD(hSQL As String) As DataTable
+ ' While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
+ Using conn As New SqlConnection(cSqlDb.GetAVISOConnectionString) '= cDatenbank.GetNewOpenConnection()
+ SqlConnection.ClearPool(conn) ' Wenn Beim Drucken die Vorschau abgebrochen wird, tritt ansonsten ein Fehler auf.
+
+ Try
+ conn.Open()
+ Dim myTable = New DataTable()
+ 'Dim sql As String
+ 'sql = hSQL
+ Using cmd As New SqlCommand(hSQL, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'Anzeigen_Aviso'")
+ conn.Close()
+ If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ ' Environment.Exit(0)
+ End If
+ End Try
+ End Using
+ 'End While
+
+ Return Nothing
+ End Function
+
+
+ Public Function getStandzeitInfo(maId As Integer, von As Integer, bis As Integer, Warnstufe As Integer) As DataTable
+ Dim hSQL As String = "SELECT AvisoID,[LKW_Nr], [Ankunft], StandzeitWarnstufe " &
+ " FROM Aviso INNERJOIN" &
+ " WHERE [Status] = 3 AND LetzterMitarbeiterId = " & maId & " " &
+ " AND DATEDIFF(MINUTE, Ankunft, getdate()) between " & von & " AND " & bis & " " &
+ " AND (StandzeitWarnstufe is null OR StandzeitWarnstufe < " & Warnstufe & ")"
+
+ Using conn As New SqlConnection(cSqlDb.GetAVISOConnectionString) '= cDatenbank.GetNewOpenConnection()
+ SqlConnection.ClearPool(conn) ' Wenn Beim Drucken die Vorschau abgebrochen wird, tritt ansonsten ein Fehler auf.
+ conn.Open()
+ Try
+ Dim myTable = New DataTable()
+ 'Dim sql As String
+ 'sql = hSQL
+ Using cmd As New SqlCommand(hSQL, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'Anzeigen_Aviso'")
+ conn.Close()
+ If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ Environment.Exit(0)
+ End If
+ End Try
+ End Using
+
+
+ Return Nothing
+ End Function
+
+ Public Sub UpdateWarnstufe(ByVal avisoID As Integer, ByVal Warnstufe As Integer)
+
+ Dim sql = "UPDATE Aviso SET [StandzeitWarnstufe]= @Warnstufe WHERE AvisoID = @AvisoID"
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@Warnstufe", Warnstufe)
+ cmd.Parameters.AddWithValue("@AvisoID", avisoID)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler UpdateWarnstufe")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+ Public Sub UpdateAvisoTVHinweis(ByVal avisoID As Integer, ByVal AvisoTVHinweis As String)
+
+ Dim sql = "UPDATE Aviso SET [AvisoTVHinweis]= @AvisoTVHinweis WHERE AvisoID = @AvisoID"
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@AvisoTVHinweis", AvisoTVHinweis)
+ cmd.Parameters.AddWithValue("@AvisoID", avisoID)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler UpdateWarnstufe")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+ Public Sub addAenderung(AvisoID As Integer, Aenderung_Art As String, Aenderung_Text As String)
+ Dim hAuswahl As String = " INSERT INTO Aenderungen " &
+ " ([AvisoID], [Datum], [Mitarbeiter], [MitarbeiterId], [Aenderung_Art], [Aenderung_Text]) " &
+ " VALUES (@AvisoID, @Datum, @Mitarbeiter, @MitarbeiterId, @Aenderung_Art, @Aenderung_Text)"
+
+ Dim sql = hAuswahl
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+
+ cmd.Parameters.AddWithValue("@AvisoID", AvisoID)
+ cmd.Parameters.AddWithValue("@Datum", Now)
+ cmd.Parameters.AddWithValue("@Mitarbeiter", cGlobal.AktiverMitarbeiter.Mitarbeiter)
+ cmd.Parameters.AddWithValue("@MitarbeiterId", cGlobal.AktiverMitarbeiter.MitarbeiterID)
+ cmd.Parameters.AddWithValue("@Aenderung_Art", Aenderung_Art)
+ cmd.Parameters.AddWithValue("@Aenderung_Text", Aenderung_Text)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Aenderungen")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+ Public Function SpeichernAviso(ByVal d As cAviso, Optional letzerMaIdAuto As Boolean = True) As Integer
+ Dim hAuswahl As String
+ Dim id As Integer = -1
+ If d.AvisoID <= 0 Then
+ 'Neuanlage
+ hAuswahl = "INSERT INTO Aviso " &
+ "(Datum, LKW_Nr, Telefonisch, Änderungen, Info, Status, Auftraggeber, Frächter, letzterMitarbeiter, " &
+ "Vorbereitet,Vorgeschrieben, Ankunft, Freigabe, Dauer, AvisoEingang, Grenzstelle, LKW_fertig,letzterMitarbeiterId,Handling,Sendungen_Gesamtanzahl,Sammelakt,Frächter_KdNr,Auftraggeber_KdNr,AvisoTVHinweis,Buero,Imex,Abgeschlossen,FIRMA, " &
+ " Durchgangszollstelle1,Durchgangszollstelle2,Durchgangszollstelle3,Durchgangszollstelle4,Durchgangszollstelle5,Durchgangszollstelle6,Ausgangszollstelle,Zollstelle,TransportTemperatur,Zugmaschine,FahrerHandy,LKW_Nationalitaet,DakosyRef,TeamId,Cluster,Freigabe_Info,KdAuftragsNr_Frachtfuehrer,KdAuftragsNr_Avisierer,FreigabeFiliale,VoraussichtlichesEintreffen,Warenort,ZOLLDigitalEingereicht) VALUES (" &
+ "@Datum, @LKW_Nr, @Telefonisch, @Änderungen, @Info, @Status, @Auftraggeber, @Frächter, @letzterMitarbeiter, " &
+ "@Vorbereitet, @Vorgeschrieben, @Ankunft, @Freigabe, @Dauer, @AvisoEingang, @Grenzstelle, @LKW_fertig,@letzterMitarbeiterId,@Handling,@Sendungen_Gesamtanzahl,@Sammelakt,@Frächter_KdNr,@Auftraggeber_KdNr,@AvisoTVHinweis,@Buero,@Imex,@Abgeschlossen,@FIRMA," &
+ "@Durchgangszollstelle1,@Durchgangszollstelle2,@Durchgangszollstelle3,@Durchgangszollstelle4,@Durchgangszollstelle5,@Durchgangszollstelle6,@Ausgangszollstelle,@Zollstelle,@TransportTemperatur,@Zugmaschine,@FahrerHandy,@LKW_Nationalitaet,@DakosyRef,@TeamId,@Cluster,@Freigabe_Info,@KdAuftragsNr_Frachtfuehrer,@KdAuftragsNr_Avisierer,@FreigabeFiliale,@VoraussichtlichesEintreffen,@Warenort,@ZOLLDigitalEingereicht); SELECT CAST(scope_identity() AS int);"
+ Else
+ id = d.AvisoID
+ 'Änderung
+ hAuswahl = String.Format(
+ "UPDATE Aviso SET Datum = @Datum, LKW_Nr = @LKW_Nr, Telefonisch=@Telefonisch, Änderungen=@Änderungen, Info=@Info, Status=@Status, Auftraggeber=@Auftraggeber, Frächter=@Frächter, " &
+ " letzterMitarbeiter = @letzterMitarbeiter, Vorbereitet=@Vorbereitet,Vorgeschrieben=@Vorgeschrieben, Ankunft = @Ankunft, Freigabe = @Freigabe, Dauer = @Dauer, AvisoEingang = @AvisoEingang, Grenzstelle=@Grenzstelle, LKW_fertig=@LKW_fertig, letzterMitarbeiterId=@letzterMitarbeiterId, Handling=@Handling,Sendungen_Gesamtanzahl=@Sendungen_Gesamtanzahl,Sammelakt=@Sammelakt,Frächter_KdNr=@Frächter_KdNr,Auftraggeber_KdNr=@Auftraggeber_KdNr,AvisoTVHinweis=@AvisoTVHinweis,Buero=@Buero,Imex=@Imex,Abgeschlossen=@Abgeschlossen, " &
+ " Durchgangszollstelle1=@Durchgangszollstelle1,Durchgangszollstelle2=@Durchgangszollstelle2,Durchgangszollstelle3=@Durchgangszollstelle3,Durchgangszollstelle4=@Durchgangszollstelle4,Durchgangszollstelle5=@Durchgangszollstelle5,Durchgangszollstelle6=@Durchgangszollstelle6,Ausgangszollstelle=@Ausgangszollstelle,Zollstelle=@Zollstelle,TransportTemperatur=@TransportTemperatur,Zugmaschine=@Zugmaschine,FahrerHandy=@FahrerHandy, LKW_Nationalitaet=@LKW_Nationalitaet, DakosyRef=@DakosyRef,TeamId=@TeamId,Cluster=@Cluster,Freigabe_Info=@Freigabe_Info,KdAuftragsNr_Frachtfuehrer =@KdAuftragsNr_Frachtfuehrer,KdAuftragsNr_Avisierer=@KdAuftragsNr_Avisierer , FreigabeFiliale=@FreigabeFiliale,VoraussichtlichesEintreffen=@VoraussichtlichesEintreffen,Warenort=@Warenort,ZOLLDigitalEingereicht=@ZOLLDigitalEingereicht,FIRMA=@FIRMA" &
+ " WHERE AvisoID = @AvisoID")
+ End If
+
+ Dim sql = hAuswahl
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+
+ cmd.Parameters.Add("@Datum", SqlDbType.DateTime).Value = SQLNullDate(d.Datum)
+ ' cmd.Parameters.AddWithValue("@Datum", SQLNullDate(d.Datum))
+ cmd.Parameters.AddWithValue("@LKW_Nr", d.LKW_Nr)
+ cmd.Parameters.AddWithValue("@Telefonisch", d.Telefonisch)
+ cmd.Parameters.AddWithValue("@Änderungen", d.Änderungen)
+ cmd.Parameters.AddWithValue("@Info", d.Info)
+ cmd.Parameters.AddWithValue("@Status", d.Status)
+ cmd.Parameters.AddWithValue("@Auftraggeber", d.Auftraggeber)
+ cmd.Parameters.AddWithValue("@Frächter", d.Frächter)
+ cmd.Parameters.AddWithValue("@letzterMitarbeiter", d.letzterMitarbeiter)
+ cmd.Parameters.Add("@Vorbereitet", SqlDbType.DateTime).Value = SQLNullDate(d.Vorbereitet)
+ cmd.Parameters.Add("@Vorgeschrieben", SqlDbType.DateTime).Value = SQLNullDate(d.Vorgeschrieben)
+ cmd.Parameters.Add("@Ankunft", SqlDbType.DateTime2).Value = SQLNullDate(d.Ankunft)
+ cmd.Parameters.Add("@Freigabe", SqlDbType.DateTime2).Value = SQLNullDate(d.Freigabe)
+ ' cmd.Parameters.AddWithValue("@Vorbereitet", SQLNullDate(d.Vorbereitet))
+ ' cmd.Parameters.AddWithValue("@Vorgeschrieben", SQLNullDate(d.Vorgeschrieben))
+ ' cmd.Parameters.AddWithValue("@Ankunft", d.Ankunft)
+ ' cmd.Parameters.AddWithValue("@Freigabe", d.Freigabe)
+
+
+ cmd.Parameters.AddWithValue("@Dauer", d.Dauer)
+ cmd.Parameters.Add("@AvisoEingang", SqlDbType.DateTime).Value = SQLNullDate(d.AvisoEingang)
+ ' cmd.Parameters.AddWithValue("@AvisoEingang", SQLNullDate(d.AvisoEingang))
+
+ cmd.Parameters.AddWithValue("@Grenzstelle", d.Grenzstelle)
+ cmd.Parameters.AddWithValue("@LKW_fertig", d.LKW_fertig)
+ cmd.Parameters.AddWithValue("@AvisoID", d.AvisoID)
+ cmd.Parameters.AddWithValue("@letzterMitarbeiterId", If(letzerMaIdAuto, cGlobal.AktiverMitarbeiter.MitarbeiterID, IIf(IsNumeric(d.LetzterMitarbeiterId), d.LetzterMitarbeiterId, DBNull.Value)))
+ cmd.Parameters.AddWithValue("@Handling", d.Handling)
+ cmd.Parameters.AddWithValue("@Sendungen_Gesamtanzahl", d.Sendungen_Gesamtanzahl)
+ cmd.Parameters.AddWithValue("@Sammelakt", d.Sammelakt)
+
+ cmd.Parameters.AddWithValue("@Auftraggeber_KdNr", IIf(IsNumeric(d.Auftraggeber_KdNr), d.Auftraggeber_KdNr, DBNull.Value))
+ cmd.Parameters.AddWithValue("@Frächter_KdNr", IIf(IsNumeric(d.Frächter_KdNr), d.Frächter_KdNr, DBNull.Value))
+ cmd.Parameters.AddWithValue("@AvisoTVHinweis", d.AvisoTVHinweis)
+ cmd.Parameters.AddWithValue("@Buero", If(d.Buero, ""))
+ cmd.Parameters.AddWithValue("@Imex", d.ImEx)
+ cmd.Parameters.AddWithValue("@Abgeschlossen", d.Abgeschlossen)
+ cmd.Parameters.AddWithValue("@FIRMA", d.FIRMA)
+
+ cmd.Parameters.AddWithValue("@Durchgangszollstelle1", If(d.Durchgangszollstelle1 Is Nothing, DBNull.Value, d.Durchgangszollstelle1))
+ cmd.Parameters.AddWithValue("@Durchgangszollstelle2", If(d.Durchgangszollstelle2 Is Nothing, DBNull.Value, d.Durchgangszollstelle2))
+ cmd.Parameters.AddWithValue("@Durchgangszollstelle3", If(d.Durchgangszollstelle3 Is Nothing, DBNull.Value, d.Durchgangszollstelle3))
+ cmd.Parameters.AddWithValue("@Durchgangszollstelle4", If(d.Durchgangszollstelle4 Is Nothing, DBNull.Value, d.Durchgangszollstelle4))
+ cmd.Parameters.AddWithValue("@Durchgangszollstelle5", If(d.Durchgangszollstelle5 Is Nothing, DBNull.Value, d.Durchgangszollstelle5))
+ cmd.Parameters.AddWithValue("@Durchgangszollstelle6", If(d.Durchgangszollstelle6 Is Nothing, DBNull.Value, d.Durchgangszollstelle6))
+ cmd.Parameters.AddWithValue("@Ausgangszollstelle", If(d.Ausgangszollstelle Is Nothing, DBNull.Value, d.Ausgangszollstelle))
+ cmd.Parameters.AddWithValue("@Zollstelle", If(d.Zollstelle Is Nothing, DBNull.Value, d.Zollstelle))
+ cmd.Parameters.AddWithValue("@TransportTemperatur", If(d.TransportTemperatur Is Nothing, DBNull.Value, d.TransportTemperatur))
+ cmd.Parameters.AddWithValue("@Zugmaschine", If(d.Zugmaschine Is Nothing, DBNull.Value, d.Zugmaschine))
+ cmd.Parameters.AddWithValue("@FahrerHandy", If(d.FahrerHandy Is Nothing, DBNull.Value, d.FahrerHandy))
+ cmd.Parameters.AddWithValue("@LKW_Nationalitaet", If(d.LKW_Nationalitaet Is Nothing, DBNull.Value, d.LKW_Nationalitaet))
+ cmd.Parameters.AddWithValue("@DakosyRef", If(d.DakosyRef Is Nothing, DBNull.Value, d.DakosyRef))
+ cmd.Parameters.AddWithValue("@TeamId", If(d.TeamId Is Nothing, DBNull.Value, d.TeamId))
+ cmd.Parameters.AddWithValue("@Cluster", If(d.Cluster Is Nothing, DBNull.Value, d.Cluster))
+ cmd.Parameters.AddWithValue("@Freigabe_Info", d.Freigabe_Info)
+
+ cmd.Parameters.AddWithValue("@KdAuftragsNr_Frachtfuehrer", If(d.KdAuftragsNr_Frachtfuehrer Is Nothing, DBNull.Value, d.KdAuftragsNr_Frachtfuehrer))
+ cmd.Parameters.AddWithValue("@KdAuftragsNr_Avisierer", If(d.KdAuftragsNr_Avisierer Is Nothing, DBNull.Value, d.KdAuftragsNr_Avisierer))
+ cmd.Parameters.AddWithValue("@FreigabeFiliale", If(d.FreigabeFiliale Is Nothing, DBNull.Value, d.FreigabeFiliale))
+ cmd.Parameters.AddWithValue("@VoraussichtlichesEintreffen", If(d.VoraussichtlichesEintreffen Is Nothing, DBNull.Value, d.VoraussichtlichesEintreffen))
+ cmd.Parameters.AddWithValue("@Warenort", d.Warenort)
+ cmd.Parameters.AddWithValue("@ZOLLDigitalEingereicht", d.ZOLLDigitalEingereicht)
+
+
+ Try
+ If d.AvisoID <= 0 Then
+ id = (Convert.ToInt32(cmd.ExecuteScalar()))
+ ' MsgBox(id)
+ Else
+ cmd.ExecuteNonQuery()
+ End If
+
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Aviso")
+ End Try
+ End Using
+ conn.Close()
+
+ Return id
+
+ End Function
+
+
+
+ Public Function SpeichernAvisoVorpapiere(ByVal AvisoId As Integer, VORPAPIERE As List(Of cAvisoVorpapier)) As Boolean
+ SpeichernAvisoVorpapiere = True
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ If SQL.doSQL("DELETE tblAvisoVorpapier WHERE [vp_AvisoId]='" & AvisoId & "'", "AVISO") Then
+ For Each VP In VORPAPIERE
+ If Not SQL.doSQL("INSERT INTO tblAvisoVorpapier (vp_AvisoId, vp_Art,vp_Nr) VALUES ('" & AvisoId & "','" & VP.vp_Art & "','" & VP.vp_Nr & "') ", "AVISO") Then SpeichernAvisoVorpapiere = False
+ Next
+ Else
+ SpeichernAvisoVorpapiere = True = False
+ End If
+
+ End Function
+
+
+
+ Public Function setQSAufträge(ByVal daten As List(Of cQSAufträge)) As Boolean
+ For Each d As cQSAufträge In daten
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Dim sql As String = " begin tran" &
+ " if exists (select * from tblQS_Auftragspositionen with (updlock,serializable) where QS_Abfertigungsart_ID = @QS_Abfertigungsart_ID AND AvisoID = @AvisoID) " &
+ " begin " &
+ " UPDATE tblQS_Auftragspositionen " &
+ " SET QS_Abfertigungsart_Anzahl=@QS_Abfertigungsart_Anzahl " &
+ " WHERE QS_Abfertigungsart_ID = @QS_Abfertigungsart_ID AND AvisoID = @AvisoID " &
+ " End " &
+ " Else " &
+ " begin " &
+ " INSERT INTO tblQS_Auftragspositionen " &
+ " ([AvisoID],[QS_Abfertigungsart_ID],[QS_Abfertigungsart_Anzahl]) " &
+ " VALUES(@AvisoID, @QS_Abfertigungsart_ID, @QS_Abfertigungsart_Anzahl) " &
+ " End " &
+ " commit tran "
+
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@AvisoID", d.AvisoID)
+ cmd.Parameters.AddWithValue("@QS_Abfertigungsart_ID", d.QS_Abfertigungsart_ID)
+ cmd.Parameters.AddWithValue("@QS_Abfertigungsart_Anzahl", d.QS_Abfertigungsart_Anzahl)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm")
+ Return False
+ End Try
+
+ End Using
+ ' conn.Close()
+ Next
+
+ Return True
+ End Function
+
+
+ Public Function insertSendungEmpty(ByVal AvisoID As Integer, ByVal PosUnterNr As Integer, ByVal FilialenNr As Integer, ByVal AbfertigungsNr As Object, ByVal UnterNr As Integer, ByVal tblSnd_Abfertigungsart_ID As Object, Optional tblSnd_AuftraggeberKdNr As Object = Nothing, Optional tblSnd_Auftraggeber As Object = Nothing, Optional tblSnd_Fremdspedition As Boolean = False, Optional ByRef sndId As Integer = -1) As Boolean
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Dim sql As String = " INSERT INTO tblSendungen " &
+ " ([tblSnd_PosUnterNr],[tblSnd_AvisoID],FilialenNr,AbfertigungsNr,UnterNr,tblSnd_Abfertigungsart_ID,tblSnd_AuftraggeberKdNr,tblSnd_Auftraggeber,tblSnd_Fremdspedition,tblSnd_QS_MA,LetzterMitarbeiterId,LetzterMitarbeiter) " &
+ " VALUES(@PosUnterNr,@AvisoID,@FilialenNr,@AbfertigungsNr,@UnterNr,@tblSnd_Abfertigungsart_ID,@tblSnd_AuftraggeberKdNr,@tblSnd_Auftraggeber,@tblSnd_Fremdspedition,@tblSnd_QS_MA,@LetzterMitarbeiterId,@LetzterMitarbeiter) "
+
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@AvisoID", AvisoID)
+ cmd.Parameters.AddWithValue("@PosUnterNr", PosUnterNr)
+
+
+ cmd.Parameters.AddWithValue("@FilialenNr", FilialenNr)
+ cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr)
+ cmd.Parameters.AddWithValue("@UnterNr", UnterNr)
+
+ cmd.Parameters.AddWithValue("@tblSnd_Abfertigungsart_ID", IIf(tblSnd_Abfertigungsart_ID Is Nothing, DBNull.Value, tblSnd_Abfertigungsart_ID))
+ cmd.Parameters.AddWithValue("@tblSnd_AuftraggeberKdNr", IIf(tblSnd_AuftraggeberKdNr Is Nothing, DBNull.Value, tblSnd_AuftraggeberKdNr))
+ cmd.Parameters.AddWithValue("@tblSnd_Auftraggeber", IIf(tblSnd_Auftraggeber Is Nothing, DBNull.Value, tblSnd_Auftraggeber))
+ cmd.Parameters.AddWithValue("@tblSnd_Fremdspedition", tblSnd_Fremdspedition)
+
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "QS" Then
+ cmd.Parameters.AddWithValue("@tblSnd_QS_MA", VERAG_PROG_ALLGEMEIN.cAllgemein.USRID)
+ Else
+ cmd.Parameters.AddWithValue("@tblSnd_QS_MA", DBNull.Value)
+ End If
+
+ cmd.Parameters.AddWithValue("@LetzterMitarbeiter", VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME)
+ cmd.Parameters.AddWithValue("@LetzterMitarbeiterId", VERAG_PROG_ALLGEMEIN.cAllgemein.USRID)
+
+
+ Try
+ cmd.ExecuteNonQuery()
+
+ If sndId <= 0 Then
+ Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn)
+ sndId = CInt(newcmd.ExecuteScalar)
+ End If
+
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm")
+ Return False
+ End Try
+
+ End Using
+
+ Return True
+ End Function
+
+
+ Public Function reIndexSendungen(ByVal AvisoID As Integer) As Boolean
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Dim sql As String = " DECLARE @counter int " &
+ " SET @counter = 0 " &
+ " UPDATE AVISO_new.dbo.tblSendungen " &
+ " SET @counter = tblSnd_PosUnterNr = @counter + 1 " &
+ " WHERE tblSnd_AvisoID = @AvisoID "
+
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@AvisoID", AvisoID)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm")
+ Return False
+ End Try
+
+ End Using
+
+ Return True
+ End Function
+
+
+ Public Sub LöschenAviso(ByVal hID As Integer)
+
+ Exit Sub
+ ' LöschenAviso_Vermerke(hID)
+ ' LöschenAviso_Aenderungen(hID)
+ LöschenAviso_Aviso(hID)
+ End Sub
+
+ Public Sub LöschenAviso_Vermerke(ByVal hID As Integer)
+ Dim sql = String.Format("DELETE FROM Vermerke WHERE AvisoID = {0}", hID)
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Vermerke-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+ Public Sub LöschenAviso_Aenderungen(ByVal hID As Integer)
+ Dim sql = String.Format("DELETE FROM Aenderungen WHERE AvisoID = {0}", hID)
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Aenderungen-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+ Public Sub LöschenAviso_Aviso(ByVal hID As Integer)
+ Dim sql = String.Format("DELETE FROM Aviso WHERE AvisoID = {0}", hID)
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Aviso-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+ Public Function LeseAvisoFürDruck(hSQL As String, hIntern As Boolean) As List(Of cDruckAviso)
+ Dim datenListe As List(Of cDruckAviso) = New List(Of cDruckAviso)
+ Dim datensatz As cDruckAviso
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+
+ Using cmd As New SqlCommand(hSQL, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ If (dr.HasRows) Then
+ While dr.Read()
+ datensatz = New cDruckAviso()
+ datensatz.Datum = Format(CDate(dr.Item("Datum")), "dd.MM.yyyy")
+ Select Case VarToInt(dr.Item("Status"))
+ Case cGlobal.Status_Erfasst
+ datensatz.Status = "erfasst"
+ Case cGlobal.Status_Ankunft
+ datensatz.Status = "Ankunft"
+ Case cGlobal.Status_Freigegeben
+ datensatz.Status = "freigegeben"
+ Case cGlobal.Status_NichtEingetroffen
+ datensatz.Status = "LKW n.e."
+ Case Else
+ datensatz.Status = "unbekannt"
+ End Select
+ datensatz.LetzterMitarbeiter = dr.Item("LetzterMitarbeiter").ToString
+ datensatz.LKW_Nr = dr.Item("LKW_Nr").ToString
+ datensatz.Fraechter = dr.Item("Frächter").ToString
+ datensatz.Auftraggeber = dr.Item("Auftraggeber").ToString
+ datensatz.Grenzstelle = dr.Item("Grenzstelle").ToString
+ datensatz.Telefonisch = VarToStr(dr.Item("Telefonisch"))
+
+
+ If CDate(VarToDate(dr.Item("Ankunft"))) = LeerDatum Then
+ datensatz.Ankunft = ""
+ Else
+ datensatz.Ankunft = Format(CDate(dr.Item("Ankunft")), "dd.MM. HH:mm")
+ End If
+ If CDate(VarToDate(dr.Item("Freigabe"))) = LeerDatum Then
+ datensatz.Freigabe = ""
+ Else
+ datensatz.Freigabe = Format(CDate(dr.Item("Freigabe")), "dd.MM. HH:mm")
+ End If
+ If CDate(VarToDate(dr.Item("AvisoEingang"))) = LeerDatum Then
+ datensatz.Freigabe = ""
+ Else
+ datensatz.Freigabe = Format(CDate(dr.Item("AvisoEingang")), "dd.MM. HH:mm")
+ End If
+ If VarToInt(dr.Item("Dauer")) = 0 Then
+ datensatz.Dauer = ""
+ Else
+ datensatz.Dauer = Minuten_auf_Text(VarToInt(dr.Item("Dauer")))
+ End If
+
+ If CDate(VarToDate(dr.Item("AvisoEingang"))) = LeerDatum Then
+ datensatz.AvisoEingang = ""
+ Else
+ datensatz.AvisoEingang = Format(CDate(dr.Item("AvisoEingang")), "dd.MM. HH:mm")
+ End If
+
+ datensatz.Grenzstelle = dr.Item("Grenzstelle").ToString
+
+ 'je nach Listenauswahl werden manche Felder unterschiedlich befüllt
+ If hIntern Then
+ datensatz.Aenderungen = dr.Item("Änderungen").ToString
+ datensatz.Info = dr.Item("Info").ToString
+ Else
+ 'das Feld 'Änderungen' wird hier "mißbraucht" (schnelle Lösung)
+ If CDate(VarToDate(dr.Item("AvisoEingang"))) = LeerDatum Then
+ datensatz.Aenderungen = ""
+ Else
+ datensatz.Aenderungen = Format(CDate(dr.Item("AvisoEingang")), "dd.MM. HH:mm")
+ End If
+
+ 'ins Infofeld kommen die Vermerke
+ Dim hVermerke As New cVermerkeDAL
+ datensatz.Info = hVermerke.Vermerke_einlesen(VarToInt(dr.Item("AvisoID")))
+
+ End If
+ datenListe.Add(datensatz)
+ End While
+ End If
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+
+ Return datenListe
+ End Function
+
+ Public Function Check_Nicht_eingetroffen(hSQL As String) As Integer
+ 'Hier werden alle als Urlaub gekennzeichneten Tage zusammengezählt
+ Check_Nicht_eingetroffen = 0
+ Dim sql As String = hSQL
+ Dim AvisoDAL As New cAvisoDAL
+ Using conn As New SqlConnection(cSqlDb.GetAVISOConnectionString)
+ Try
+ SqlConnection.ClearPool(conn)
+ conn.Open()
+
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ While dr.Read()
+ Dim av As New cAviso
+ av = AvisoDAL.LesenAviso(VarToInt(dr.Item("AvisoID")), "")
+ av.Änderungen = "automatisch auf 'LKW nicht eingetroffen' gestellt am " & Format(Now, "dd.MM.yyyy HH:mm") & ", da bereits länger als 10 Tage offen" & vbCrLf & av.Änderungen
+ av.letzterMitarbeiter = "Automatik"
+ av.Status = cGlobal.Status_NichtEingetroffen
+ Dim tmpid = AvisoDAL.SpeichernAviso(av)
+ AvisoDAL.addAenderung(tmpid, "automatisch auf 'LKW nicht eingetroffen' gestellt", "automatisch auf 'LKW nicht eingetroffen' gestellt am " & Format(Now, "dd.MM.yyyy HH:mm") & ", da bereits länger als 10 Tage offen")
+
+ Check_Nicht_eingetroffen += 1
+ End While
+ dr.Close()
+ End Using
+ End Using
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Function Check_Nicht_eingetroffen:" & vbCrLf & vbCrLf & ex.Message & vbCrLf & vbCrLf & "Der Vorgang wird abgebrochen!", MsgBoxStyle.Exclamation)
+ Check_Nicht_eingetroffen = 0
+ Exit Try
+ Finally
+ conn.Close()
+ End Try
+
+ End Using
+ Return Check_Nicht_eingetroffen
+ End Function
+
+ Public Function Anzahl_Aviso_ermitteln(hSQL As String) As Integer
+ 'Hier werden alle als Urlaub gekennzeichneten Tage zusammengezählt
+ Anzahl_Aviso_ermitteln = 0
+ Dim sql As String = hSQL
+ Dim daten As cAviso = Nothing
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionWithoutError()
+ Try
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ While dr.Read()
+ Anzahl_Aviso_ermitteln += 1
+ End While
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Catch ex As Exception
+ 'MsgBox("Fehler in der Function Anzahl_Aviso_ermitteln:" & vbCrLf & vbCrLf & ex.Message & vbCrLf & vbCrLf & "Der Vorgang wird abgebrochen!", MsgBoxStyle.Exclamation)
+ Return 0
+ Exit Try
+ End Try
+
+ Return Anzahl_Aviso_ermitteln
+ End Function
+
+End Class
+
+Public Class cVermerk
+ Property VermerkID As Integer
+ Property AvisoID As Integer
+ Property SendungID As Integer = -1
+ Property VermerkArt As String = "A"
+ Property Datum As Date
+ Property Mitarbeiter As String
+ Property MitarbeiterId As Integer
+ Property Hinweis_Vermerk As String
+ Property VermerkCodeId As Integer
+ Property VorauskasseId As Object = Nothing
+ Property Beschreibung As String = ""
+ Property SMSId As Integer
+ Property SMSStatus As Integer
+
+
+End Class
+
+Public Class cVermerkeDAL
+
+
+ Public Function LesenVermerk(hID As Integer, hSQL As String) As cVermerk
+ 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
+ Dim sql As String
+ If hID > 0 Then
+ sql = String.Format("SELECT * FROM Vermerke WHERE VermerkID = {0}", hID)
+ Else
+ sql = hSQL
+ End If
+ Dim daten As cVermerk = Nothing
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ daten = New cVermerk()
+ daten.VermerkID = VarToInt(dr.Item("VermerkID"))
+ daten.AvisoID = VarToInt(dr.Item("AvisoID"))
+ daten.Datum = CDate(VarToDate(dr.Item("Datum")))
+ daten.Hinweis_Vermerk = VarToStr(dr.Item("Hinweis_Vermerk"))
+ daten.Mitarbeiter = VarToStr(dr.Item("Mitarbeiter"))
+ daten.VermerkCodeId = VarToInt(dr.Item("VermerkeCode"))
+ daten.SendungID = VarToInt(dr.Item("SendungID"))
+ daten.VermerkArt = VarToStr(dr.Item("VermerkArt"))
+ daten.VorauskasseId = VarToStr(dr.Item("VorauskasseId"))
+ daten.SMSId = VarToInt(dr.Item("SMSId"))
+ daten.SMSStatus = VarToInt(dr.Item("SMSstatus"))
+ End If
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Return daten
+ End Function
+
+ Public Function Anzeigen_Vermerke(hSQL As String) As DataTable
+ While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+ Dim myTable = New DataTable()
+ 'Dim sql As String
+ 'sql = hSQL
+ Using cmd As New SqlCommand(hSQL, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'Anzeigen_Vermerke'")
+ ' If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ ' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ ' Environment.Exit(0)
+ ' End If
+ End Try
+ conn.Close()
+ End While
+
+ Return Nothing
+ End Function
+
+
+
+ Public Function loadTableMyAviso(maId As Integer) As DataTable
+ ' While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
+ Try
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+
+ Dim myTable = New DataTable()
+ Dim sql As String = " SELECT AvisoID, [Status],CASE WHEN LetzterMitarbeiterId=@maId then '0' ELSE '1' END as [statVorb], LKW_Nr, Dauer, Datum, AvisoEingang, Ankunft, Grenzstelle, Freigabe, LetzterMitarbeiterId AS maId, CASE WHEN LetzterMitarbeiterId=@maId then '0' ELSE '1' END as Vorbereitung,LetzterMitarbeiter,CASE WHEN [LKW_fertig] = 1 THEN 'OK' ELSE '' END AS [LKW_fertig],AvisoTVHinweis " &
+ " FROM Aviso " &
+ " WHERE ( Status IN (0, 3, 4, 5) OR ( Status = 1 AND [Abgeschlossen] = 0 )) " &
+ " AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' AND (LetzterMitarbeiterId=@maId OR " &
+ " AVISOid IN ( SELECT distinct(tblSnd_AvisoID) FROM [tblSendungen] WHERE tblSnd_inbearbeitung=1 AND tblSnd_Bearbeitung_MaId=@maId) ) " &
+ "ORDER BY case " &
+ " when [Status] =3 then 0 " &
+ " when [Status] =1 then 1 " &
+ " when [Status] =99 then 2 " &
+ " when [Status] =4 then 3 " &
+ " when [Status] =5 then 4 " &
+ " when [Status] =0 then 5 " &
+ " END, Ankunft "
+
+ Using cmd As New SqlCommand(sql, conn)
+ 'Using dr As SqlDataReader = cmd.ExecuteReader()
+ Dim adapter As New SqlDataAdapter(cmd)
+
+ 'cmd.CommandType = CommandType.StoredProcedure
+ cmd.Parameters.AddWithValue("@maId", maId)
+ 'Add parameters, e.g.
+ adapter.ContinueUpdateOnError = True
+ 'Get the data.
+ adapter.Fill(myTable)
+
+
+ 'dr.Close()
+ ' End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'Anzeigen_Vermerke'")
+ ' If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ 'MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ ' Environment.Exit(0)
+ 'End If
+ End Try
+ conn.Close()
+ ' End While
+
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'Anzeigen_Vermerke'")
+
+ End Try
+ Return Nothing
+ End Function
+
+
+ Public Function loadTableMyAvisoOLD(maId As Integer) As DataTable
+ While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+
+ Dim myTable = New DataTable()
+ 'Dim sql As String
+ 'sql = hSQL
+ ' command As New SqlCommand("sproc name here", connection),
+ ' adapter As New SqlDataAdapter(command)
+
+ Using cmd As New SqlCommand("spmyaviso2", conn)
+ 'Using dr As SqlDataReader = cmd.ExecuteReader()
+ Dim adapter As New SqlDataAdapter(cmd)
+
+ cmd.CommandType = CommandType.StoredProcedure
+ cmd.Parameters.AddWithValue("@maId", maId)
+ 'Add parameters, e.g.
+ adapter.ContinueUpdateOnError = True
+ 'Get the data.
+ adapter.Fill(myTable)
+
+
+ 'dr.Close()
+ ' End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'Anzeigen_Vermerke'")
+ If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ Environment.Exit(0)
+ End If
+ End Try
+ conn.Close()
+ End While
+
+ Return Nothing
+ End Function
+
+
+ Public Function SpeichernVermerk(ByVal d As cVermerk) As Integer
+ SpeichernVermerk = -1
+
+ Dim hAuswahl As String
+ If d.VermerkID = 0 Then
+ 'Neuanlage
+ hAuswahl = "INSERT INTO Vermerke " &
+ "(AvisoID,VermerkArt,SendungID, Datum, Mitarbeiter, Hinweis_Vermerk, VermerkeCode,MitarbeiterId,Beschreibung,VorauskasseId,SMSId,SMSStatus) VALUES (@AvisoID,@VermerkArt, @SendungID, @Datum, @Mitarbeiter, @Hinweis_Vermerk, @VermerkeCode,@MitarbeiterId,@Beschreibung,@VorauskasseId,@SMSId,@SMSStatus)"
+ Else
+ 'Änderung
+ hAuswahl = String.Format(
+ "UPDATE Vermerke SET AvisoID = @AvisoID, VermerkArt=@VermerkArt,SendungID=@SendungID,Datum = @Datum, Mitarbeiter = @Mitarbeiter, Hinweis_Vermerk = @Hinweis_Vermerk, VermerkeCode = @VermerkeCode, MitarbeiterId=@MitarbeiterId, Beschreibung=@Beschreibung,VorauskasseId=@VorauskasseId WHERE VermerkID = @VermerkID,SMSId=@SMSId,SMSStatus=@SMSStatus")
+ End If
+ Dim sql = hAuswahl
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@AvisoID", d.AvisoID)
+ cmd.Parameters.Add("@Datum", SqlDbType.DateTime).Value = SQLNullDate(d.Datum)
+ cmd.Parameters.AddWithValue("@Mitarbeiter", d.Mitarbeiter)
+ cmd.Parameters.AddWithValue("@Hinweis_Vermerk", d.Hinweis_Vermerk)
+ cmd.Parameters.AddWithValue("@VermerkID", d.VermerkID)
+ cmd.Parameters.AddWithValue("@VermerkeCode", d.VermerkCodeId)
+ cmd.Parameters.AddWithValue("@MitarbeiterId", d.MitarbeiterId)
+ cmd.Parameters.AddWithValue("@Beschreibung", d.Beschreibung)
+ cmd.Parameters.AddWithValue("@VermerkArt", d.VermerkArt)
+ cmd.Parameters.AddWithValue("@SendungID", If(d.SendungID > 0, d.SendungID, DBNull.Value))
+ cmd.Parameters.AddWithValue("@VorauskasseId", If(d.VorauskasseId IsNot Nothing, d.VorauskasseId, DBNull.Value))
+ cmd.Parameters.AddWithValue("@SMSId", d.SMSId)
+ cmd.Parameters.AddWithValue("@SMSStatus", d.SMSStatus)
+
+ Try
+ cmd.ExecuteNonQuery()
+
+ Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn)
+ SpeichernVermerk = CInt(newcmd.ExecuteScalar)
+
+
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ End Using
+ conn.Close()
+
+ End Function
+
+ Public Function SpeichernVermerkIDAufgehoben(VermerkID, VermerkIDAufgehoben) As Boolean
+ Dim SQLstr As String = " UPDATE Vermerke SET VermerkIDAufgehoben = @VermerkIDAufgehoben WHERE VermerkID = @VermerkID"
+ 'MsgBox("UPDATE Vermerke SET VermerkIDAufgehoben = " & VermerkIDAufgehoben & " WHERE VermerkID = " & VermerkID & "")
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(SQLstr, conn)
+ cmd.Parameters.AddWithValue("@VermerkID", VermerkID)
+ cmd.Parameters.AddWithValue("@VermerkIDAufgehoben", VermerkIDAufgehoben)
+
+ Try
+ cmd.ExecuteNonQuery()
+ Return True
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ End Using
+ conn.Close()
+ Return False
+ End Function
+
+
+ Public Sub UpdateLKW(ByVal avisoID As Integer, ByVal LKW_fertig As Boolean)
+
+ Dim sql = "UPDATE Aviso Set [LKW_fertig]= @LKW_fertig WHERE AvisoID = @AvisoID"
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@LKW_fertig", LKW_fertig)
+ cmd.Parameters.AddWithValue("@AvisoID", avisoID)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+ Public Sub UpdateSendungVorbereitet(ByVal AvisoID As Integer, ByVal sendungsId As Integer, ByVal MaId As Integer, ByVal inBearbeitung As Boolean)
+
+ Dim sql = "UPDATE tblSendungen Set tblSnd_inBearbeitung= @inBearbeitung, tblSnd_Bearbeitung_MaId = @MaId WHERE tblSnd_SendungID = @sendungsId"
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@inBearbeitung", inBearbeitung)
+ cmd.Parameters.AddWithValue("@MaId", MaId)
+ cmd.Parameters.AddWithValue("@sendungsId", sendungsId)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ End Using
+ conn.Close()
+ 'SetInBearbeitungAVISO(AvisoID)
+ End Sub
+
+
+ Public Sub SetInBearbeitungAVISO(ByVal AvisoID As Integer)
+
+ Dim sql = "UPDATE Aviso SET inBearbeitung= (SELECT CASE WHEN count([tblSnd_inBearbeitung])>0 Then '1' ELSE '0' END FROM [tblSendungen] where [tblSnd_AvisoID]=@AvisoID) WHERE AvisoID = @AvisoID "
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@AvisoID", AvisoID)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+ Public Sub UpdateGrenzstelle(ByVal avisoID As Integer, ByVal Grenzstelle As String)
+
+ Dim sql = "UPDATE Aviso SET [Grenzstelle]= @Grenzstelle WHERE AvisoID = @AvisoID AND Status <> " & cGlobal.Status_Ankunft & ""
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@Grenzstelle", Grenzstelle)
+ cmd.Parameters.AddWithValue("@AvisoID", avisoID)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+
+ Public Sub LöschenVermerk(ByVal hID As Integer)
+ Dim sql = String.Format("DELETE FROM Vermerke WHERE VermerkID = {0}", hID)
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Vermerk kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+
+ Public Sub toggleHervorheben(ByVal hID As Integer)
+ Dim sql = String.Format("UPDATE Vermerke SET Hervorheben=Hervorheben-1 WHERE VermerkID = {0}", hID)
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Hervorheben kann nicht gesetzt werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Hervorheben")
+ End Try
+ End Using
+ conn.Close()
+
+ End Sub
+ Public Function Vermerke_einlesen(hAvisoID As Integer) As String
+ 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
+ Dim x As String = ""
+ Dim Anz As Long = 0
+ Dim sql As String = "SELECT * FROM Vermerke WHERE AvisoID = " & hAvisoID & " ORDER BY Datum"
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ While dr.Read()
+ x += Format(CDate(dr.Item("Datum")), "dd.MM. HH:mm") & vbTab &
+ VarToStr(dr.Item("Hinweis_Vermerk")) & vbCrLf
+ Anz += 1
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Function Vermerke_einlesen:" & vbCrLf & vbCrLf & ex.Message & vbCrLf & vbCrLf & "Der Vorgang wird abgebrochen!", MsgBoxStyle.Exclamation)
+ Anz = 0
+ Exit Try
+ End Try
+ conn.Close()
+ If Anz = 0 Then x = "keine Vermerke vorhanden"
+
+ Return x
+
+ End Function
+
+ Public Function Druckinfo(hSQL As String) As String
+ 'Hier werden alle Sonderkorrektur-Einträge des Tages in einem Textfile zusammengefasst (als Info für Druck)
+ Druckinfo = ""
+ Dim Anz As Integer = 0
+ Dim daten As cVermerk = Nothing
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+ Using cmd As New SqlCommand(hSQL, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ While dr.Read()
+ Anz += 1
+ Druckinfo += Format(CDate(dr.Item("Datum")), "dd.MM. HH:mm") & " " &
+ VarToStr(dr.Item("Hinweis_Vermerk")) & vbCrLf
+ End While
+ dr.Close()
+ If Anz = 0 Then Druckinfo = "" 'wenn nichts gefunden, dann Druckzeile leer lassen
+ End Using
+ End Using
+ Catch ex As Exception
+ Druckinfo = "Es ist ein Fehler beim Lesen der Vermerke aufgetreten."
+ Exit Try
+ End Try
+ conn.Close()
+ Return Druckinfo
+ End Function
+
+End Class
+
+
+Public Class cAvisoTV
+ Property TVID As Long
+ Property FixeZeile1 As String
+ Property FixeZeile2 As String
+ Property FixeZeile3 As String
+ Property Standort As String
+ Property Art As String
+End Class
+
+Public Class cAvisoTVDAL
+
+ Public Function LesenAvisoTV(hID As Integer, wherehSQL As String, Standort As String, Special As String) As cAvisoTV
+ 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
+ Dim sql As String
+ sql = "SELECT * FROM AvisoTV WHERE 1=1 "
+ If hID > 0 Then
+ sql &= String.Format(" AND TVID = {0}", hID)
+ Else
+ sql &= wherehSQL
+ End If
+
+ If Standort <> "" Then
+ sql &= " AND Standort='" & Standort & "'"
+ End If
+
+ If Standort <> "" Then
+ sql &= " AND (Special is null or Special='" & Special & "') "
+ End If
+
+ sql &= " ORDER BY Special desc,TVID "
+
+ Dim daten As cAvisoTV = Nothing
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionWithoutError()
+ Try
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ daten = New cAvisoTV()
+ daten.TVID = VarToInt(dr.Item("TVID"))
+ daten.FixeZeile1 = VarToStr(dr.Item("FixeZeile1"))
+ daten.FixeZeile2 = VarToStr(dr.Item("FixeZeile2"))
+ daten.FixeZeile3 = VarToStr(dr.Item("FixeZeile3"))
+ daten.Standort = VarToStr(dr.Item("Standort"))
+ daten.Art = VarToStr(dr.Item("Art"))
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Return daten
+ Catch ex As Exception
+ Return Nothing
+ End Try
+ conn.Close()
+
+ End Function
+
+ Public Sub SpeichernAvisoTV(ByVal d As cAvisoTV)
+ Dim hAuswahl As String
+ If d.TVID = 0 Then
+ 'Neuanlage
+ hAuswahl = "INSERT INTO AvisoTV " &
+ "(FixeZeile1, FixeZeile2, FixeZeile3) VALUES (@FixeZeile1, @FixeZeile2, @FixeZeile3, @Standort, @Art)"
+ Else
+ 'Änderung
+ hAuswahl = String.Format(
+ "UPDATE AvisoTV SET FixeZeile1=@FixeZeile1, FixeZeile2=@FixeZeile2, FixeZeile3=@FixeZeile3 , Standort=@Standort , Art=@Art WHERE TVID = @TVID")
+ End If
+ Dim sql = hAuswahl
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@FixeZeile1", d.FixeZeile1)
+ cmd.Parameters.AddWithValue("@FixeZeile2", d.FixeZeile2)
+ cmd.Parameters.AddWithValue("@FixeZeile3", d.FixeZeile3)
+ cmd.Parameters.AddWithValue("@Standort", d.Standort)
+ cmd.Parameters.AddWithValue("@Art", d.Art)
+ cmd.Parameters.AddWithValue("@TVID", d.TVID)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern AvisoTV")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+ Public Sub LöschenAvisoTV(ByVal hID As Integer)
+ Dim sql = String.Format("DELETE FROM AvisoTV WHERE TVID = {0}", hID)
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("AvisoTV-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+
+End Class
+
+Public Class cOption
+ Property OptionID As Long
+ Property eMail_Ankunft_Betreff As String
+ Property eMail_Ankunft_Text As String
+ Property eMail_Freigabe_Betreff As String
+ Property eMail_Freigabe_Text As String
+End Class
+
+Public Class cOptionenDAL
+
+ Public Function LesenOptionen(hID As Integer, hSQL As String) As cOption
+ 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
+ Dim sql As String
+ If hID > 0 Then
+ sql = String.Format("SELECT * FROM Optionen WHERE OptionID = {0}", hID)
+ Else
+ sql = hSQL
+ End If
+ Dim daten As cOption = Nothing
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ daten = New cOption()
+ daten.OptionID = VarToInt(dr.Item("OptionID"))
+ daten.eMail_Ankunft_Betreff = VarToStr(dr.Item("eMail_Ankunft_Betreff"))
+ daten.eMail_Ankunft_Text = VarToStr(dr.Item("eMail_Ankunft_Text"))
+ daten.eMail_Freigabe_Betreff = VarToStr(dr.Item("eMail_Freigabe_Betreff"))
+ daten.eMail_Freigabe_Text = VarToStr(dr.Item("eMail_Freigabe_Text"))
+ End If
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Return daten
+ End Function
+
+
+
+ Public Function setAVISOFromPcName() As Integer
+ Dim zeilen As Integer = 0
+ Dim sql = String.Format(
+ " UPDATE Aviso SET LetzterMitarbeiter = @LetzterMitarbeiter, LetzterMitarbeiterId = @LetzterMitarbeiterId " &
+ " WHERE Status IN (" & cGlobal.Status_Ankunft & ") AND LetzterMitarbeiter like '%/" & cAllgemein.USRNAME.ToString & "' " &
+ " AND LetzterMitarbeiterId NOT LIKE @LetzterMitarbeiterId")
+ ' MsgBox(sql)
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ ' cmd.Parameters.AddWithValue("@LetzterMitarbeiter", cGlobal.AktiverMitarbeiter.Mitarbeiter & "/" & cAllgemein.USRNAME.ToString)
+ cmd.Parameters.AddWithValue("@LetzterMitarbeiter", cGlobal.AktiverMitarbeiter.Mitarbeiter)
+ cmd.Parameters.AddWithValue("@LetzterMitarbeiterId", cGlobal.AktiverMitarbeiter.MitarbeiterID)
+ Try
+ zeilen = cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler bei setAVISOFromPcName")
+ End Try
+ End Using
+ conn.Close()
+ Return zeilen
+ End Function
+
+
+
+ Public Sub SpeichernOptionen(ByVal d As cOption)
+ Dim hAuswahl As String
+ If d.OptionID = 0 Then
+ 'Neuanlage
+ hAuswahl = "INSERT INTO Optionen " &
+ "(eMail_Ankunft_Betreff, eMail_Ankunft_Text, eMail_Freigabe_Betreff, eMail_Freigabe_Text) VALUES (@eMail_Ankunft_Betreff, @eMail_Ankunft_Text, @eMail_Freigabe_Betreff, @eMail_Freigabe_Text)"
+ Else
+ 'Änderung
+ hAuswahl = String.Format(
+ "UPDATE Optionen SET eMail_Ankunft_Betreff=@eMail_Ankunft_Betreff, eMail_Ankunft_Text=@eMail_Ankunft_Text, eMail_Freigabe_Betreff=@eMail_Freigabe_Betreff, eMail_Freigabe_Text=@eMail_Freigabe_Text WHERE OptionID = @OptionID")
+ End If
+ Dim sql = hAuswahl
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@eMail_Ankunft_Betreff", d.eMail_Ankunft_Betreff)
+ cmd.Parameters.AddWithValue("@eMail_Ankunft_Text", d.eMail_Ankunft_Text)
+ cmd.Parameters.AddWithValue("@eMail_Freigabe_Betreff", d.eMail_Freigabe_Betreff)
+ cmd.Parameters.AddWithValue("@eMail_Freigabe_Text", d.eMail_Freigabe_Text)
+ cmd.Parameters.AddWithValue("@OptionID", d.OptionID)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Optionen können nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Optionen")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+ Public Sub LöschenOptionen(ByVal hID As Integer)
+ Dim sql = String.Format("DELETE FROM Optionen WHERE TVID = {0}", hID)
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Optionen-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+
+End Class
+
+Public Class cStandort
+ Property StandortID As Integer
+ Property Standort As String
+ Property Standort_Text As String
+ Property Info As String
+ Property eMail_Ankunft_Betreff As String
+ Property eMail_Ankunft_Text As String
+ Property eMail_Freigabe_Betreff As String
+ Property eMail_Freigabe_Text As String
+
+ Property eMail_Zollbeleg_Betreff As String
+ Property eMail_Zollbeleg_Text As String
+End Class
+
+Public Class cStandorteDAL
+
+ Public Function LesenStandort(hID As Integer, hStandort As String, hSQL As String) As cStandort
+ 'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
+ Dim sql As String
+ If hID > 0 Then
+ sql = String.Format("SELECT * FROM Standorte WHERE StandortID = {0}", hID)
+ ElseIf hStandort <> "" Then
+ sql = String.Format("SELECT * FROM Standorte WHERE Standort = '" & hStandort.Trim & "' and FIRMA ='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "'")
+ Else
+ sql = hSQL
+ End If
+
+ Dim daten As cStandort = Nothing
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ daten = New cStandort()
+ daten.StandortID = VarToInt(dr.Item("StandortID"))
+ daten.Standort = VarToStr(dr.Item("Standort"))
+ daten.Standort_Text = VarToStr(dr.Item("Standort_Text"))
+ daten.Info = VarToStr(dr.Item("Info"))
+ daten.eMail_Ankunft_Betreff = VarToStr(dr.Item("eMail_Ankunft_Betreff"))
+ daten.eMail_Ankunft_Text = VarToStr(dr.Item("eMail_Ankunft_Text"))
+ daten.eMail_Freigabe_Betreff = VarToStr(dr.Item("eMail_Freigabe_Betreff"))
+ daten.eMail_Freigabe_Text = VarToStr(dr.Item("eMail_Freigabe_Text"))
+ daten.eMail_Zollbeleg_Betreff = VarToStr(dr.Item("eMail_Zollbeleg_Betreff"))
+ daten.eMail_Zollbeleg_Text = VarToStr(dr.Item("eMail_Zollbeleg_Text"))
+ End If
+ dr.Close()
+ End Using
+ End Using
+ conn.Close()
+ Return daten
+ End Function
+
+ Public Function Anzeigen_Standorte(hSQL As String) As DataTable
+ While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+ Dim myTable = New DataTable()
+ 'Dim sql As String
+ 'sql = hSQL
+
+ Using cmd As New SqlCommand(hSQL, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'Anzeigen_Standorte'")
+ If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ Environment.Exit(0)
+ End If
+ End Try
+ conn.Close()
+ End While
+
+ Return Nothing
+ End Function
+
+ Public Function Anzeigen_cboStandorte() As DataTable
+ While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+ Dim myTable = New DataTable()
+ Dim sql As String
+
+ sql = "SELECT StandortID, Standort FROM Standorte ORDER BY Standort"
+
+ Using cmd As New SqlCommand(sql, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'Anzeigen_cboStandort'")
+ If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ Environment.Exit(0)
+ End If
+ End Try
+ conn.Close()
+ End While
+
+ Return Nothing
+ End Function
+
+ Public Sub SpeichernStandort(ByVal d As cStandort)
+ Dim hAuswahl As String
+ If d.StandortID = 0 Then
+ 'Neuanlage
+ hAuswahl = "INSERT INTO Standorte " &
+ "(Standort, Standort_Text, Info, eMail_Ankunft_Betreff, eMail_Ankunft_Text, eMail_Freigabe_Betreff, eMail_Freigabe_Text,eMail_Zollbeleg_Betreff,eMail_Zollbeleg_Text) VALUES (" &
+ "@Standort, @Standort_Text, @Info, @eMail_Ankunft_Betreff, @eMail_Ankunft_Text, @eMail_Freigabe_Betreff, @eMail_Freigabe_Text,@eMail_Zollbeleg_Betreff,@eMail_Zollbeleg_Text)"
+ Else
+ 'Änderung
+ hAuswahl = String.Format(
+ "UPDATE Standorte SET Standort = @Standort, Standort_Text=@Standort_Text, Info=@Info, eMail_Ankunft_Betreff=@eMail_Ankunft_Betreff, eMail_Ankunft_Text=@eMail_Ankunft_Text, eMail_Freigabe_Betreff=@eMail_Freigabe_Betreff, eMail_Freigabe_Text=@eMail_Freigabe_Text , eMail_Zollbeleg_Betreff=@eMail_Zollbeleg_Betreff , eMail_Zollbeleg_Text=@eMail_Zollbeleg_Text " &
+ "WHERE StandortID = @StandortID")
+ End If
+ Dim sql = hAuswahl
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@Standort", d.Standort)
+ cmd.Parameters.AddWithValue("@Standort_Text", d.Standort_Text)
+ cmd.Parameters.AddWithValue("@Info", d.Info)
+ cmd.Parameters.AddWithValue("@eMail_Ankunft_Betreff", d.eMail_Ankunft_Betreff)
+ cmd.Parameters.AddWithValue("@eMail_Ankunft_Text", d.eMail_Ankunft_Text)
+ cmd.Parameters.AddWithValue("@eMail_Freigabe_Betreff", d.eMail_Freigabe_Betreff)
+ cmd.Parameters.AddWithValue("@eMail_Freigabe_Text", d.eMail_Freigabe_Text)
+ cmd.Parameters.AddWithValue("@eMail_Zollbeleg_Betreff", d.eMail_Zollbeleg_Betreff)
+ cmd.Parameters.AddWithValue("@eMail_Zollbeleg_Text", d.eMail_Zollbeleg_Text)
+ cmd.Parameters.AddWithValue("@StandortID", d.StandortID)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Standort")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+ Public Sub LöschenStandort(ByVal hID As Integer)
+ Dim sql = String.Format("DELETE FROM Standorte WHERE StandortID = {0}", hID)
+
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Standort kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+End Class
+
+
+Public Class Statistik
+ Public Function getKunden(hSQL As String) As DataTable
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Try
+ Dim myTable = New DataTable()
+ 'Dim sql As String
+ 'sql = hSQL
+ Using cmd As New SqlCommand(hSQL, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'getKunden'")
+ If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ Environment.Exit(0)
+ End If
+ End Try
+ conn.Close()
+ ' End While
+ Return Nothing
+ End Function
+
+
+ Public Function getAVG(ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String) As Long
+ If DauerVon = "" Then DauerBis = "0"
+ If DauerBis = "" Then DauerBis = "999999"
+ Dim sql As String = "SELECT avg(Dauer) " &
+ " FROM Aviso WHERE ( Datum BETWEEN '" & datumVon.ToShortDateString & "' AND '" & datumBis.ToShortDateString & "') AND ( Dauer BETWEEN '" & DauerVon & "' AND '" & DauerBis & "') AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' "
+ ' Dim sql As String = "SELECT * " &
+ ' " FROM Aviso"
+ ' MsgBox(sql)
+ ' Dim daten As New List(Of cEntry)
+ Dim dr As SqlDataReader
+ 'Using conn As SqlConnection = cDatenbank.GetNewOpenConnection()
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+
+ ' MsgBox(conn.ConnectionString)
+ Using cmd As New SqlCommand(sql, conn)
+ dr = cmd.ExecuteReader()
+ Try
+ Dim cnt As Integer = 0
+ If dr.Read Then
+ If Not dr.GetValue(0) Is DBNull.Value Then
+ Return CLng(dr.GetValue(0))
+ End If
+ End If
+ conn.Close()
+ Return 0
+ Catch ex As Exception
+ MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
+ Finally
+ dr.Close()
+ End Try
+ 'end Using
+ End Using
+ Return -1
+ End Function
+
+ Public Function getAVGMa(ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String) As List(Of listMaAVG)
+ If DauerVon = "" Then DauerBis = "0"
+ If DauerBis = "" Then DauerBis = "999999"
+ Dim sql As String = "SELECT LetzterMitarbeiterId,avg(Dauer) as avg,mit_nname + ' ' + mit_vname as name, count([LetzterMitarbeiterId]) as count " &
+ " FROM Aviso INNER JOIN ADMIN.dbo.tblMitarbeiter ON mit_id=LetzterMitarbeiterId WHERE ( Datum BETWEEN '" & datumVon.ToShortDateString & "' AND '" & datumBis.ToShortDateString & "') AND ( Dauer BETWEEN '" & DauerVon & "' AND '" & DauerBis & "') AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' GROUP BY LetzterMitarbeiterId,mit_nname,mit_vname"
+ Dim dr As SqlDataReader
+
+ Dim ll As New List(Of listMaAVG)
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ dr = cmd.ExecuteReader()
+ Try
+ Dim cnt As Integer = 0
+ If dr.HasRows Then
+ While dr.Read
+ If Not dr.Item("LetzterMitarbeiterId") Is DBNull.Value Then
+ Dim l As New listMaAVG
+ l.mit_id = CInt(dr.Item("LetzterMitarbeiterId"))
+ l.mit_name = CStr(dr.Item("name"))
+ l.mit_avg = CInt(dr.Item("avg"))
+ l.mit_count = CInt(dr.Item("count"))
+ ll.Add(l)
+ End If
+ End While
+ Return ll
+ End If
+ conn.Close()
+ Catch ex As Exception
+ MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
+ Finally
+ dr.Close()
+ End Try
+ 'end Using
+ End Using
+ Return Nothing
+ End Function
+
+End Class
+
+Public Class StatDB
+ Public Function getAnzahlLkwAnkunft(art As String, ByVal datTmp As Date, i As Integer, firma As String, CLUSTER As String) As Integer
+ Dim lkws As Integer = 0
+ Try
+ Dim cn As New SqlConnection()
+ ' cn.ConnectionString = "Data Source=BUCHHALTUNG\SQLEXPRESS;Initial Catalog=AVISO;Integrated Security=false;User ID=sa;Password=BmWr501956;"
+ ' cn.Open()
+ cn = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand("SELECT COUNT(*) FROM [Aviso] where " & art & " between @DatVon and @DatBis " & If(firma <> "", " AND Firma='" & firma & "' ", "") & If(CLUSTER <> "", " AND CLUSTER='" & CLUSTER & "' ", "") & " ", cn)
+ 'DATEADD(dd, 0, DATEDIFF(dd, 0, [Ankunft]))=DATEADD(dd, 0, DATEDIFF(dd, 0, [Freigabe])) AND
+ Dim VonStr = ""
+ Dim BisStr = ""
+ If i = 6 Then
+ VonStr = datTmp.ToString("yyyy-MM-dd ") & "00:00:00"
+ Else
+ VonStr = datTmp.ToString("yyyy-MM-dd ") & i & ":00:00"
+ End If
+
+ If i = 22 Then
+ BisStr = datTmp.ToString("yyyy-MM-dd ") & "23:59:59"
+ Else
+ BisStr = datTmp.ToString("yyyy-MM-dd ") & i & ":59:59"
+ End If
+
+ cmd.Parameters.AddWithValue("@DatVon", VonStr)
+ cmd.Parameters.AddWithValue("@DatBis", BisStr)
+ ' MsgBox(VonStr)
+ Dim dr = cmd.ExecuteReader()
+
+ If dr.HasRows Then
+ dr.Read()
+ lkws = CInt(dr.Item(0))
+ End If
+ dr.Close()
+ cn.Close()
+ End Using
+ Return lkws
+ Catch ex As Exception
+ MsgBox(ex.Message)
+ End Try
+ Return 0
+ End Function
+
+ Public Function getAnzahlLkwAnkunft(art As String, ByVal datTmp As Date, firma As String) As Integer
+ Dim lkws As Integer = 0
+ Try
+ Dim cn As New SqlConnection()
+ ' cn.ConnectionString = "Data Source=BUCHHALTUNG\SQLEXPRESS;Initial Catalog=AVISO;Integrated Security=false;User ID=sa;Password=BmWr501956;"
+ ' cn.Open()
+ cn = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand("SELECT COUNT(*) FROM [Aviso] where " & art & " between @DatVon and @DatBis AND Firma='" & If(firma <> "", firma, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA) & "' ", cn)
+ 'DATEADD(dd, 0, DATEDIFF(dd, 0, [Ankunft]))=DATEADD(dd, 0, DATEDIFF(dd, 0, [Freigabe])) AND
+ Dim VonStr = ""
+ Dim BisStr = ""
+
+ VonStr = datTmp.ToString("yyyy-MM-dd ") & "00:00:00"
+ BisStr = datTmp.ToString("yyyy-MM-dd ") & "23:59:59"
+
+
+ cmd.Parameters.AddWithValue("@DatVon", VonStr)
+ cmd.Parameters.AddWithValue("@DatBis", BisStr)
+ ' MsgBox(VonStr)
+ Dim dr = cmd.ExecuteReader()
+
+ If dr.HasRows Then
+ dr.Read()
+ lkws = CInt(dr.Item(0))
+ End If
+ dr.Close()
+ cn.Close()
+ End Using
+ Return lkws
+ Catch ex As Exception
+ MsgBox(ex.Message)
+ End Try
+ Return 0
+ End Function
+
+ Public Function getAnzahlLkwDauer(ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String, ByVal DauerEinschrVon As String, ByVal DauerEinschrBis As String, Optional where As String = "") As Integer
+ Dim sql As String = "SELECT count(*) as count " &
+ " FROM Aviso WHERE ( Datum BETWEEN '" & datumVon.ToShortDateString & "' AND '" & datumBis.ToShortDateString & "') AND ( Dauer BETWEEN '" & DauerVon & "' AND '" & DauerBis & "') AND ( Dauer BETWEEN '" & DauerEinschrVon & "' AND '" & DauerEinschrBis & "') AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' " & where
+ Dim dr As SqlDataReader
+ 'MsgBox(sql)
+ Dim anz As Integer = 0
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ dr = cmd.ExecuteReader()
+ Try
+ Dim cnt As Integer = 0
+ If dr.HasRows Then
+ dr.Read()
+ anz = CInt(dr.Item(0))
+ End If
+ conn.Close()
+ Return anz
+ Catch ex As Exception
+ MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
+ Finally
+ dr.Close()
+ End Try
+ 'end Using
+ End Using
+ Return 0
+ End Function
+
+ Public Function getAnzahlAvisoProbleme(ByVal kdNr As String, ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String, Optional where As String = "") As List(Of listStatAvisoProleme)
+ 'ZWEICHFACE SELECT, um Doppelte Einträge mit selber AvisoId zu umgehen
+ Dim sql As String = " SELECT VermerkeCode,[Bezeichnung], count(*) as anzahlVermerk " &
+ " FROM " &
+ " (SELECT aviso.avisoid, VermerkeCode,[Bezeichnung] " &
+ " FROM [AVISO].[dbo].[Vermerke] " &
+ " INNER JOIN [Aviso] ON [Vermerke].[AvisoID]=[AVISO].[AvisoID] " &
+ " INNER JOIN [AVISO].[dbo].[VermerkeCodes] ON VermerkeCode=VermerkCodeId " &
+ " where AVISO.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' AND /*([Auftraggeber_KdNr] = @kdNr) " &
+ " AND */ ( Aviso.Datum BETWEEN @datumVon AND @datumBis) AND ( Aviso.Dauer BETWEEN @DauerVon AND @DauerBis ) " & where &
+ " group by aviso.avisoid,VermerkeCode,[Bezeichnung] " &
+ " ) AS tbl " &
+ " WHERE VermerkeCode IN (1,3,5,7,9,11,13,15,16,25) " &
+ " group by VermerkeCode,[Bezeichnung] " &
+ " ORDER BY anzahlVermerk DESC "
+
+ Dim dr As SqlDataReader
+ Dim data As New List(Of listStatAvisoProleme)
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@kdNr", kdNr)
+ cmd.Parameters.AddWithValue("@datumVon", datumVon.ToShortDateString)
+ cmd.Parameters.AddWithValue("@datumBis", datumBis.ToShortDateString)
+ cmd.Parameters.AddWithValue("@DauerVon", DauerVon)
+ cmd.Parameters.AddWithValue("@DauerBis", DauerBis)
+ 'cmd.Parameters.AddWithValue("@DauerEinschrVon", DauerEinschrVon)
+ 'cmd.Parameters.AddWithValue("@DauerEinschrBis", DauerEinschrBis)
+ dr = cmd.ExecuteReader()
+ Try
+ Dim cnt As Integer = 0
+ While dr.Read()
+ Dim d As New listStatAvisoProleme
+ d.VermerkeCode = CInt(dr.Item("VermerkeCode"))
+ d.Bezeichnung = CStr(dr.Item("Bezeichnung"))
+ d.AnzahlVermerke = CInt(dr.Item("anzahlVermerk"))
+ data.Add(d)
+ End While
+ conn.Close()
+ Catch ex As Exception
+ MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
+ Finally
+ dr.Close()
+ End Try
+ 'end Using
+ End Using
+ Return data
+ End Function
+
+
+
+
+
+End Class
+Public Class adminfunc
+ Public Function getDatatable(connstr As String, hSQL As String) As DataTable
+ Dim conn As SqlConnection = Nothing
+ Try
+ conn = New SqlConnection(connstr)
+ conn.Open()
+ Dim myTable = New DataTable()
+ 'Dim sql As String
+ 'sql = hSQL
+ Using cmd As New SqlCommand(hSQL, conn)
+ Using dr As SqlDataReader = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
+ "Problem in Function 'getKunden'")
+ If antwort <> MsgBoxResult.Retry Then
+ 'Programm wird beendet
+ MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
+ Environment.Exit(0)
+ End If
+ End Try
+ conn.Close()
+ ' End While
+ Return Nothing
+ End Function
+
+
+
+ Public Sub setAuftraggber(ByVal Auftraggeber As String, ByVal Auftraggeber_KdNr As String)
+ Dim hAuswahl As String
+
+ hAuswahl = String.Format(
+ "UPDATE Aviso SET [Auftraggeber_KdNr] = @Auftraggeber_KdNr " &
+ "WHERE [Auftraggeber] = @Auftraggeber")
+
+ Dim sql = hAuswahl
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@Auftraggeber", Auftraggeber)
+ cmd.Parameters.AddWithValue("@Auftraggeber_KdNr", Auftraggeber_KdNr)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Firma")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+ Public Sub setFirmenKdNr(ByVal Firma As String, ByVal KundenNr As String)
+ Dim sql = "UPDATE Firmen SET KundenNr = @KundenNr " &
+ "WHERE [Firma] like @Firma "
+
+ ' MsgBox("UPDATE Firmen SET KundenNr = '" & KundenNr & "' " &
+ ' "WHERE [Firma] like '" & Firma & "' ")
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@Firma", Firma)
+ cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Firma")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+
+ Public Sub setFraechter(ByVal Frächter As String, ByVal Frächter_KdNr As String)
+ Dim hAuswahl As String
+
+ hAuswahl = String.Format(
+ "UPDATE Aviso SET [Frächter_KdNr] = @Frächter_KdNr " &
+ "WHERE [Frächter] = @Frächter")
+
+ Dim sql = hAuswahl
+ Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ cmd.Parameters.AddWithValue("@Frächter", Frächter)
+ cmd.Parameters.AddWithValue("@Frächter_KdNr", Frächter_KdNr)
+ Try
+ cmd.ExecuteNonQuery()
+ Catch ex As SqlException
+ MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Firma")
+ End Try
+ End Using
+ conn.Close()
+ End Sub
+
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cGlobal.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cGlobal.vb
new file mode 100644
index 0000000..86cd1e0
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cGlobal.vb
@@ -0,0 +1,55 @@
+Imports System.Data.OleDb
+
+Public Class cGlobal
+ 'Public Shared ConnStr As String
+ 'Public Shared AufrufenderProzess As AufrufenderProzess
+ 'Public Shared Aktive_ID As Integer
+ 'Public Shared AktiverMitarbeiter As New cMitarbeiter
+ 'Public Shared AngemeldeterUser As String
+
+ ' Public Shared Admin As Boolean
+ Public Shared DBPfad As String
+ ' Public Shared Aktive_AuswahlID As Integer
+ Public Shared Aktive_ID As Integer
+ Public Shared Aktive_SendungsID As Integer
+ Public Shared Aktive_Zeile As Integer
+ Public Shared Ausgewählte_Zeile As Integer = 0
+ Public Shared AnzahlAlle As Long
+ Public Shared AnzahlAuswahl As Long
+ ' Public Shared ConnStr_ANZEIGE As String
+ ' Public Shared ConnStrADMIN As String
+ ' Public Shared ConnStrFMZOLL As String
+ Public Shared AngemeldeterUser As String
+ Public Shared AngemeldeterUserPwd As String
+ Public Shared AktiverMitarbeiter As New VERAG_PROG_ALLGEMEIN.cMitarbeiterAVISO
+ Public Shared Optionen As New cOption
+
+ Public Const UStatus_AVEingang = -1
+ Public Const UStatus_none = ""
+
+ Public Const Status_Erfasst = 0
+ Public Const Status_Vorbereitet = 4
+ Public Const Status_Vorgeschrieben = 5
+ Public Const Status_Freigegeben = 1
+ Public Const Status_NichtEingetroffen = 2
+ Public Const Status_Ankunft = 3
+
+
+ Shared Function getStatusText(i As Integer) As String
+ Select Case i
+ Case 0 : Return "Erfasst"
+ Case 1 : Return "Freigegeben"
+ Case 2 : Return "Nicht Eingetroffen"
+ Case 3 : Return "Ankunft"
+ Case 4 : Return "Vorbereitet"
+ Case 5 : Return "Vorgeschrieben"
+ Case 99 : Return "In Vorbereitung"
+ Case Else : Return ""
+ End Select
+ End Function
+End Class
+
+Public Enum AufrufenderProzess
+ VBZeit = 1
+ VBZeitVW = 2
+End Enum
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cMeineFunktionenAVISO.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cMeineFunktionenAVISO.vb
new file mode 100644
index 0000000..5c72d99
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cMeineFunktionenAVISO.vb
@@ -0,0 +1,258 @@
+Imports System.Windows.Forms
+
+Public Class cMeineFunktionenAVISO
+ 'Diese Klasse beinhaltet alle meine Funktionen, die in allen Projekten verwendet werden können
+ Public Shared Function grayoutForm() As Form
+ Dim f As New frmGrayOut
+ f.Show()
+ Return f
+ End Function
+
+ Public Const LeerDatum As Date = #12/30/1899# 'wird als leerer Datumswert verwendet, da sonst Probleme bei Null/Date
+
+ Public Shared Function SQLDatum(dat As Date) As String
+ 'Datum für SQLAbfrage umwandeln (31.01.1998 --> #1/31/1998#)
+ SQLDatum = ""
+ If Not IsDate(dat) Then Exit Function
+ SQLDatum = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " 00:00:00'"
+ 'SQLDatum = dat.ToString
+ End Function
+
+ Public Shared Function SQLDatumZeit(dat As Date) As String
+ 'Datum inklusive Zeit für SQLAbfrage umwandeln (31.01.1998 10:15 Uhr --> #1/31/1998 10:15:00#)
+ SQLDatumZeit = ""
+
+ If Not IsDate(dat) Then Exit Function
+ SQLDatumZeit = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " " &
+ DateAndTime.Hour(dat) & ":" & DateAndTime.Minute(dat) & "'"
+ End Function
+
+ Public Shared Function SQLDatumZeitSekunden(dat As Date) As String
+ 'Datum inklusive Zeit für SQLAbfrage umwandeln (31.01.1998 10:15 Uhr --> #1/31/1998 10:15:00#)
+ SQLDatumZeitSekunden = ""
+ If Not IsDate(dat) Then Exit Function
+ SQLDatumZeitSekunden = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " " &
+ DateAndTime.Hour(dat) & ":" & DateAndTime.Minute(dat) & ":" & DateAndTime.Second(dat) & "'"
+ End Function
+
+ Public Shared Function SQLNullDate(d As Date) As Object
+ 'Wenn Datum 00.00.0000, dann wird dbnull zurückgegeben
+ If d = New Date Then : SQLNullDate = DBNull.Value
+ Else : SQLNullDate = d : End If
+ End Function
+
+ Public Shared Function GetProgrammIcon() As Drawing.Icon
+ Return My.Resources.Aviso
+ End Function
+
+ Public Shared Function VarToInt(ByVal wert As Object) As Integer
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value Then
+ Return 0
+ Else
+ Return CInt(wert)
+ End If
+ Catch generatedExceptionName As Exception
+ Return 0
+ End Try
+ End Function
+
+ Public Shared Function VarToInt2(ByVal wert As Object) As Integer
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value OrElse Not IsNumeric(wert) Then
+ Return -1
+ Else
+ Return CInt(wert)
+ End If
+ Catch generatedExceptionName As Exception
+ Return -1
+ End Try
+ End Function
+
+ Public Shared Function VarToLng(ByVal wert As Object) As Long
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value Then
+ Return 0
+ Else
+ Return CLng(wert)
+ End If
+ Catch generatedExceptionName As Exception
+ Return 0
+ End Try
+ End Function
+
+ Public Shared Function VarToDbl(ByVal wert As Object) As Double
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value Then
+ Return 0
+ Else
+ Return CDbl(wert)
+ End If
+ Catch generatedExceptionName As Exception
+ Return 0
+ End Try
+ End Function
+
+ Public Shared Function checkNullReturnValue(ByVal o As Object, ByVal returnValue As Object) As Object
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return (o)
+ Return returnValue
+ End Function
+
+ Public Shared Function VarToBool(ByVal wert As Object) As Boolean
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value Then
+ Return False
+ Else
+ Return CBool(wert)
+ End If
+ Catch generatedExceptionName As Exception
+ Return False
+ End Try
+ End Function
+
+ Public Shared Function VarToStr(ByVal wert As Object) As String
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value Then
+ Return ""
+ Else
+ Return Trim(DirectCast(wert, String))
+ End If
+ Catch generatedExceptionName As Exception
+ Return ""
+ End Try
+ End Function
+
+ Public Shared Function VarToDate(ByVal wert As Object) As Nullable(Of DateTime)
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value Then
+ Return LeerDatum 'Nothing
+ Else
+ Return DirectCast(wert, DateTime)
+ End If
+ Catch generatedExceptionName As Exception
+ Return Nothing
+ End Try
+ End Function
+
+ Public Shared Function IstGleich(i As Integer, ParamArray list As Integer()) As Boolean
+ 'prüft, ob ein Wert in einer Liste enthalten ist - z.B. i = 5 or 7 or 11 or 29
+ For x As Integer = 0 To list.Length - 1
+ If list(x) = i Then
+ Return True
+ End If
+ On Error Resume Next
+ Next
+ Return False
+ End Function
+
+ Public Shared Function Minuten_auf_Text(hMinuten As Long) As String
+
+ If hMinuten <= 0 Then Return ""
+
+ Dim hStunden As Long
+ Dim hMinus As Boolean
+ Dim hMin As Long
+
+ Minuten_auf_Text = ""
+ hMin = hMinuten
+
+ If hMin = 0 Then
+ Minuten_auf_Text = "0:00"
+ Exit Function
+ End If
+
+ If hMin < 0 Then
+ hMinus = True
+ hMin = hMin * -1
+ End If
+
+ hStunden = CLng(Fix(hMin / 60))
+ hMin = hMin - (hStunden * 60)
+ If hMinus Then Minuten_auf_Text = "-" 'Minus wird nur bei Stunden angezeigt
+ Minuten_auf_Text = Minuten_auf_Text & hStunden & ":" & Format(hMin, "00")
+ End Function
+
+ Public Shared Function ZeitInMinuten(hDat As Date) As Long
+ ZeitInMinuten = 0
+ If Not IsDate(hDat) Then Exit Function
+ ZeitInMinuten = Hour(hDat) * 60 + Minute(hDat)
+ End Function
+
+ Public Shared Function GetNewMaxPosNr(ByVal FilialeNr As Integer, Optional Year As Integer = -1) As Integer
+ Return VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(FilialeNr, CInt(IIf(Year > 0, Year, Now.Year)))
+ End Function
+
+ Public Shared Function LKWFertig(AvisoID, Optional newLKWOK = Nothing) As Boolean
+
+ Dim AvisoDAL As New VERAG_PROG_ALLGEMEIN.cAvisoDAL
+ Dim VermerkeDAL As New VERAG_PROG_ALLGEMEIN.cVermerkeDAL
+ If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
+ MsgBox("Keine Berechtigung!")
+ Return False
+ End If
+
+ 'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
+ If AvisoID <= 0 Then
+ MsgBox("Kein Aviso ausgewählt!")
+ Return False
+ End If
+
+ 'jetzt ausgewählten Datensatz einlesen
+ Dim Aviso As New cAviso
+ Aviso = AvisoDAL.LesenAviso(AvisoID, "")
+ If Aviso Is Nothing Then Return False
+ If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereichts abgeschlossen.", vbInformation) : Return False
+
+ If newLKWOK Is Nothing Then
+ newLKWOK = Not Aviso.LKW_fertig
+ Else
+ If newLKWOK = Aviso.LKW_fertig Then Return True 'Wenn schon OK ist
+ End If
+
+
+ Dim msg As String
+ Dim antwort As MsgBoxResult
+
+
+ 'Taste LKW ist fertig
+ If Aviso.Status <> VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft Then
+ MsgBox("Es kann nur ein LKW mit Status ANKUNFT auf 'FERTIG/nicht FERTIG' gesetzt werden.", vbInformation)
+ Return False
+ End If
+ Dim aendArt As String = ""
+ Dim aendText As String = ""
+
+ 'Status ist Ankunft - LKW wird je nach Eintrag auf Fertig/nicht fertig gesetzt
+ Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
+ Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
+ Dim hVermerk As New cVermerk 'bei Fertig zusätzlich einen Vermerk setzen
+ hVermerk.AvisoID = Aviso.AvisoID
+ hVermerk.Datum = Now
+ hVermerk.Mitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
+ hVermerk.MitarbeiterId = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.MitarbeiterID
+
+ If newLKWOK Then
+ Aviso.LKW_fertig = True
+ Aviso.Änderungen = "LKW ist fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
+ hVermerk.Hinweis_Vermerk = "LKW ist fertig!"
+ hVermerk.VermerkCodeId = 26
+ VermerkeDAL.SpeichernVermerk(hVermerk)
+ aendArt = "LKW ist fertig - gesetzt"
+ aendText = "LKW ist fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm")
+ Else
+ Aviso.LKW_fertig = False
+ Aviso.Änderungen = "LKW ist nicht fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
+ hVermerk.Hinweis_Vermerk = "LKW ist nicht fertig."
+ hVermerk.VermerkCodeId = 27
+ VermerkeDAL.SpeichernVermerk(hVermerk)
+ aendArt = "LKW ist nicht fertig - gesetzt"
+ aendText = "LKW ist nicht fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm")
+ End If
+ Dim tmpid = AvisoDAL.SpeichernAviso(Aviso)
+ AvisoDAL.addAenderung(tmpid, aendArt, aendText)
+
+ Return (tmpid > 0)
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cVermerkeCodes.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cVermerkeCodes.vb
new file mode 100644
index 0000000..5495f17
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/cVermerkeCodes.vb
@@ -0,0 +1,187 @@
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+
+Public Class cVermerkeCodes_LIST
+ Dim LIST As New List(Of cVermerkeCodes)
+
+ Sub New()
+ LOAD_LIST()
+ End Sub
+ Public Sub LOAD_LIST()
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
+ Using cmd As New SqlCommand("SELECT * FROM VermerkeCodes ", conn)
+
+ ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cVermerkeCodes
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ LIST.Add(l)
+
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Function getTxt(VermerkCodeId, language) As String
+ For Each l In LIST
+ If l.VermerkCodeId = VermerkCodeId Then
+ Select Case language
+ Case "EN" : If l.Beschreibung_EN <> "" Then Return l.Beschreibung_EN
+ Case "TR" : If l.Beschreibung_TR <> "" Then Return l.Beschreibung_TR
+ Case "SRB", "YU" : If l.Beschreibung_SRB <> "" Then Return l.Beschreibung_SRB
+ Case "RO" : If l.Beschreibung_RO <> "" Then Return l.Beschreibung_RO
+ Case "BG" : If l.Beschreibung_BG <> "" Then Return l.Beschreibung_BG
+ Case "HU" : If l.Beschreibung_HU <> "" Then Return l.Beschreibung_HU
+ Case Else : If l.Beschreibung_DE <> "" Then Return l.Beschreibung_DE
+ End Select
+ Return l.Bezeichnung
+ End If
+ Next
+ Return ""
+ End Function
+
+End Class
+
+
+
+
+Public Class cVermerkeCodes
+ Property VermerkCodeId As Integer
+ Property Bezeichnung As String = ""
+ Property LKW_Vermerk As Boolean
+ Property Kunde_Vermerk As Boolean
+ Property Beschreibung_DE As String = ""
+ Property Beschreibung_EN As String = ""
+ Property Beschreibung_TR As String = ""
+ Property Beschreibung_SRB As String = ""
+ Property Beschreibung_RO As String = ""
+ Property Beschreibung_BG As String = ""
+ Property Beschreibung_HU As String = ""
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+ Sub New(VermerkCodeId)
+ Me.VermerkCodeId = VermerkCodeId
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermerkCodeId", VermerkCodeId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezeichnung", Bezeichnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW_Vermerk", LKW_Vermerk))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunde_Vermerk", Kunde_Vermerk))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_DE", Beschreibung_DE))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_EN", Beschreibung_EN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_TR", Beschreibung_TR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_SRB", Beschreibung_SRB))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_RO", Beschreibung_RO))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_BG", Beschreibung_BG))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_HU", Beschreibung_HU))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM VermerkeCodes WHERE VermerkCodeId=@VermerkCodeId) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "AVISO", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
+ Using cmd As New SqlCommand("SELECT * FROM VermerkeCodes WHERE VermerkCodeId=@VermerkCodeId ", conn)
+ cmd.Parameters.AddWithValue("@VermerkCodeId", VermerkCodeId)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [VermerkeCodes] SET " & str & " WHERE VermerkCodeId=@VermerkCodeId ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO VermerkeCodes (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.Designer.vb
new file mode 100644
index 0000000..1362a92
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.Designer.vb
@@ -0,0 +1,45 @@
+ _
+Partial Class frmGrayOut
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.SuspendLayout()
+ '
+ 'frmGrayOut
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.SystemColors.ControlDarkDark
+ Me.ClientSize = New System.Drawing.Size(284, 261)
+ Me.ForeColor = System.Drawing.SystemColors.Control
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
+ Me.KeyPreview = True
+ Me.Name = "frmGrayOut"
+ Me.Opacity = 0.5R
+ Me.ShowIcon = False
+ Me.ShowInTaskbar = False
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+ Me.Text = "frmGrayOut"
+ Me.ResumeLayout(False)
+
+ End Sub
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.resx b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.vb b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.vb
new file mode 100644
index 0000000..20a3a24
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/AVISO/frmGrayOut.vb
@@ -0,0 +1,23 @@
+Imports System.Drawing
+Imports System.Windows.Forms
+
+Public Class frmGrayOut
+
+ Private Sub frmGrayOut_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
+ If e.KeyCode = Keys.Escape Then
+ Me.Close()
+ End If
+ End Sub
+
+ Private Sub frmGrayOut_Load(sender As Object, e As EventArgs) Handles Me.Load
+ Me.Location = New Point(0, 0)
+ Me.Size = Screen.PrimaryScreen.WorkingArea.Size
+ 'Damit Center von Child-Form richtig ist
+ End Sub
+
+ Private Sub frmGrayOut_Shown(sender As Object, e As EventArgs) Handles Me.Shown
+ Me.MaximumSize = Screen.PrimaryScreen.WorkingArea.Size
+ Me.Size = Screen.PrimaryScreen.WorkingArea.Size
+ Me.Location = New Point(0, 0)
+ End Sub
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/App.config b/SDL/VERAG_PROG_ALLGEMEIN/App.config
new file mode 100644
index 0000000..8aab713
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/App.config
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Data Source=192.168.0.99;Initial Catalog=Therefore;Integrated Security=false;User ID=sa;Password=BmWr501956;
+
+
+ Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=DISPO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200
+
+
+
+
+
+
+
+
+
+ http://ec.europa.eu/taxation_customs/vies/services/checkVatService
+
+
+ https://finanzonline.bmf.gv.at/fon/ws/uidAbfrage/
+
+
+ https://finanzonline.bmf.gv.at:443/fonws/ws/session
+
+
+
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Content.vb b/SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Content.vb
new file mode 100644
index 0000000..515042f
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Content.vb
@@ -0,0 +1,146 @@
+#Region " Class "
+
+#Region " Enums "
+
+Public Enum CodeSetAllowed
+ CodeA
+ CodeB
+ CodeAorB
+End Enum
+
+Public Enum CodeSet
+ CodeA
+ CodeB
+End Enum
+
+#End Region
+
+Public Class Code128Content
+ Private mCodeList As Integer()
+
+ Public Sub New(ByVal AsciiData As String)
+ mCodeList = StringToCode128(AsciiData)
+ End Sub
+
+ Public ReadOnly Property Codes() As Integer()
+ Get
+ Return mCodeList
+ End Get
+ End Property
+
+ Private Function StringToCode128(ByVal AsciiData As String) As Integer()
+
+ Dim asciiBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(AsciiData)
+
+ Dim csa1 As CodeSetAllowed = If(asciiBytes.Length > 0, Code128Code.CodesetAllowedForChar(asciiBytes(0)), CodeSetAllowed.CodeAorB)
+ Dim csa2 As CodeSetAllowed = If(asciiBytes.Length > 0, Code128Code.CodesetAllowedForChar(asciiBytes(1)), CodeSetAllowed.CodeAorB)
+ Dim currcs As CodeSet = GetBestStartSet(csa1, csa2)
+
+ Dim codes As New List(Of Integer)(asciiBytes.Length + 3)
+ codes.Add(Code128Code.StartCodeForCodeSet(currcs))
+
+ For i As Integer = 0 To asciiBytes.Length - 1
+ Dim thischar As Integer = asciiBytes(i)
+ Dim nextchar As Integer = If(asciiBytes.Length > (i + 1), asciiBytes(i + 1), -1)
+
+ codes.AddRange(Code128Code.CodesForChar(thischar, nextchar, currcs))
+ Next
+
+ Dim checksum As Integer = CInt(codes(0))
+ For i As Integer = 1 To codes.Count - 1
+ checksum += i * CInt(codes(i))
+ Next
+
+ codes.Add(checksum Mod 103)
+ codes.Add(Code128Code.StopCode())
+
+ Return codes.ToArray
+ End Function
+
+ Private Function GetBestStartSet(ByVal csa1 As CodeSetAllowed, ByVal csa2 As CodeSetAllowed) As CodeSet
+ Dim vote As Integer = 0
+
+ vote += If((csa1 = CodeSetAllowed.CodeA), 1, 0)
+ vote += If((csa1 = CodeSetAllowed.CodeB), -1, 0)
+ vote += If((csa2 = CodeSetAllowed.CodeA), 1, 0)
+ vote += If((csa2 = CodeSetAllowed.CodeB), -1, 0)
+
+ Return If((vote > 0), CodeSet.CodeA, CodeSet.CodeB)
+ End Function
+End Class
+
+Public NotInheritable Class Code128Code
+
+#Region "Constants"
+
+ Private Const cSHIFT As Integer = 98
+ Private Const cCODEA As Integer = 101
+ Private Const cCODEB As Integer = 100
+
+ Private Const cSTARTA As Integer = 103
+ Private Const cSTARTB As Integer = 104
+ Private Const cSTOP As Integer = 106
+
+#End Region
+
+ Public Shared Function CodesForChar(ByVal CharAscii As Integer, ByVal LookAheadAscii As Integer, ByRef CurrCodeSet As CodeSet) As Integer()
+ Dim result As Integer()
+ Dim shifter As Integer = -1
+
+ If Not CharCompatibleWithCodeset(CharAscii, CurrCodeSet) Then
+ If (LookAheadAscii <> -1) AndAlso Not CharCompatibleWithCodeset(LookAheadAscii, CurrCodeSet) Then
+ Select Case CurrCodeSet
+ Case CodeSet.CodeA
+ shifter = cCODEB
+ CurrCodeSet = CodeSet.CodeB
+ Exit Select
+ Case CodeSet.CodeB
+ shifter = cCODEA
+ CurrCodeSet = CodeSet.CodeA
+ Exit Select
+ End Select
+ Else
+ shifter = cSHIFT
+ End If
+ End If
+
+ If shifter <> -1 Then
+ result = New Integer(1) {}
+ result(0) = shifter
+ result(1) = CodeValueForChar(CharAscii)
+ Else
+ result = New Integer(0) {}
+ result(0) = CodeValueForChar(CharAscii)
+ End If
+
+ Return result
+ End Function
+
+ Public Shared Function CodesetAllowedForChar(ByVal CharAscii As Integer) As CodeSetAllowed
+ If CharAscii >= 32 AndAlso CharAscii <= 95 Then
+ Return CodeSetAllowed.CodeAorB
+ Else
+ Return If((CharAscii < 32), CodeSetAllowed.CodeA, CodeSetAllowed.CodeB)
+ End If
+ End Function
+
+ Public Shared Function CharCompatibleWithCodeset(ByVal CharAscii As Integer, ByVal currcs As CodeSet) As Boolean
+ Dim csa As CodeSetAllowed = CodesetAllowedForChar(CharAscii)
+ Return csa = CodeSetAllowed.CodeAorB OrElse (csa = CodeSetAllowed.CodeA AndAlso currcs = CodeSet.CodeA) OrElse (csa = CodeSetAllowed.CodeB AndAlso currcs = CodeSet.CodeB)
+ End Function
+
+ Public Shared Function CodeValueForChar(ByVal CharAscii As Integer) As Integer
+ Return If((CharAscii >= 32), CharAscii - 32, CharAscii + 64)
+ End Function
+
+ Public Shared Function StartCodeForCodeSet(ByVal cs As CodeSet) As Integer
+ Return If(cs = CodeSet.CodeA, cSTARTA, cSTARTB)
+ End Function
+
+ Public Shared Function StopCode() As Integer
+ Return cSTOP
+ End Function
+
+End Class
+
+#End Region
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Rendering.vb b/SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Rendering.vb
new file mode 100644
index 0000000..01649c3
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Barcode/Code128Rendering.vb
@@ -0,0 +1,180 @@
+Imports System.Drawing
+Imports System.Diagnostics
+
+Public NotInheritable Class Code128Rendering
+
+#Region "Code patterns"
+ Private Shared ReadOnly cPatterns As Integer(,) = {{2, 1, 2, 2, 2, 2, _
+ 0, 0}, {2, 2, 2, 1, 2, 2, _
+ 0, 0}, {2, 2, 2, 2, 2, 1, _
+ 0, 0}, {1, 2, 1, 2, 2, 3, _
+ 0, 0}, {1, 2, 1, 3, 2, 2, _
+ 0, 0}, {1, 3, 1, 2, 2, 2, _
+ 0, 0}, _
+ {1, 2, 2, 2, 1, 3, _
+ 0, 0}, {1, 2, 2, 3, 1, 2, _
+ 0, 0}, {1, 3, 2, 2, 1, 2, _
+ 0, 0}, {2, 2, 1, 2, 1, 3, _
+ 0, 0}, {2, 2, 1, 3, 1, 2, _
+ 0, 0}, {2, 3, 1, 2, 1, 2, _
+ 0, 0}, _
+ {1, 1, 2, 2, 3, 2, _
+ 0, 0}, {1, 2, 2, 1, 3, 2, _
+ 0, 0}, {1, 2, 2, 2, 3, 1, _
+ 0, 0}, {1, 1, 3, 2, 2, 2, _
+ 0, 0}, {1, 2, 3, 1, 2, 2, _
+ 0, 0}, {1, 2, 3, 2, 2, 1, _
+ 0, 0}, _
+ {2, 2, 3, 2, 1, 1, _
+ 0, 0}, {2, 2, 1, 1, 3, 2, _
+ 0, 0}, {2, 2, 1, 2, 3, 1, _
+ 0, 0}, {2, 1, 3, 2, 1, 2, _
+ 0, 0}, {2, 2, 3, 1, 1, 2, _
+ 0, 0}, {3, 1, 2, 1, 3, 1, _
+ 0, 0}, _
+ {3, 1, 1, 2, 2, 2, _
+ 0, 0}, {3, 2, 1, 1, 2, 2, _
+ 0, 0}, {3, 2, 1, 2, 2, 1, _
+ 0, 0}, {3, 1, 2, 2, 1, 2, _
+ 0, 0}, {3, 2, 2, 1, 1, 2, _
+ 0, 0}, {3, 2, 2, 2, 1, 1, _
+ 0, 0}, _
+ {2, 1, 2, 1, 2, 3, _
+ 0, 0}, {2, 1, 2, 3, 2, 1, _
+ 0, 0}, {2, 3, 2, 1, 2, 1, _
+ 0, 0}, {1, 1, 1, 3, 2, 3, _
+ 0, 0}, {1, 3, 1, 1, 2, 3, _
+ 0, 0}, {1, 3, 1, 3, 2, 1, _
+ 0, 0}, _
+ {1, 1, 2, 3, 1, 3, _
+ 0, 0}, {1, 3, 2, 1, 1, 3, _
+ 0, 0}, {1, 3, 2, 3, 1, 1, _
+ 0, 0}, {2, 1, 1, 3, 1, 3, _
+ 0, 0}, {2, 3, 1, 1, 1, 3, _
+ 0, 0}, {2, 3, 1, 3, 1, 1, _
+ 0, 0}, _
+ {1, 1, 2, 1, 3, 3, _
+ 0, 0}, {1, 1, 2, 3, 3, 1, _
+ 0, 0}, {1, 3, 2, 1, 3, 1, _
+ 0, 0}, {1, 1, 3, 1, 2, 3, _
+ 0, 0}, {1, 1, 3, 3, 2, 1, _
+ 0, 0}, {1, 3, 3, 1, 2, 1, _
+ 0, 0}, _
+ {3, 1, 3, 1, 2, 1, _
+ 0, 0}, {2, 1, 1, 3, 3, 1, _
+ 0, 0}, {2, 3, 1, 1, 3, 1, _
+ 0, 0}, {2, 1, 3, 1, 1, 3, _
+ 0, 0}, {2, 1, 3, 3, 1, 1, _
+ 0, 0}, {2, 1, 3, 1, 3, 1, _
+ 0, 0}, _
+ {3, 1, 1, 1, 2, 3, _
+ 0, 0}, {3, 1, 1, 3, 2, 1, _
+ 0, 0}, {3, 3, 1, 1, 2, 1, _
+ 0, 0}, {3, 1, 2, 1, 1, 3, _
+ 0, 0}, {3, 1, 2, 3, 1, 1, _
+ 0, 0}, {3, 3, 2, 1, 1, 1, _
+ 0, 0}, _
+ {3, 1, 4, 1, 1, 1, _
+ 0, 0}, {2, 2, 1, 4, 1, 1, _
+ 0, 0}, {4, 3, 1, 1, 1, 1, _
+ 0, 0}, {1, 1, 1, 2, 2, 4, _
+ 0, 0}, {1, 1, 1, 4, 2, 2, _
+ 0, 0}, {1, 2, 1, 1, 2, 4, _
+ 0, 0}, _
+ {1, 2, 1, 4, 2, 1, _
+ 0, 0}, {1, 4, 1, 1, 2, 2, _
+ 0, 0}, {1, 4, 1, 2, 2, 1, _
+ 0, 0}, {1, 1, 2, 2, 1, 4, _
+ 0, 0}, {1, 1, 2, 4, 1, 2, _
+ 0, 0}, {1, 2, 2, 1, 1, 4, _
+ 0, 0}, _
+ {1, 2, 2, 4, 1, 1, _
+ 0, 0}, {1, 4, 2, 1, 1, 2, _
+ 0, 0}, {1, 4, 2, 2, 1, 1, _
+ 0, 0}, {2, 4, 1, 2, 1, 1, _
+ 0, 0}, {2, 2, 1, 1, 1, 4, _
+ 0, 0}, {4, 1, 3, 1, 1, 1, _
+ 0, 0}, _
+ {2, 4, 1, 1, 1, 2, _
+ 0, 0}, {1, 3, 4, 1, 1, 1, _
+ 0, 0}, {1, 1, 1, 2, 4, 2, _
+ 0, 0}, {1, 2, 1, 1, 4, 2, _
+ 0, 0}, {1, 2, 1, 2, 4, 1, _
+ 0, 0}, {1, 1, 4, 2, 1, 2, _
+ 0, 0}, _
+ {1, 2, 4, 1, 1, 2, _
+ 0, 0}, {1, 2, 4, 2, 1, 1, _
+ 0, 0}, {4, 1, 1, 2, 1, 2, _
+ 0, 0}, {4, 2, 1, 1, 1, 2, _
+ 0, 0}, {4, 2, 1, 2, 1, 1, _
+ 0, 0}, {2, 1, 2, 1, 4, 1, _
+ 0, 0}, _
+ {2, 1, 4, 1, 2, 1, _
+ 0, 0}, {4, 1, 2, 1, 2, 1, _
+ 0, 0}, {1, 1, 1, 1, 4, 3, _
+ 0, 0}, {1, 1, 1, 3, 4, 1, _
+ 0, 0}, {1, 3, 1, 1, 4, 1, _
+ 0, 0}, {1, 1, 4, 1, 1, 3, _
+ 0, 0}, _
+ {1, 1, 4, 3, 1, 1, _
+ 0, 0}, {4, 1, 1, 1, 1, 3, _
+ 0, 0}, {4, 1, 1, 3, 1, 1, _
+ 0, 0}, {1, 1, 3, 1, 4, 1, _
+ 0, 0}, {1, 1, 4, 1, 3, 1, _
+ 0, 0}, {3, 1, 1, 1, 4, 1, _
+ 0, 0}, _
+ {4, 1, 1, 1, 3, 1, _
+ 0, 0}, {2, 1, 1, 4, 1, 2, _
+ 0, 0}, {2, 1, 1, 2, 1, 4, _
+ 0, 0}, {2, 1, 1, 2, 3, 2, _
+ 0, 0}, {2, 3, 3, 1, 1, 1, _
+ 2, 0}}
+
+#End Region
+
+ Private Const cQuietWidth As Integer = 10
+
+ Public Shared Function MakeBarcodeImage(ByVal InputData As String, ByVal BarWeight As Double, ByVal AddQuietZone As Boolean, Optional heightOpt As Object = Nothing) As Image
+
+ Dim content As New Code128Content(InputData)
+ Dim codes As Integer() = content.Codes
+ Dim width As Integer, height As Integer
+ width = ((codes.Length - 3) * 11 + 35) * BarWeight
+ If heightOpt IsNot Nothing Then
+ height = CInt(heightOpt)
+ Else
+ height = Convert.ToInt32(System.Math.Ceiling(Convert.ToSingle(width) * 0.15F))
+ End If
+
+ If AddQuietZone Then
+ width += 2 * cQuietWidth * BarWeight
+ End If
+
+ Dim myimg As Image = New System.Drawing.Bitmap(width, height)
+ Using gr As Graphics = Graphics.FromImage(myimg)
+
+ gr.FillRectangle(System.Drawing.Brushes.White, 0, 0, width, height)
+
+ Dim cursor As Integer = If(AddQuietZone, cQuietWidth * BarWeight, 0)
+
+ For codeidx As Integer = 0 To codes.Length - 1
+ Dim code As Integer = codes(codeidx)
+
+ For bar As Integer = 0 To 7 Step 2
+ Dim barwidth As Integer = cPatterns(code, bar) * BarWeight
+ Dim spcwidth As Integer = cPatterns(code, bar + 1) * BarWeight
+
+ If barwidth > 0 Then
+ gr.FillRectangle(System.Drawing.Brushes.Black, cursor, 0, barwidth, height)
+ End If
+
+ cursor += (barwidth + spcwidth)
+ Next
+ Next
+ End Using
+
+ Return myimg
+
+ End Function
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.Designer.vb
new file mode 100644
index 0000000..e8301ab
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.Designer.vb
@@ -0,0 +1,17 @@
+Partial Class DateTimePickerEx
+ Inherits System.Windows.Forms.DateTimePicker
+
+ _
+ Public Sub New(ByVal container As System.ComponentModel.IContainer)
+ MyClass.New()
+
+ 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
+ If (container IsNot Nothing) Then
+ container.Add(Me)
+ End If
+
+ End Sub
+
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.vb
new file mode 100644
index 0000000..9cef613
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/DateTimePickerEx.vb
@@ -0,0 +1,267 @@
+Imports System.ComponentModel
+
+'-----------------------------------------------------------
+'Class name : DateTimePickerEx
+'Description: Extends the datetimepicker class to allow binding a DBNull database value
+' to it.
+'
+' This class uses the display format to simulate an "empty" selection since the
+' base datetimepicker class doesn't support displaying an empty text string.
+'
+' Since DBNull is not compatible with Date datatype, I created a new method called
+' NullableValue to support it.
+'History :
+'-----------------------------------------------------------
+
+Public Class DateTimePickerEx
+ Inherits System.Windows.Forms.DateTimePicker
+
+ 'Public Property _value As String = Nothing
+
+ Public Property _value As String
+ Get
+ If Not Me.Checked Then
+ Return ""
+ Else
+ Return (Me.Value)
+ End If
+ End Get
+ Set(ByVal newValue As String)
+ If newValue Is DBNull.Value Or newValue = "" Then
+ ' MsgBox("null")
+ Me.NullableValue = DBNull.Value
+ Me.Checked = False
+ Else
+ 'MsgBox(newValue)
+ Me.NullableValue = newValue
+
+ End If
+
+ End Set
+ End Property
+
+
+ Private m_enmOriginalFormat As Windows.Forms.DateTimePickerFormat
+ Private m_strOriginalCustomFormat As String
+ Private m_blnRefreshing As Boolean = False
+
+#Region " Windows Form Designer generated code "
+
+ Public Sub New()
+ MyBase.New()
+
+ 'This call is required by the Windows Form Designer.
+ InitializeComponent()
+
+ 'Add any initialization after the InitializeComponent() call
+ InitializeMembers()
+ End Sub
+
+ 'UserControl overrides dispose to clean up the component list.
+ 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
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ components = New System.ComponentModel.Container
+ End Sub
+
+#End Region
+
+#Region " Event Declarations "
+
+ Public Event NullableValueChanged As EventHandler
+
+ '-----------------------------------------------------------
+ 'Description: Raise the NullableValueChanged event.
+ ' Required for "Bindable" properties.
+ 'Return :
+ 'Parameters :
+ 'History :
+ '-----------------------------------------------------------
+ Protected Overridable Sub OnNullableValueChanged(ByVal e As EventArgs)
+ RaiseEvent NullableValueChanged(Me, e)
+ End Sub
+
+#End Region
+
+#Region " Public Methods and Properties "
+
+ '-----------------------------------------------------------
+ 'Description: Gets or Sets the date time picker value.
+ ' Accepts DBNull values.
+ 'Return :
+ 'Parameters :
+ 'History :
+ '-----------------------------------------------------------
+ _
+ Public Property NullableValue() As Object
+ Get
+ If Not Me.Checked Then
+ Return (DBNull.Value)
+ Else
+ Return (Me.Value)
+ End If
+ End Get
+ Set(ByVal newValue As Object)
+
+ Dim blnRaiseEvent As Boolean = False
+
+ If newValue Is DBNull.Value Then
+ 'If the value changed
+ If Me.Checked Then
+
+ Me.Checked = False
+ Me.RefreshText()
+ blnRaiseEvent = True
+ End If
+
+ ElseIf IsDate(newValue) Then
+
+ 'If only the "Checked" state changes (newValue parameter is equal to the Value property)
+ 'We must raise the NullableValueChanged event manually since the parents ValueChanged
+ 'event won't be fired.
+ blnRaiseEvent = (Not Me.Checked) And (CType(newValue, Date).Equals(Me.Value))
+
+ Me.Checked = True
+ Me.Value = CType(newValue, Date)
+ Me.RefreshText()
+
+ Else
+ Throw New ArgumentException
+ End If
+
+ If blnRaiseEvent Then
+ Me.OnNullableValueChanged(New EventArgs)
+ End If
+
+ End Set
+ End Property
+
+#End Region
+
+#Region " Base Class Overrides "
+
+ '-----------------------------------------------------------
+ 'Description: When the user changes the value, we need to refresh
+ ' the display text formats and to throw our NullableValueChanged event.
+ 'Return :
+ 'Parameters :
+ 'History :
+ '-----------------------------------------------------------
+ Protected Overrides Sub OnValueChanged(ByVal e As System.EventArgs)
+
+ Me.RefreshText()
+
+ 'When the value changes, the nullable value also changes.
+ Me.OnNullableValueChanged(e)
+
+ MyBase.OnValueChanged(e)
+ End Sub
+
+ '-----------------------------------------------------------
+ 'Description: If the format is changed we need to get the
+ ' new format and store it as the new original format.
+ 'Return :
+ 'Parameters :
+ 'History :
+ '-----------------------------------------------------------
+ Protected Overrides Sub OnFormatChanged(ByVal e As System.EventArgs)
+
+ 'If the format changes because of our RefreshText method, we don't want to save
+ 'the "temporary" format used to hide text as our original format...
+
+ If Not m_blnRefreshing Then
+ Me.SaveOriginalFormats()
+ End If
+
+ MyBase.OnFormatChanged(e)
+ End Sub
+
+ '-----------------------------------------------------------
+ 'Description: When the control is ask to refresh itself, we also
+ ' refresh the display format.
+ 'Return :
+ 'Parameters :
+ 'History :
+ '-----------------------------------------------------------
+ Public Overrides Sub Refresh()
+ Me.RefreshText()
+
+ MyBase.Refresh()
+ End Sub
+
+#End Region
+
+ '-----------------------------------------------------------
+ 'Description: Initialize the member variables.
+ 'Return :
+ 'Parameters :
+ 'History :
+ '-----------------------------------------------------------
+ Private Sub InitializeMembers()
+ Me.SaveOriginalFormats()
+
+ 'The default for the DateTimePickerEx is to display the checkbox.
+ MyBase.ShowCheckBox = False
+ End Sub
+
+ '-----------------------------------------------------------
+ 'Description: Save the current display formats.
+ 'Return :
+ 'Parameters :
+ 'History :
+ '-----------------------------------------------------------
+ Private Sub SaveOriginalFormats()
+ m_enmOriginalFormat = Me.Format
+ m_strOriginalCustomFormat = Me.CustomFormat
+ End Sub
+
+ '-----------------------------------------------------------
+ 'Description: Restore the original display formats
+ 'Return :
+ 'Parameters :
+ 'History :
+ '-----------------------------------------------------------
+ Private Sub RestoreOriginalFormats()
+ Me.CustomFormat = m_strOriginalCustomFormat
+ Me.Format = m_enmOriginalFormat
+ End Sub
+
+ '-----------------------------------------------------------
+ 'Description: Refresh the display format based on the current state
+ ' (Checked or not)
+ 'Return :
+ 'Parameters :
+ 'History :
+ '-----------------------------------------------------------
+ Private Sub RefreshText()
+
+ m_blnRefreshing = True
+
+ If Me.Checked Then
+ Me.RestoreOriginalFormats()
+ Else
+ Me.Format = Windows.Forms.DateTimePickerFormat.Custom
+ Me.CustomFormat = " "
+ End If
+
+ m_blnRefreshing = False
+
+ End Sub
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/FlatButton.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/FlatButton.vb
new file mode 100644
index 0000000..06974b4
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/FlatButton.vb
@@ -0,0 +1,15 @@
+Imports System.Drawing
+
+Public Class FlatButton
+ Inherits System.Windows.Forms.Button
+ Public Property allowBorder As Boolean = False
+ Public Sub New()
+ MyBase.FlatStyle = Windows.Forms.FlatStyle.Flat
+ MyBase.ForeColor = Color.Black
+ MyBase.FlatAppearance.BorderSize = 0
+ If Not allowBorder Then
+ MyBase.FlatAppearance.BorderSize = 0
+ End If
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.designer.vb
new file mode 100644
index 0000000..19e2c08
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.designer.vb
@@ -0,0 +1,213 @@
+Namespace McDull.Windows.Forms
+ Partial Class HTMLTextBox
+ Private components As System.ComponentModel.IContainer = Nothing
+
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ If disposing AndAlso (components IsNot Nothing) Then
+ components.Dispose()
+ End If
+
+ MyBase.Dispose(disposing)
+ End Sub
+
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(HTMLTextBox))
+ Me.toolStripToolBar = New System.Windows.Forms.ToolStrip()
+ Me.toolStripComboBoxName = New System.Windows.Forms.ToolStripComboBox()
+ Me.toolStripButtonBold = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripButtonItalic = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripButtonUnderline = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripButtonColor = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripSeparatorFont = New System.Windows.Forms.ToolStripSeparator()
+ Me.toolStripButtonNumbers = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripButtonBullets = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripButtonOutdent = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripButtonIndent = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripSeparatorFormat = New System.Windows.Forms.ToolStripSeparator()
+ Me.toolStripButtonLeft = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripButtonCenter = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripButtonRight = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripButtonFull = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripSeparatorAlign = New System.Windows.Forms.ToolStripSeparator()
+ Me.toolStripButtonLine = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripButtonHyperlink = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripButtonPicture = New System.Windows.Forms.ToolStripButton()
+ Me.webBrowserBody = New System.Windows.Forms.WebBrowser()
+ Me.toolStripComboBoxSize = New ToolStripComboBoxEx()
+ Me.toolStripToolBar.SuspendLayout()
+ Me.SuspendLayout()
+ Me.toolStripToolBar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden
+ Me.toolStripToolBar.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.toolStripComboBoxName, Me.toolStripComboBoxSize, Me.toolStripButtonBold, Me.toolStripButtonItalic, Me.toolStripButtonUnderline, Me.toolStripButtonColor, Me.toolStripSeparatorFont, Me.toolStripButtonNumbers, Me.toolStripButtonBullets, Me.toolStripButtonOutdent, Me.toolStripButtonIndent, Me.toolStripSeparatorFormat, Me.toolStripButtonLeft, Me.toolStripButtonCenter, Me.toolStripButtonRight, Me.toolStripButtonFull, Me.toolStripSeparatorAlign, Me.toolStripButtonLine, Me.toolStripButtonHyperlink, Me.toolStripButtonPicture})
+ Me.toolStripToolBar.Location = New System.Drawing.Point(0, 0)
+ Me.toolStripToolBar.Name = "toolStripToolBar"
+ Me.toolStripToolBar.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
+ Me.toolStripToolBar.Size = New System.Drawing.Size(600, 25)
+ Me.toolStripToolBar.TabIndex = 1
+ Me.toolStripToolBar.Text = "Tool Bar"
+ Me.toolStripComboBoxName.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.toolStripComboBoxName.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.toolStripComboBoxName.MaxDropDownItems = 30
+ Me.toolStripComboBoxName.Name = "toolStripComboBoxName"
+ Me.toolStripComboBoxName.Size = New System.Drawing.Size(150, 25)
+ ' AddHandler Me.toolStripComboBoxName.SelectedIndexChanged, New System.EventHandler(Me.toolStripComboBoxName_SelectedIndexChanged)
+ Me.toolStripButtonBold.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonBold.Image = (CType((resources.GetObject("toolStripButtonBold.Image")), System.Drawing.Image))
+ Me.toolStripButtonBold.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonBold.Name = "toolStripButtonBold"
+ Me.toolStripButtonBold.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonBold.Text = "Bold"
+ ' AddHandler Me.toolStripButtonBold.Click, New System.EventHandler(Me.toolStripButtonBold_Click)
+ Me.toolStripButtonItalic.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonItalic.Image = (CType((resources.GetObject("toolStripButtonItalic.Image")), System.Drawing.Image))
+ Me.toolStripButtonItalic.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonItalic.Name = "toolStripButtonItalic"
+ Me.toolStripButtonItalic.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonItalic.Text = "Italic"
+ ' AddHandler Me.toolStripButtonItalic.Click, Me.toolStripButtonItalic_Click(Me, New EventArgs)
+ Me.toolStripButtonUnderline.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonUnderline.Image = (CType((resources.GetObject("toolStripButtonUnderline.Image")), System.Drawing.Image))
+ Me.toolStripButtonUnderline.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonUnderline.Name = "toolStripButtonUnderline"
+ Me.toolStripButtonUnderline.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonUnderline.Text = "Underline"
+ ' AddHandler Me.toolStripButtonUnderline.Click, New System.EventHandler(Me.toolStripButtonUnderline_Click)
+ Me.toolStripButtonColor.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonColor.Image = (CType((resources.GetObject("toolStripButtonColor.Image")), System.Drawing.Image))
+ Me.toolStripButtonColor.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonColor.Name = "toolStripButtonColor"
+ Me.toolStripButtonColor.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonColor.Text = "Font Color"
+ ' AddHandler Me.toolStripButtonColor.Click, New System.EventHandler(Me.toolStripButtonColor_Click)
+ Me.toolStripSeparatorFont.Name = "toolStripSeparatorFont"
+ Me.toolStripSeparatorFont.Size = New System.Drawing.Size(6, 25)
+ Me.toolStripButtonNumbers.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonNumbers.Image = (CType((resources.GetObject("toolStripButtonNumbers.Image")), System.Drawing.Image))
+ Me.toolStripButtonNumbers.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonNumbers.Name = "toolStripButtonNumbers"
+ Me.toolStripButtonNumbers.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonNumbers.Text = "Format Numbers"
+ ' AddHandler Me.toolStripButtonNumbers.Click, New System.EventHandler(Me.toolStripButtonNumbers_Click)
+ Me.toolStripButtonBullets.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonBullets.Image = (CType((resources.GetObject("toolStripButtonBullets.Image")), System.Drawing.Image))
+ Me.toolStripButtonBullets.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonBullets.Name = "toolStripButtonBullets"
+ Me.toolStripButtonBullets.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonBullets.Text = "Format Bullets"
+ ' AddHandler Me.toolStripButtonBullets.Click, New System.EventHandler(Me.toolStripButtonBullets_Click)
+ Me.toolStripButtonOutdent.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonOutdent.Image = (CType((resources.GetObject("toolStripButtonOutdent.Image")), System.Drawing.Image))
+ Me.toolStripButtonOutdent.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonOutdent.Name = "toolStripButtonOutdent"
+ Me.toolStripButtonOutdent.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonOutdent.Text = "Decrease Indentation"
+ ' AddHandler Me.toolStripButtonOutdent.Click, New System.EventHandler(Me.toolStripButtonOutdent_Click)
+ Me.toolStripButtonIndent.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonIndent.Image = (CType((resources.GetObject("toolStripButtonIndent.Image")), System.Drawing.Image))
+ Me.toolStripButtonIndent.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonIndent.Name = "toolStripButtonIndent"
+ Me.toolStripButtonIndent.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonIndent.Text = "Increase Indentation"
+ 'AddHandler Me.toolStripButtonIndent.Click, New System.EventHandler(Me.toolStripButtonIndent_Click)
+ Me.toolStripSeparatorFormat.Name = "toolStripSeparatorFormat"
+ Me.toolStripSeparatorFormat.Size = New System.Drawing.Size(6, 25)
+ Me.toolStripButtonLeft.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonLeft.Image = (CType((resources.GetObject("toolStripButtonLeft.Image")), System.Drawing.Image))
+ Me.toolStripButtonLeft.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonLeft.Name = "toolStripButtonLeft"
+ Me.toolStripButtonLeft.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonLeft.Text = "Align Left"
+ ' AddHandler Me.toolStripButtonLeft.Click, New System.EventHandler(Me.toolStripButtonLeft_Click)
+ Me.toolStripButtonCenter.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonCenter.Image = (CType((resources.GetObject("toolStripButtonCenter.Image")), System.Drawing.Image))
+ Me.toolStripButtonCenter.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonCenter.Name = "toolStripButtonCenter"
+ Me.toolStripButtonCenter.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonCenter.Text = "Center"
+ ' AddHandler Me.toolStripButtonCenter.Click, New System.EventHandler(Me.toolStripButtonCenter_Click)
+ Me.toolStripButtonRight.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonRight.Image = (CType((resources.GetObject("toolStripButtonRight.Image")), System.Drawing.Image))
+ Me.toolStripButtonRight.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonRight.Name = "toolStripButtonRight"
+ Me.toolStripButtonRight.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonRight.Text = "Align Right"
+ 'AddHandler Me.toolStripButtonRight.Click, New System.EventHandler(Me.toolStripButtonRight_Click)
+ Me.toolStripButtonFull.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonFull.Image = (CType((resources.GetObject("toolStripButtonFull.Image")), System.Drawing.Image))
+ Me.toolStripButtonFull.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonFull.Name = "toolStripButtonFull"
+ Me.toolStripButtonFull.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonFull.Text = "Justify"
+ ' AddHandler Me.toolStripButtonFull.Click, New System.EventHandler(Me.toolStripButtonFull_Click)
+ Me.toolStripSeparatorAlign.Name = "toolStripSeparatorAlign"
+ Me.toolStripSeparatorAlign.Size = New System.Drawing.Size(6, 25)
+ Me.toolStripButtonLine.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonLine.Image = (CType((resources.GetObject("toolStripButtonLine.Image")), System.Drawing.Image))
+ Me.toolStripButtonLine.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonLine.Name = "toolStripButtonLine"
+ Me.toolStripButtonLine.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonLine.Text = "Insert Horizontal Line"
+ 'AddHandler Me.toolStripButtonLine.Click, New System.EventHandler(Me.toolStripButtonLine_Click)
+ Me.toolStripButtonHyperlink.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonHyperlink.Image = (CType((resources.GetObject("toolStripButtonHyperlink.Image")), System.Drawing.Image))
+ Me.toolStripButtonHyperlink.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonHyperlink.Name = "toolStripButtonHyperlink"
+ Me.toolStripButtonHyperlink.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonHyperlink.Text = "Create a Hyperlink"
+ ' AddHandler Me.toolStripButtonHyperlink.Click, New System.EventHandler(Me.toolStripButtonHyperlink_Click)
+ Me.toolStripButtonPicture.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.toolStripButtonPicture.Image = (CType((resources.GetObject("toolStripButtonPicture.Image")), System.Drawing.Image))
+ Me.toolStripButtonPicture.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.toolStripButtonPicture.Name = "toolStripButtonPicture"
+ Me.toolStripButtonPicture.Size = New System.Drawing.Size(23, 22)
+ Me.toolStripButtonPicture.Text = "Insert Picture"
+ 'AddHandler Me.toolStripButtonPicture.Click, New System.EventHandler(Me.toolStripButtonPicture_Click)
+ Me.webBrowserBody.AllowWebBrowserDrop = False
+ Me.webBrowserBody.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.webBrowserBody.IsWebBrowserContextMenuEnabled = False
+ Me.webBrowserBody.Location = New System.Drawing.Point(0, 25)
+ Me.webBrowserBody.MinimumSize = New System.Drawing.Size(20, 20)
+ Me.webBrowserBody.Name = "webBrowserBody"
+ Me.webBrowserBody.Size = New System.Drawing.Size(600, 425)
+ Me.webBrowserBody.TabIndex = 0
+ ' AddHandler Me.webBrowserBody.PreviewKeyDown, Me.webBrowserBody_PreviewKeyDown(Me.webBrowserBody, New EventArgs)
+ ' Me.webBrowserBody.DocumentCompleted += New System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(Me.webBrowserBody_DocumentCompleted)
+ Me.toolStripComboBoxSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.toolStripComboBoxSize.FlatStyle = System.Windows.Forms.FlatStyle.System
+ Me.toolStripComboBoxSize.Name = "toolStripComboBoxSize"
+ Me.toolStripComboBoxSize.Size = New System.Drawing.Size(36, 25)
+ ' AddHandler Me.toolStripComboBoxSize.SelectedIndexChanged, New System.EventHandler(Me.toolStripComboBoxSize_SelectedIndexChanged)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None
+ Me.Controls.Add(Me.webBrowserBody)
+ Me.Controls.Add(Me.toolStripToolBar)
+ Me.Name = "HTMLTextBox"
+ Me.Size = New System.Drawing.Size(600, 450)
+ Me.toolStripToolBar.ResumeLayout(False)
+ Me.toolStripToolBar.PerformLayout()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+ End Sub
+
+ Private toolStripToolBar As System.Windows.Forms.ToolStrip
+ Private webBrowserBody As System.Windows.Forms.WebBrowser
+ Private toolStripComboBoxName As System.Windows.Forms.ToolStripComboBox
+ Private toolStripComboBoxSize As ToolStripComboBoxEx
+ Private toolStripButtonBold As System.Windows.Forms.ToolStripButton
+ Private toolStripButtonItalic As System.Windows.Forms.ToolStripButton
+ Private toolStripButtonUnderline As System.Windows.Forms.ToolStripButton
+ Private toolStripButtonColor As System.Windows.Forms.ToolStripButton
+ Private toolStripSeparatorFont As System.Windows.Forms.ToolStripSeparator
+ Private toolStripButtonNumbers As System.Windows.Forms.ToolStripButton
+ Private toolStripButtonBullets As System.Windows.Forms.ToolStripButton
+ Private toolStripButtonOutdent As System.Windows.Forms.ToolStripButton
+ Private toolStripButtonIndent As System.Windows.Forms.ToolStripButton
+ Private toolStripSeparatorFormat As System.Windows.Forms.ToolStripSeparator
+ Private toolStripButtonLeft As System.Windows.Forms.ToolStripButton
+ Private toolStripButtonCenter As System.Windows.Forms.ToolStripButton
+ Private toolStripButtonRight As System.Windows.Forms.ToolStripButton
+ Private toolStripButtonFull As System.Windows.Forms.ToolStripButton
+ Private toolStripSeparatorAlign As System.Windows.Forms.ToolStripSeparator
+ Private toolStripButtonLine As System.Windows.Forms.ToolStripButton
+ Private toolStripButtonHyperlink As System.Windows.Forms.ToolStripButton
+ Private toolStripButtonPicture As System.Windows.Forms.ToolStripButton
+ End Class
+End Namespace
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.resx
new file mode 100644
index 0000000..3b19fbf
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.resx
@@ -0,0 +1,261 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAC1JREFUOE9jYBh2
+ 4D/QR/gwUR5GNgCmAZsYTsMGlwHo4TESwoAq6YCogBpGigDXJzrGE301bAAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADVJREFUOE9jYBj2
+ 4D/Qh+iYZE+DDVizYiaIJg1ANcFcQJpmqOpR28kIeWzxTnr0kRVfQ1cTAOjCLVxq2QiuAAAAAElFTkSu
+ QmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAERJREFUOE9jYBh2
+ 4D/QR8gY5EFsYng9DtOArAibGE5DRg1AhDplgbhmxUxQYDJAaZJiAVvcgw2jC0BPddj4dHEI8ZYAADTJ
+ N6c8hf3vAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGRJREFUOE9jYKAD
+ +E+2HWtWzARp/g+lyTIHbAAUk2YAzHaYAeS4Atlm0lyBZDvM2SSHBbLf0dn4wwKL7SS7Ap9/8YcFHtuJ
+ dgW+eCctLEhLNVDVQCv+E4uxWkCsZpA6slyITRMAH5Zv5oCq9bQAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAALdJREFUOE9jYKAG
+ ePTy13+f0lP/yTYrpOn+f4/8A+gGgPiEMMTOxy9//HdIXv3/6Pmn5LnCNXvHf4vw6f+N/TvIM4Bsv8M0
+ BtXf+B9QfeX/rPU3yHfBztPv/9vELkA2gFAAItSeufntv2vW9v+Hzz0mzwWeBQf+W0bM+G/k20KeARQH
+ on/Vxf++5ef+O6SsJt8FfhXn/m8+9IC8QAR5YcLK2//NgieQ5wKPwoPgQDx4+iF5BlASiADwc282sbGz
+ ZAAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGlJREFUOE9jYKAG
+ OHDmyf+C7kP/QTRZ5oE0h7Y8+S9rXQU3gIWJ5T8+jGIRyGaQ5jkrj5LnArKcTVVNo4FIheDcdeTG/8SK
+ 5f9BNFnGgTR7Fh39L2mcSV5KBNkM0jxr6V7yXECWs6mlCQDlBWMQibjNkwAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAKFJREFUOE9jYMAP
+ /hOQp640yDZkDDIdXQwbn0qu+PTt7/8Fuz/8L5l8GdnfhF3w7M2f/3N2ff8f3f3uf0DNtf9PXn4lzYCw
+ 1of/Q5ru/fevvPjfIXn1f4vwaf9Ng/qID/3nb77/n7Hm6n/buEVAjb3/Hzz9QIwLMAPu09ef/ycsOvY/
+ qmAeeQZQIy4GOB1gSXXIKZEaPiTPDOLTA3nmMzAAAFijgMKTQOD0AAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAKVJREFUOE9jYMAP
+ /hOQp640yDZkDDIdXQwbnwquCG1/8T+p//n/Kw9/oPuZOBdcefDrv1/js/9uFbf/z1x/+/+z119hBhE2
+ IKzl0f/wtmf/g+pv/bdPXvXfLGTif5OAbtJC//r99/8tI2f9Nwns+R+cs+D/wdP3CLkANeAS63b8T65a
+ /f/+03fEhgEVQh6LEQOYDqCuwecC2viZGFNJSw/EmIiuBgAein31gYqs0gAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBhM
+ 4D/QMfgw7d1KyAXI8rRxDSEX0MZWZFMJuWA0DFBTKe1jhH42AAD5sDjIZUq+7gAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBis
+ 4D/QYeiY9m7FZisuMdq6Bp9LBs7mwREjtPU/yPTBkw5o71dkGwCUJzHPYqsAPQAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBis
+ 4D/QYfgwbdxNyFZkedq4ANlUQq6hjQsI2ToaBqgpkzaxMDCmAgDawTjIJO+/7AAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAChJREFUOE9jYBgs
+ 4D/QIeRg6rmfHNtBeqgHRl1AXhoYbrFAvRRFqkkAJdBTrRhJgKYAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAB9JREFUOE9jYBgF
+ wywE/gP9QwrG8D4pmkFqR8HwCQEAckQX6SRiW/8AAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAuZJREFUOE990HlI
+ 03EYx/H5R1DQPxF0QNFlKnRR9IdpTLsw1MQOqbTD0qhZuk67mDqtDJ3Z8kizuX7aqq2c5rKa1nQ6mVcp
+ ai7MTLNGYSF2X/YuEioZ9cAXni+fh9cDj5Por+rstGF/h+jl8D5R6+enotGfholcv00SOY8dLpoydZbT
+ 37MOfVXTA4T2Sor6TQg9BRx/tImIlmksyDyILKcDU1Ud/wSsrc0ctUWT8+IE9752ceNJE8p2JdEVK1mY
+ coalyd0sUakpt5ocka4uG/JSDdJWd87aoyl+cx3rgBnds3IkggE/RR+zhFNMvr2QVZeljoC18TFbs80E
+ 31jJnsdexDav4VBZDKF5xWxIeceKlKe4FfgzodCdaSofzA3moUihpZcjwjdWK7bhXe6Cn96f0EQjYac+
+ sPHEW2bnKZig82SssIBxp72RF2UNBfKNLzmQD+FJVfglLMdDG4SnLpFVymeslb1nkSwc59QZjMx0YUyC
+ FwfUGUMBQ2UHUbmwIxtC40wsUazDzbAYF00kXnGNLIs4hodEzOj4GcyUBqPRFw0FGpubiDr7ik3psDFp
+ gIAYgemZ8xivcmN+dDDi7cV4bM5AHB5GYPh6HrbVOh4y/Uo9u850sy/tPjHZN9mXnk+IPB7fCDnu2+8Q
+ sL+SHfJrJJ4zkJxbgnDNiKWm+g9kqq5BVViHrfs1A0D/R7hleUhkgoag/XoyddUOWUzqZUrKSgeRS4ZK
+ Ou1vOJQkMNF9HXN8d3JSXUFeSQtZBXUUVrSTW9yAZ6AE/y1HyNLcRLheT1ScchBQqI0/94KrOISGe9UU
+ mFp+/T9+B3s/tPZ8wWp7y97YZFoeNJCaV4a1rY+5vpJB4IL+LvVtdlJyriJNOIfyYimjZgYwwtnn9/Ne
+ I/2daW/VcvK8kZDI2EHAUluDQmVAe7uRmrZeyuqfE5thwDdURppa+88sX6v7c8hyi5ljaRfwD5MhDtqN
+ 5HAiuiL9r4H/ZT8AiiIwr0t0DcYAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAkJJREFUOE+tk1tI
+ 02EYxr2MCKKLIOjCiIguopQIojAjpEDSkrwwpANKBUpJiWW5TFyQpcUSdOhopaazMrNpmZiJiiPtoM3p
+ TJoLXJE680SHtc1fvv/Q/wiioD54L5/f8x6eLyjof7zCOx0EVn6FhdybrVwobkKT/5jUXDNJ2ioSMkzE
+ p5USm2JkT7KBeW8Re338tj5/g7HpGVxjMwx88NPl9LNmZ9bfAdw2O/ZDodgOhmBttynisvpBVu84/2eA
+ OIsYVwOepyd5vncFbXY/N2rfsCoiACAz/zrCXNu2AyE/xXkRWGKCaej2UXzPysrtmWoHsrBAQODM0rY4
+ i/j+g9fUdPooMHUSvO2cCpBtzwH6B4c5kW1QqqPvkzKztC3OIq5s96IraWV5mEYFyKkE4BgaU4QO1zjW
+ gVG2RiViqH5F+O7DShXV9FPa4iXP0MiyLRkqQO48J34/MsnQxy8863FT2dBLZFwS5idd1Lf0iICiR24u
+ FtaxdNNZFSAhEedh9xST0x6sjgmM5rfcbnSin503Ov4YJXeb0V2vVSDaa9Us2XhGBUjCvnv9jE566HNO
+ UfbQwdXyXnKML8k1WkjRmggJjyVFk09S+hUFsnhDugqQeI6Mf+VFn5uqpnfz4qyCFtIu15KcWU5MglaB
+ RO47Tnh0IotCT6sAybbdOUFFXTfZ+jY0ukbScmpmhbdISNUTd/QS0fs1hO06wtrNUUotXB8AkI8h2ZZ4
+ SsIkJHJnOZVsWxYmM0vb4iziBetOqR38y4/+Ac89P6VDkey1AAAAAElFTkSuQmCC
+
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.vb
new file mode 100644
index 0000000..05ec5a7
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/HTMLTextBox.vb
@@ -0,0 +1,415 @@
+Imports System
+Imports System.Collections.Generic
+Imports System.ComponentModel
+Imports System.Drawing
+Imports System.Data
+Imports System.Text
+Imports System.Windows.Forms
+Imports System.Runtime.InteropServices
+
+Namespace McDull.Windows.Forms
+
+ Public Partial Class HTMLTextBox
+ Inherits UserControl
+
+ Public Sub New()
+ dataUpdate = 0
+ InitializeComponent()
+ InitializeControls()
+ End Sub
+
+ Public Overrides Property Text As String
+ Get
+ Return webBrowserBody.DocumentText
+ End Get
+ Set(ByVal value As String)
+ webBrowserBody.DocumentText = value.Replace(vbCrLf, "
")
+ End Set
+ End Property
+
+ Public ReadOnly Property Images As String()
+ Get
+ Dim imagestmp As List(Of String) = New List(Of String)()
+
+ For Each element As HtmlElement In webBrowserBody.Document.Images
+ Dim image As String = element.GetAttribute("src")
+
+ If Not imagestmp.Contains(image) Then
+ imagestmp.Add(image)
+ End If
+ Next
+
+ Return imagestmp.ToArray()
+ End Get
+ End Property
+
+ Private Sub InitializeControls()
+ BeginUpdate()
+
+ For Each family As FontFamily In FontFamily.Families
+ toolStripComboBoxName.Items.Add(family.Name)
+ Next
+
+ toolStripComboBoxSize.Items.AddRange(FontSize.All.ToArray())
+ webBrowserBody.DocumentText = String.Empty
+ AddHandler webBrowserBody.Document.Click, AddressOf webBrowserBody_DocumentClick
+ AddHandler webBrowserBody.Document.Focusing, AddressOf webBrowserBody_DocumentFocusing
+ webBrowserBody.Document.ExecCommand("EditMode", False, Nothing)
+ webBrowserBody.Document.ExecCommand("LiveResize", False, Nothing)
+ EndUpdate()
+ End Sub
+
+ Private Sub RefreshToolBar()
+ BeginUpdate()
+
+ Try
+ Dim document = webBrowserBody.Document.DomDocument 'As mshtml.IHTMLDocument2 = CType(webBrowserBody.Document.DomDocument, mshtml.IHTMLDocument2)
+ toolStripComboBoxName.Text = document.queryCommandValue("FontName").ToString()
+ toolStripComboBoxSize.SelectedItem = FontSize.Find(CInt(document.queryCommandValue("FontSize")))
+ toolStripButtonBold.Checked = document.queryCommandState("Bold")
+ toolStripButtonItalic.Checked = document.queryCommandState("Italic")
+ toolStripButtonUnderline.Checked = document.queryCommandState("Underline")
+ toolStripButtonNumbers.Checked = document.queryCommandState("InsertOrderedList")
+ toolStripButtonBullets.Checked = document.queryCommandState("InsertUnorderedList")
+ toolStripButtonLeft.Checked = document.queryCommandState("JustifyLeft")
+ toolStripButtonCenter.Checked = document.queryCommandState("JustifyCenter")
+ toolStripButtonRight.Checked = document.queryCommandState("JustifyRight")
+ toolStripButtonFull.Checked = document.queryCommandState("JustifyFull")
+ Catch e As Exception
+ System.Diagnostics.Debug.WriteLine(e)
+ Finally
+ EndUpdate()
+ End Try
+ End Sub
+
+ Private dataUpdate As Integer
+
+ Private ReadOnly Property Updating As Boolean
+ Get
+ Return dataUpdate<> 0
+ End Get
+ End Property
+
+ Private Sub BeginUpdate()
+ dataUpdate += 1
+ End Sub
+
+ Private Sub EndUpdate()
+ dataUpdate -= 1
+ End Sub
+
+ Private Sub toolStripComboBoxName_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("FontName", False, toolStripComboBoxName.Text)
+ End Sub
+
+ Private Sub toolStripComboBoxSize_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ Dim size As Integer = If((toolStripComboBoxSize.SelectedItem Is Nothing), 1, (TryCast(toolStripComboBoxSize.SelectedItem, FontSize)).Value)
+ webBrowserBody.Document.ExecCommand("FontSize", False, size)
+ End Sub
+
+ Private Sub toolStripButtonBold_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("Bold", False, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonItalic_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("Italic", False, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonUnderline_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("Underline", False, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonColor_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ ' Dim fontcolor As Integer = CInt((CType(webBrowserBody.Document.DomDocument, mshtml.IHTMLDocument2)).queryCommandValue("ForeColor"))
+ Dim dialog As ColorDialog = New ColorDialog()
+ ''' Cannot convert ExpressionStatementSyntax, System.ArgumentOutOfRangeException: Exception of type 'System.ArgumentOutOfRangeException' was thrown.
+''' Parameter name: op
+''' Actual value was RightShiftExpression.
+''' at ICSharpCode.CodeConverter.Util.VBUtil.GetExpressionOperatorTokenKind(SyntaxKind op)
+''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitBinaryExpression(BinaryExpressionSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
+''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitBinaryExpression(BinaryExpressionSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitParenthesizedExpression(ParenthesizedExpressionSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.ParenthesizedExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
+''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitParenthesizedExpression(ParenthesizedExpressionSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.ParenthesizedExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitBinaryExpression(BinaryExpressionSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
+''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitBinaryExpression(BinaryExpressionSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitArgument(ArgumentSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
+''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitArgument(ArgumentSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at ICSharpCode.CodeConverter.VB.NodesVisitor.b__99_0(ArgumentSyntax a)
+''' at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
+''' at Microsoft.CodeAnalysis.VisualBasic.SyntaxFactory.SeparatedList[TNode](IEnumerable`1 nodes)
+''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitArgumentList(ArgumentListSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentListSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
+''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitArgumentList(ArgumentListSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.ArgumentListSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitInvocationExpression(InvocationExpressionSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.InvocationExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
+''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitInvocationExpression(InvocationExpressionSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.InvocationExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at ICSharpCode.CodeConverter.VB.NodesVisitor.MakeAssignmentStatement(AssignmentExpressionSyntax node)
+''' at ICSharpCode.CodeConverter.VB.NodesVisitor.VisitAssignmentExpression(AssignmentExpressionSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.AssignmentExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
+''' at ICSharpCode.CodeConverter.VB.CommentConvertingNodesVisitor.DefaultVisit(SyntaxNode node)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.VisitAssignmentExpression(AssignmentExpressionSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.AssignmentExpressionSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at ICSharpCode.CodeConverter.VB.MethodBodyVisitor.ConvertSingleExpression(ExpressionSyntax node)
+''' at ICSharpCode.CodeConverter.VB.MethodBodyVisitor.VisitExpressionStatement(ExpressionStatementSyntax node)
+''' at Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionStatementSyntax.Accept[TResult](CSharpSyntaxVisitor`1 visitor)
+''' at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxVisitor`1.Visit(SyntaxNode node)
+''' at ICSharpCode.CodeConverter.VB.CommentConvertingMethodBodyVisitor.ConvertWithTrivia(SyntaxNode node)
+''' at ICSharpCode.CodeConverter.VB.CommentConvertingMethodBodyVisitor.DefaultVisit(SyntaxNode node)
+'''
+''' Input:
+''' dialog.Color = Color.FromArgb(0xff, fontcolor & 0xff, (fontcolor >> 8) & 0xff, (fontcolor >> 16) & 0xff);
+
+'''
+ Dim result As DialogResult = dialog.ShowDialog()
+
+ If result = DialogResult.OK Then
+ Dim color As String = dialog.Color.Name
+
+ If Not dialog.Color.IsNamedColor Then
+ color = "#" & color.Remove(0, 2)
+ End If
+
+ webBrowserBody.Document.ExecCommand("ForeColor", False, color)
+ End If
+
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonNumbers_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("InsertOrderedList", False, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonBullets_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("InsertUnorderedList", False, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonOutdent_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("Outdent", False, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonIndent_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("Indent", False, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonLeft_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("JustifyLeft", False, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonCenter_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("JustifyCenter", False, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonRight_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("JustifyRight", False, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonFull_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("JustifyFull", False, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonLine_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("InsertHorizontalRule", False, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonHyperlink_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("CreateLink", True, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub toolStripButtonPicture_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If Updating Then
+ Return
+ End If
+
+ webBrowserBody.Document.ExecCommand("InsertImage", True, Nothing)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub webBrowserBody_DocumentCompleted(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
+ End Sub
+
+ Private Sub webBrowserBody_PreviewKeyDown(ByVal sender As Object, ByVal e As PreviewKeyDownEventArgs)
+ If e.IsInputKey Then
+ Return
+ End If
+
+ RefreshToolBar()
+ End Sub
+
+ Private Sub webBrowserBody_DocumentClick(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
+ RefreshToolBar()
+ End Sub
+
+ Private Sub webBrowserBody_DocumentFocusing(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
+ RefreshToolBar()
+ End Sub
+
+ Private Class FontSize
+ Private Shared allFontSize As List(Of FontSize) = Nothing
+
+ Public Shared ReadOnly Property All As List(Of FontSize)
+ Get
+
+ If allFontSize Is Nothing Then
+ allFontSize = New List(Of FontSize)()
+ allFontSize.Add(New FontSize(8, 1))
+ allFontSize.Add(New FontSize(10, 2))
+ allFontSize.Add(New FontSize(12, 3))
+ allFontSize.Add(New FontSize(14, 4))
+ allFontSize.Add(New FontSize(18, 5))
+ allFontSize.Add(New FontSize(24, 6))
+ allFontSize.Add(New FontSize(36, 7))
+ End If
+
+ Return allFontSize
+ End Get
+ End Property
+
+ Public Shared Function Find(ByVal value As Integer) As FontSize
+ If value< 1 Then
+ Return All(0)
+ End If
+
+ If value > 7 Then
+ Return All(6)
+ End If
+
+ Return All(value - 1)
+ End Function
+
+ Private Sub New(ByVal display As Integer, ByVal value As Integer)
+ displaySize = display
+ valueSize = value
+ End Sub
+
+ Private valueSize As Integer
+
+ Public ReadOnly Property Value As Integer
+ Get
+ Return valueSize
+ End Get
+ End Property
+
+ Private displaySize As Integer
+
+ Public ReadOnly Property Display As Integer
+ Get
+ Return displaySize
+ End Get
+ End Property
+
+ Public Overrides Function ToString() As String
+ Return displaySize.ToString()
+ End Function
+ End Class
+
+ Private Class ToolStripComboBoxEx
+ Inherits ToolStripComboBox
+
+ Public Overrides Function GetPreferredSize(ByVal constrainingSize As Size) As Size
+ Dim size As Size = MyBase.GetPreferredSize(constrainingSize)
+ size.Width = Math.Max(Width, &H20)
+ Return size
+ End Function
+ End Class
+ End Class
+End Namespace
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.Designer.vb
new file mode 100644
index 0000000..2c96842
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.Designer.vb
@@ -0,0 +1,30 @@
+Partial Class KdSearchBox
+ Inherits System.Windows.Forms.TextBox
+
+
+
+
+ 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ '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.
+ _
+ Private Sub InitializeComponent()
+ components = New System.ComponentModel.Container()
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.vb
new file mode 100644
index 0000000..35ca939
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.vb
@@ -0,0 +1,860 @@
+Imports System.ComponentModel
+Imports System.Drawing
+Imports System.Windows.Forms
+
+'Imports System.Threading
+
+Public Class KdSearchBox
+ Inherits System.Windows.Forms.TextBox
+ Implements INotifyPropertyChanged
+
+ ' Dim sql As New SDL.SQL
+ ' Dim KUNDENSQL As New SDL.kundenSQL
+ Dim form As Form = Me.FindForm
+ 'Public KdData As SDL.cKundenFMZOLL
+ Public KdData_KUNDE As cKunde = Nothing
+ Public KdData_ADRESSEN As cAdressen = Nothing
+ Public KdData_KUNDE_ERW As cKundenErweitert = Nothing
+
+ Public Property searchActive As Boolean = True
+ Public Property _AllowSetValue As Boolean = False
+ Public Property _displayFullName As Boolean = False ' nur wenn _loadKdData
+ Public Property _display_Name1 As Boolean = False ' nur wenn _loadKdData
+
+ Public Property _ValueKdAndName As Boolean = True
+ Public Property _loadKdData As Boolean = False
+
+ Public Property _hideIfListEmpty As Boolean = True
+ Public Property _displayWoelflKd As Boolean = False
+ Public Property _displayAVISO_Email As Boolean = False
+ Public Property nurAktive As Boolean = True
+ Public Property kdNrField As Control = Nothing
+ Public Property dgvpos As String = "LEFT"
+ Public Property _autoSizeGross As Boolean = False
+ Public Property _AlleFirmenCLUSTER As Boolean = False
+ Public Property _UseFIRMA As String = ""
+
+ Dim last_search As DateTime = Now
+ Dim last_eingabe As DateTime = Now
+ Public Property TIMER_SEARCH As Boolean = True
+ Dim Eingabe_verarbeitet = True
+ Dim WithEvents tmr_Search As New Timer
+
+
+ Public usrcntlWIDTH = 600
+ Public usrcntlHEIGHT = 380
+
+ Public WithEvents usrcntl As usrcntlKdSearch '= DirectCast(Me.FindForm.Controls.Find("dgvFindKD", False)(0), DataGridView)
+
+ ' Public WithEvents dgv As DataGridView
+ ' Public WithEvents dgvInaktiv As DataGridView
+
+ Dim SQL As New SQL
+
+ Public Sub FireReturn()
+ dgvFindKD_Click(Me, New KeyEventArgs(Keys.Return))
+ End Sub
+
+ Protected Overrides Sub OnPaint(e As PaintEventArgs)
+ Try
+ MyBase.OnPaint(e)
+ Catch ex As Exception
+ Me.Invalidate()
+ End Try
+ End Sub
+
+ Private Sub KdSearchBox_GotFocus(sender As Object, e As EventArgs) Handles Me.GotFocus
+ Try
+ Me.SelectionLength = 0
+ Me.HideSelection = False
+ Me.SelectAll()
+ Me.Select()
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_01")
+ End Try
+ End Sub
+
+ Public Sub RESARCH()
+ KdSearchBox_KeyUp(Me, New KeyEventArgs(Keys.Space))
+ End Sub
+
+ Private Sub KdSearchBox_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
+ Try
+ 'Console.WriteLine(String.Format("TEEST 01"))
+ If Not searchActive Then Exit Sub
+
+ ' If dgv Is Nothing Then dgv = usrcntl.dgvKundenAktiv
+ ' If dgvInaktiv Is Nothing Then dgvInaktiv = usrcntl.dgvKundenInAktiv
+
+
+ If e.KeyCode = Keys.Tab Then
+ If usrcntl IsNot Nothing Then usrcntl.Visible = False
+ e.Handled = True
+ Exit Sub
+ End If
+
+ If e.KeyCode = Keys.ShiftKey Or e.KeyCode = Keys.Shift Or e.KeyCode = Keys.Alt Or e.KeyCode = Keys.Control Or e.KeyCode = Keys.Left Or e.KeyCode = Keys.Right Or e.KeyCode = Keys.End Or e.KeyCode = Keys.Home Or e.KeyCode = Keys.CapsLock Then 'Bei Shift Tab..
+ If usrcntl IsNot Nothing Then usrcntl.Visible = False
+ e.Handled = True
+ Exit Sub
+ End If
+
+
+ If e.KeyCode = Keys.Return Then
+
+ e.Handled = True
+ Exit Sub
+ End If
+
+ If e.KeyCode = Keys.Up Then
+ If usrcntl IsNot Nothing Then prevLKW(usrcntl.dgvKundenAktiv)
+ e.Handled = True
+ Exit Sub
+ End If
+ If e.KeyCode = Keys.Down Then
+ If usrcntl IsNot Nothing Then nextLKW(usrcntl.dgvKundenAktiv)
+ e.Handled = True
+ Exit Sub
+ End If
+ If e.KeyCode = Keys.Escape Then
+ hideDgv(usrcntl)
+ e.Handled = True
+ Exit Sub
+ End If
+ If kdNrField IsNot Nothing Then kdNrField.Text = ""
+
+ KdNr_value = -1
+ KdData_KUNDE = Nothing
+ KdData_ADRESSEN = Nothing
+ KdData_KUNDE_ERW = Nothing
+
+ If Me.Text.Trim = "" Then
+ KdNr = -1
+ KdName = ""
+ ' KdData = Nothing
+ KdData_KUNDE = Nothing
+ KdData_ADRESSEN = Nothing
+ KdData_KUNDE_ERW = Nothing
+ setMeValue()
+ hideDgv(usrcntl)
+ Exit Sub
+ End If
+
+ If usrcntl Is Nothing Then
+ Exit Sub
+ End If
+
+ Eingabe_verarbeitet = False
+ last_eingabe = Now
+
+ doKeyDown(Now)
+
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_02")
+ End Try
+ End Sub
+
+ Sub doKeyDown(srchdate As DateTime)
+ If Eingabe_verarbeitet Then Exit Sub ' Bereits abgearbetiet -> Timer
+
+ Dim span_last_search = CInt(DirectCast((srchdate - last_search), TimeSpan).TotalMilliseconds)
+ Dim span_last_eingabe = CInt(DirectCast((srchdate - last_eingabe), TimeSpan).TotalMilliseconds)
+
+ 'TIMER_SEARCH
+ If TIMER_SEARCH Then
+ If span_last_search < 500 And span_last_eingabe < 500 Then
+ Exit Sub
+ End If
+ End If
+
+
+
+ If usrcntl.Visible = False Then
+ usrcntl.Width = usrcntlWIDTH
+ usrcntl.Height = usrcntlHEIGHT
+
+ Dim locationOnForm As Point = Nothing
+ If dgvpos = "LEFT" Or dgvpos = "" Then
+ locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location))
+ ElseIf dgvpos = "RIGHT" Then
+ locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location))
+ locationOnForm.X = locationOnForm.X - (usrcntl.Width - Me.Width)
+ ' MsgBox(locationOnForm.X & "/" & locationOnForm.Y)
+ End If
+
+
+ If locationOnForm.Y + usrcntl.Height + Me.Height > form.ClientRectangle.Height Then
+ usrcntl.Height = form.ClientRectangle.Height - locationOnForm.Y - Me.Height
+ End If
+
+ usrcntl.Location = locationOnForm
+ usrcntl.Top += Me.Height
+ End If
+
+ With usrcntl.dgvKundenAktiv
+
+ If usrcntl.Visible = False Then
+ .AllowUserToAddRows = False
+ .AllowUserToDeleteRows = False
+ .AllowUserToOrderColumns = False
+ .AllowUserToResizeColumns = False
+ .AllowUserToResizeRows = False
+ .ReadOnly = True
+ .MultiSelect = False
+ .SelectionMode = DataGridViewSelectionMode.FullRowSelect
+ .BackgroundColor = Color.White
+ .ForeColor = Color.Black
+ .GridColor = Color.White
+ End If
+
+ 'THREADING AKTIV
+ Me.ThreadInitAKTIV()
+ ' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV)
+ ' ThreadInitAKTIV.IsBackground = True
+ ' ThreadInitAKTIV.Start()
+
+ End With
+
+
+ If nurAktive Then
+ usrcntl.dgvKundenInAktiv.Visible = False
+ usrcntl.Panel1.Visible = False
+ Else
+ With usrcntl.dgvKundenInAktiv
+ If usrcntl.Visible = False Then
+ .AllowUserToAddRows = False
+ .AllowUserToDeleteRows = False
+ .AllowUserToOrderColumns = False
+ .AllowUserToResizeColumns = False
+ .AllowUserToResizeRows = False
+ .ReadOnly = True
+ .MultiSelect = False
+ .SelectionMode = DataGridViewSelectionMode.FullRowSelect
+ .BackgroundColor = Color.White
+ .ForeColor = Color.Black
+ .GridColor = Color.White
+ .DefaultCellStyle.ForeColor = Color.Gray
+ End If
+
+
+ Me.ThreadInitINAKTIV()
+ 'THREADING INAKTIV
+ 'Dim ThreadInitINAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitINAKTIV)
+ 'ThreadInitINAKTIV.IsBackground = True
+ 'ThreadInitINAKTIV.Start()
+
+ End With
+
+ End If
+
+ If _hideIfListEmpty Then
+
+ If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
+ setObjectVisible(usrcntl, False)
+ Else
+ setObjectVisible(usrcntl, True)
+ End If
+ If False Then
+
+ 'THREADING ThreadWaitAndSee
+ Dim ThreadWaitAndSee = New System.Threading.Thread(Sub()
+ Threading.Thread.Sleep(200)
+ If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
+ setObjectVisible(usrcntl, False)
+ Else
+ setObjectVisible(usrcntl, True)
+ End If
+ End Sub)
+ ThreadWaitAndSee.IsBackground = True
+ ThreadWaitAndSee.Start()
+ End If
+ Else
+ usrcntl.Visible = True
+ usrcntl.Show()
+ usrcntl.BringToFront()
+ End If
+ Eingabe_verarbeitet = True
+ last_search = Now
+
+ End Sub
+
+ Public Sub hideDgv(o) '(sender As Object, e As EventArgs)
+ If o IsNot Nothing Then
+ Me.searchActive = False
+ o.visible = False
+ Me.searchActive = True
+ End If
+ End Sub
+
+
+ Sub ThreadInitAKTIV()
+ Try
+ If usrcntl Is Nothing Then Exit Sub
+ If usrcntl.dgvKundenAktiv Is Nothing Then Exit Sub
+ With usrcntl.dgvKundenAktiv
+
+ Dim srch As String = Me.Text.Replace("'", "").ToString.Trim
+ If srch.StartsWith("*") Then srch = Replace(srch, "*", "%", , 1) ' Suche mit beginnenden *
+
+ Dim srch2 As String = ""
+ If srch.Contains(",") Then
+ Dim spitter() = srch.Split(",")
+ srch = spitter(0).ToString.Trim
+ srch2 = spitter(1).ToString.Trim
+ End If
+ If srch2.StartsWith("*") Then srch2 = Replace(srch2, "*", "%", , 1) ' Suche mit beginnenden *
+
+ Dim topAnz = 10
+ If nurAktive Then topAnz = 16
+ Dim AvisoEmail = ""
+ If _displayAVISO_Email Then
+ AvisoEmail = ", (SELECT CASE WHEN Count(*)>0 Then 'JA' ELSE '' END [Adressen] FROM [tblEmailBenachrichtigung] WHERE [eb_KundenNr]=AdressenNr) as [E-Mail] "
+ End If
+ Dim SQLstr As String = " SELECT top " & topAnz & " Ordnungsbegriff as Firma, AdressenNr as KdNr,Adressen.[LandKz] + ' ' + Adressen.[PLZ] + ' - ' + Adressen.[Ort] + ' ' + Adressen.[Straße] as Adresse " & AvisoEmail & " "
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern "
+ SQLstr &= " FROM [Adressen] "
+ SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr "
+ SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) "
+ SQLstr &= " WHERE 1=1 "
+ SQLstr &= " AND ( "
+ SQLstr &= " Ordnungsbegriff LIKE '" & srch & "%' " : If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' "
+ SQLstr &= " ) "
+ If srch2 <> "" Then SQLstr &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) "
+ SQLstr &= " AND [Auswahl]='A' "
+
+ 'If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then
+ ' SQLstr &= " AND (Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' OR Filialen.CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "') "
+ 'Else
+ ' SQLstr &= " AND Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' "
+ 'End If
+
+ If _AlleFirmenCLUSTER Then
+ SQLstr &= " AND '" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
+ ElseIf _UseFIRMA <> "" Then
+ SQLstr &= " AND '" & _UseFIRMA & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
+ Else
+ SQLstr &= " AND ( '" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA.Replace("ATILLA", "VERAG") & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
+ If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Then
+ SQLstr &= " OR Filialen.Firma IN ('IMEX') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
+ End If
+ If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then
+ SQLstr &= " OR Filialen.Firma IN ('IMEX','VERAG') " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide
+ End If
+ If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_FRONTOFFICE", "SDL") Then
+ SQLstr &= " OR Filialen.Firma IN ('FRONTOFFICE') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
+ End If
+ SQLstr &= " ) "
+ End If
+
+ 'AUSNAHME BIS BESSERE LÖSUNG:
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then
+ SQLstr &= " and Filialen.Firma NOT IN ('AMBAR') "
+ End If
+
+
+ 'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then 'Keine
+ ' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5701') "
+ 'ElseIf VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "VERAG" And VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "ATILLA" Then
+ ' SQLstr &= " AND Kunden.[FilialenNr]='" & VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE & "' "
+ 'Else
+ ' 'SQLstr &= " AND isnull(Kunden.[FilialenNr],0)<>'5501' "
+ ' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5501','5601','5701','5801') "
+ 'End If
+ If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'"
+ SQLstr &= " order by Ordnungsbegriff "
+
+ setDS(usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL"))
+
+ End With
+
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_03")
+ End Try
+ End Sub
+
+ Sub ThreadInitINAKTIV()
+ Try
+ If usrcntl Is Nothing Then Exit Sub
+ If usrcntl.dgvKundenInAktiv Is Nothing Then Exit Sub
+ With usrcntl.dgvKundenInAktiv
+
+ Dim srch As String = Me.Text.Replace("'", "").ToString.Trim
+ If srch.StartsWith("*") Then srch = Replace(srch, "*", "%", , 1) ' Suche mit beginnenden *
+
+ Dim srch2 As String = ""
+ If srch.Contains(",") Then
+ Dim spitter() = srch.Split(",")
+ srch = spitter(0).ToString.Trim
+ srch2 = spitter(1).ToString.Trim
+ End If
+ If srch2.StartsWith("*") Then srch2 = Replace(srch2, "*", "%", , 1) ' Suche mit beginnenden *
+
+ Dim SQLstr As String = " SELECT top 4 Ordnungsbegriff as Firma, AdressenNr as KdNr,Adressen.[LandKz] + ' ' + Adressen.[PLZ] + ' - ' + Adressen.[Ort] + ' ' + Adressen.[Straße] as Adresse "
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern "
+ SQLstr &= " FROM [Adressen] "
+ SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr "
+ SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) "
+ SQLstr &= " WHERE 1=1 "
+ SQLstr &= " AND ( "
+ SQLstr &= " Ordnungsbegriff LIKE '" & srch & "%' " : If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' "
+ SQLstr &= " ) "
+ If srch2 <> "" Then SQLstr &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) "
+ SQLstr &= " AND [Auswahl]='I' "
+ 'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then 'Keine
+ ' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5701') "
+ 'ElseIf VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "VERAG" And VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "ATILLA" Then
+ ' SQLstr &= " AND Kunden.[FilialenNr]='" & VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE & "' "
+ 'Else
+ ' 'SQLstr &= " AND isnull([FilialenNr],0)<>'5501' "
+ ' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5501','5601','5701','5801') "
+ 'End If
+
+ 'If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then
+ ' SQLstr &= " AND (Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' OR Filialen.CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "') "
+ 'Else
+ ' SQLstr &= " AND Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' "
+ 'End If
+
+ If _AlleFirmenCLUSTER Then
+ SQLstr &= " AND '" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
+ ElseIf _UseFIRMA <> "" Then
+ SQLstr &= " AND '" & _UseFIRMA & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
+ Else
+ SQLstr &= " AND ( '" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA.Replace("ATILLA", "VERAG") & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
+ If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Then
+ SQLstr &= " OR Filialen.Firma IN ('IMEX') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
+ End If
+ If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then
+ SQLstr &= " OR Filialen.Firma IN ('IMEX','VERAG') " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide
+ End If
+ If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_FRONTOFFICE", "SDL") Then
+ SQLstr &= " OR Filialen.Firma IN ('FRONTOFFICE') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
+ End If
+ SQLstr &= " ) "
+ End If
+
+
+ 'AUSNAHME BIS BESSERE LÖSUNG:
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then
+ SQLstr &= " and Filialen.Firma NOT IN ('AMBAR') "
+ End If
+
+ If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'"
+ SQLstr &= " order by Ordnungsbegriff "
+
+ setDS(usrcntl.dgvKundenInAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL"))
+
+ End With
+
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_04")
+ End Try
+ End Sub
+
+ 'threadsicherer Aufruf
+ ' Delegate Sub setLabelCallback(l As DataGridView, t As DataTable)
+ Private Sub setDS(l As DataGridView, t As DataTable)
+ Try
+ If l Is Nothing Then Exit Sub
+ If t Is Nothing Then Exit Sub
+ '' If Me.InvokeRequired Then
+ 'Dim d As New setLabelCallback(AddressOf setDS)
+ ' Me.Invoke(d, New Object() {l, t})
+ ' Else
+ With l
+ .Columns.Clear()
+ .DataSource = t
+ If .ColumnCount = 0 Then Exit Sub
+
+ .RowHeadersVisible = False
+
+ If .Columns("KdNr") IsNot Nothing AndAlso .Columns("KdNr") IsNot DBNull.Value Then .Columns("KdNr").Width = 60 : .Columns("KdNr").HeaderText = "KundenNr"
+ If .Columns("Firma") IsNot Nothing AndAlso .Columns("Firma") IsNot DBNull.Value Then .Columns("Firma").Width = 250
+ If .Columns("Adresse") IsNot Nothing AndAlso .Columns("Adresse") IsNot DBNull.Value Then .Columns("Adresse").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
+ If .Columns("E-Mail") IsNot Nothing AndAlso .Columns("E-Mail") IsNot DBNull.Value Then .Columns("E-Mail").Width = 50 : .Columns("E-Mail").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
+ If .Columns("Firma_Intern") IsNot Nothing AndAlso .Columns("Firma_Intern") IsNot DBNull.Value Then .Columns("Firma_Intern").Width = 60 : .Columns("Firma_Intern").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter : .Columns("Firma_Intern").HeaderText = ""
+
+ .ClearSelection()
+ End With
+ ' End If
+
+ Catch ex As Exception
+ ' Try
+ ' MsgBox("Es ist ein Fehler beim Kunden-Such-Feld aufgetreten 05: " & vbNewLine & vbNewLine & ex.Message)
+ 'Catch ex2 As Exception
+ ' MsgBox("ERR", vbCritical)
+ 'End Try
+ End Try
+
+ End Sub
+
+ 'threadsicherer Aufruf
+ 'Delegate Sub setObjectVisibleCallback(l As Object, v As Boolean)
+ Private Sub setObjectVisible(l As Object, v As Boolean)
+ Try
+ If l Is Nothing Then Exit Sub
+ ' If Me.InvokeRequired Then
+ ' Dim d As New setObjectVisibleCallback(AddressOf setObjectVisible)
+ 'Me.Invoke(d, New Object() {l, v})
+ ' Else
+ l.visible = v
+ If v = True Then
+ l.Show()
+ l.BringToFront()
+ End If
+ ' End If
+ Catch ex As Exception
+ ' MsgBox("Es ist ein Fehler beim Kunden-Such-Feld aufgetreten 06: " & vbNewLine & vbNewLine & ex.Message)
+ End Try
+ End Sub
+
+
+ Public Sub nextLKW(dgv As DataGridView) '(sender As Object, e As EventArgs)
+ Try
+ If dgv.SelectedRows.Count > 0 Then
+ Dim i As Integer = dgv.SelectedRows(0).Index
+ If (i + 1 < dgv.RowCount) Then
+ 'dgv.CurrentCell = dgv.Item(2, i + 1)
+ dgv.ClearSelection()
+ dgv.Rows(i + 1).Selected = True
+ End If
+ Else
+ If dgv.Rows.Count > 0 Then ' dgv.CurrentCell = dgv.Item(2, 0)
+ dgv.ClearSelection()
+ dgv.Rows(0).Selected = True
+ End If
+ End If
+
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_03_1")
+ End Try
+ End Sub
+ Public Sub prevLKW(dgv As DataGridView) '(sender As Object, e As EventArgs)
+ Try
+ If dgv.SelectedRows.Count > 0 Then
+ Dim i As Integer = dgv.SelectedRows(0).Index
+ If (i > 0) Then
+ 'dgv.CurrentCell = dgv.Item(2, i - 1)
+ dgv.ClearSelection()
+ dgv.Rows(i - 1).Selected = True
+ End If
+ Else
+ If dgv.Rows.Count > 0 Then 'dgv.CurrentCell = dgv.Item(2, dgv.Rows.Count - 1)
+ dgv.ClearSelection()
+ dgv.Rows(dgv.Rows.Count - 1).Selected = True
+ End If
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_06")
+ End Try
+ End Sub
+
+
+ Private Sub usrcntl_CLOSE(sender As Object, e As EventArgs) Handles usrcntl.CLOSE
+ hideDgv(usrcntl)
+ End Sub
+
+
+ Private Sub dgvFindKD_Click(sender As Object, e As EventArgs) Handles usrcntl.DGV_Click
+ Try
+ If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
+ With usrcntl.dgvKundenAktiv
+ If .SelectedRows.Count > 0 Then
+ If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
+ KdNr = .SelectedRows(0).Cells("KdNr").Value
+ KdName = .SelectedRows(0).Cells("Firma").Value
+ setMeValue()
+ hideDgv(usrcntl)
+ End If
+ End If
+ End With
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_07")
+ End Try
+ End Sub
+
+ Private Sub dgvFindKD_Click2(sender As Object, e As EventArgs) Handles usrcntl.DGV_INAKTIV_Click
+ Try
+ If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
+ With usrcntl.dgvKundenInAktiv
+ If .SelectedRows.Count > 0 Then
+ If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
+ KdNr = .SelectedRows(0).Cells("KdNr").Value
+ KdName = .SelectedRows(0).Cells("Firma").Value
+ setMeValue()
+ hideDgv(usrcntl)
+ End If
+ End If
+ End With
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_08")
+ End Try
+ End Sub
+ Private Sub TextBox1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown
+ Try
+
+ If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
+ If e.KeyData = Keys.Tab And usrcntl.Visible Then ' wenn usrcntl eingeblendet, soll der TABULATOR als InputKey gesehen werden.
+ If usrcntl.dgvKundenAktiv.SelectedRows.Count > 0 Then e.IsInputKey = True Else usrcntl.Visible = False
+ End If
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_09")
+ End Try
+ End Sub
+ Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles Me.KeyDown, usrcntl.DGV_KeyDown
+ Try
+ If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then
+ last_search = Now.AddSeconds(-10)
+ doKeyDown(Now) ' Damit Suche-Timer sicherausgelöst wurde
+ ' System.Threading.Thread.Sleep(5000)
+ End If
+
+
+ If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
+ With usrcntl.dgvKundenAktiv
+ If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then
+ If e.KeyCode = Keys.Return And .RowCount > 0 And .SelectedRows.Count = 0 Then .Rows(0).Selected = True
+ If .SelectedRows.Count > 0 Then
+ If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
+ KdNr = .SelectedRows(0).Cells("KdNr").Value
+ KdName = .SelectedRows(0).Cells("Firma").Value
+ setMeValue()
+ hideDgv(usrcntl)
+ End If
+ Else
+ usrcntl.Visible = False
+ End If
+ e.Handled = True
+ e.SuppressKeyPress = True
+
+ End If
+ End With
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_10")
+ End Try
+ End Sub
+
+ Private Sub dgvFindKD_Click2(sender As Object, e As KeyEventArgs) Handles usrcntl.DGV_KeyDown
+ Try
+ If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
+ With usrcntl.dgvKundenInAktiv
+ If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then
+ If .SelectedRows.Count > 0 Then
+ If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
+ KdNr = .SelectedRows(0).Cells("KdNr").Value
+ KdName = .SelectedRows(0).Cells("Firma").Value
+ setMeValue()
+ hideDgv(usrcntl)
+ End If
+ Else
+ usrcntl.Visible = False
+ End If
+
+ e.Handled = True
+ e.SuppressKeyPress = True
+
+ End If
+ End With
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_11")
+ End Try
+ End Sub
+
+ Sub reloadKdData()
+ Me.KdData_KUNDE = New cKunde(KdNr_value)
+ Me.KdData_ADRESSEN = New cAdressen(KdNr_value)
+ Me.KdData_KUNDE_ERW = New cKundenErweitert(KdNr_value)
+
+ End Sub
+
+ Sub setMeValue()
+ Try
+ If Me.kdNrField IsNot Nothing Then Me.kdNrField.Text = IIf(Me.KdNr_value > 0, Me.KdNr_value, "")
+ If _AllowSetValue Then
+ If _loadKdData Then 'Kundendaten sollen mitgeladen werden...
+ ' Me.KdData = KUNDENSQL.getKundeFMZOLLByKdNr(KdNr_value)
+ Me.KdData_KUNDE = New cKunde(KdNr_value)
+ Me.KdData_ADRESSEN = New cAdressen(KdNr_value)
+ Me.KdData_KUNDE_ERW = New cKundenErweitert(KdNr_value)
+
+ If Me.KdData_ADRESSEN Is Nothing Then
+ KdName = ""
+ Me.Text = ""
+
+ Else
+ KdName = KdData_ADRESSEN.Ordnungsbegriff
+ If _ValueKdAndName Then
+ If KdNr_value > 0 Then
+
+ If _displayFullName Then
+ Me.Text = KdNr_value & " - " & (Me.KdData_ADRESSEN.Name_1 & " " & Me.KdData_ADRESSEN.Name_2).Trim
+ ElseIf _display_Name1 Then
+ Me.Text = KdNr_value & " - " & Me.KdData_ADRESSEN.Name_1
+ Else
+ Me.Text = KdNr_value & " - " & KdName
+ End If
+ Else
+ KdName = ""
+ Me.Text = ""
+ End If
+ ' -1 |-|
+ 'If Me.Text.Trim = "-" Then Me.Text = ""
+ ' Me.Text = KdNr_value & " - " & IIf(_displayFullName, (Me.KdData_ADRESSEN.Name_1 & " " & Me.KdData_ADRESSEN.Name_2).Trim, KdName)
+ Else
+ If _displayFullName Then
+ Me.Text = (Me.KdData_ADRESSEN.Name_1 & " " & Me.KdData_ADRESSEN.Name_2).Trim
+ ElseIf _display_Name1 Then
+ Me.Text = Me.KdData_ADRESSEN.Name_1
+ Else
+ Me.Text = KdName
+ End If
+
+ ' Me.Text = IIf(_displayFullName, (Me.KdData_ADRESSEN.Name_1 & " " & Me.KdData_ADRESSEN.Name_2).Trim, KdName)
+ End If
+ End If
+ Else '... wenn nicht sollte beim Binding auch KdName gesetzt sein, sonst wird dieser nicht geladen
+ If KdNr_value > 0 Then
+ ' If KdName = "" Then
+ KdName = SQL.getValueTxtBySql("SELECT Ordnungsbegriff FROM Adressen WHERE AdressenNr =" & KdNr_value, "FMZOLL")
+ If _ValueKdAndName Then
+ Me.Text = KdNr_value & " - " & KdName
+ Else
+ Me.Text = KdName
+ End If
+ Else
+ KdName = ""
+ Me.Text = ""
+ End If
+ End If
+ ' searchActive = False
+
+ End If
+ If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength)
+ Eingabe_verarbeitet = True
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_12")
+ End Try
+
+ End Sub
+
+ Public KdNr_value As Integer = -1 'Hier ist der richtige Wert drin...
+ Public Property KdName As String 'Muss vom Typ String sein, sonst geht es nicht... (BINDING NULL VALUE)
+
+ Public Property KdNr As String
+ Get
+ Return KdNr_value
+ End Get
+ Set(v As String)
+ Try
+ KdNr_value = IIf(IsNumeric(v), v, -1)
+ OnPropertyChanged("KdNr")
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_14")
+ End Try
+ End Set
+ End Property
+
+ Public Property KdNrNullInt As Object
+ Get
+ If KdNr_value > 0 Then
+ Return KdNr_value
+ Else
+ Return Nothing
+ End If
+ ' Return CObj(If(KdNr_value > 0, KdNr_value, Nothing))
+ End Get
+ Set(v As Object)
+ 'NIX...
+ End Set
+ End Property
+
+
+
+ Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
+
+ Protected Sub OnPropertyChanged(ByVal name As String)
+ RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
+ End Sub
+
+
+ Private Sub KdSearchBox_PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Handles Me.PropertyChanged
+ setMeValue()
+ End Sub
+
+ Sub initKdBox(control As Control, Optional kdNrBox As Control = Nothing)
+ Try
+ If control Is Nothing Then Exit Sub
+ Me.form = control
+ Me.usrcntl = New usrcntlKdSearch
+ control.Controls.Add(usrcntl)
+
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Then
+ _AlleFirmenCLUSTER = True
+ End If
+
+ 'Me.usrcntl = usrcntl
+ hideDgv(Me.usrcntl)
+ If kdNrBox IsNot Nothing Then Me.kdNrField = kdNrBox
+
+
+ tmr_Search.Interval = 200
+ tmr_Search.Enabled = True
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_13")
+ End Try
+ End Sub
+
+
+
+ Private Sub KdSearchBox_LostFocus(sender As Object, e As EventArgs) Handles Me.LostFocus
+ 'THREADING ThreadWaitAndSee
+ Dim ThreadWaitAndSee = New System.Threading.Thread(Sub()
+ Try
+ Threading.Thread.Sleep(300)
+ ' MsgBox(Me.form.ActiveControl.Name)
+ If Me.form Is Nothing Then Exit Sub
+ If Me.form.ActiveControl Is Nothing Then Exit Sub
+ If Me.form.ActiveControl IsNot Me Then
+ setObjectVisible(usrcntl, False)
+ End If
+ Catch ex As Exception
+
+ End Try
+ End Sub)
+ ThreadWaitAndSee.IsBackground = True
+ ThreadWaitAndSee.Start()
+
+ Try
+ If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
+ If usrcntl.dgvKundenAktiv.SelectedCells.Count = 0 And usrcntl.dgvKundenInAktiv.SelectedCells.Count = 0 Then
+ Me.SelectionLength = 0
+ End If
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Es ist ein Fehler beim Kunden-Such-Feld aufgetreten!",,,, "ERR_KDS_LF")
+ End Try
+ End Sub
+
+
+
+ Private Sub KdSearchBox_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
+ If _autoSizeGross Then
+ Me.CharacterCasing = Windows.Forms.CharacterCasing.Upper
+ ' If Me.Text <> "" Then Me.Text = Me.Text.ToUpper
+ End If
+ End Sub
+
+ Private Sub KdSearchBox_TextChanged(sender As Object, e As EventArgs) Handles Me.TextChanged
+ If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength)
+ End Sub
+
+ Private Sub tmr_Search_Tick(sender As Object, e As EventArgs) Handles tmr_Search.Tick
+ If TIMER_SEARCH Then doKeyDown(Now)
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.Designer.vb
new file mode 100644
index 0000000..f959372
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.Designer.vb
@@ -0,0 +1,47 @@
+Partial Class MyCheckBoxValue
+ Inherits System.Windows.Forms.CheckBox
+
+ _
+ Public Sub New(ByVal container As System.ComponentModel.IContainer)
+ MyClass.New()
+
+ 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
+ If (container IsNot Nothing) Then
+ container.Add(Me)
+ End If
+
+ End Sub
+
+ _
+ Public Sub New()
+ MyBase.New()
+
+ 'Dieser Aufruf ist für den Komponenten-Designer erforderlich.
+ InitializeComponent()
+
+ End Sub
+
+ 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ '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.
+ _
+ Private Sub InitializeComponent()
+ components = New System.ComponentModel.Container()
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.vb
new file mode 100644
index 0000000..26dc34f
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckBoxValue.vb
@@ -0,0 +1,42 @@
+Imports System.ComponentModel
+Imports System.Windows.Forms
+
+Public Class MyCheckBoxValue
+ Inherits CheckBox
+
+ Property _value As String = ""
+ 'Dim bold = False
+ Property _showdate As Boolean = False
+ Property _date As Object = Nothing
+
+
+
+ Private Sub MyCheckBoxValue_CheckedChanged(sender As Object, e As EventArgs) Handles Me.CheckedChanged
+ If Me.Text.Contains(", am ") Then Me.Text = Me.Text.Substring(0, Me.Text.IndexOf(", am ")) 'ersetzen des Datum-Strings
+ If Me.CheckState = Windows.Forms.CheckState.Checked Then
+ If Me._date IsNot Nothing AndAlso IsDate(Me._date) AndAlso Me._date > CDate("01.01.1990") Then
+ Me.Text &= ", am " & Me._date.ToShortDateString
+ End If
+
+ ' Me.Font = New System.Drawing.Font(Me.Font.FontFamily, Me.Font.Size, Drawing.FontStyle.Bold)
+ Else
+ Me._date = Nothing
+ ' Me.Font = New System.Drawing.Font(Me.Font.FontFamily, Me.Font.Size, If(bold, Drawing.FontStyle.Bold, Drawing.FontStyle.Regular))
+ End If
+ End Sub
+
+ Private Sub MyCheckBoxValue_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
+ If e.KeyCode = Keys.Space Then
+ If Me.CheckState <> Windows.Forms.CheckState.Checked Then Me._date = Now
+ End If
+ End Sub
+
+ ' Private Sub MyCheckBoxValue_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
+ ' bold = Me.Font.Bold
+ 'End Sub
+
+ Private Sub MyCheckBoxValue_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
+ If Me.CheckState <> Windows.Forms.CheckState.Checked Then Me._date = Now
+ End Sub
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.Designer.vb
new file mode 100644
index 0000000..644790a
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.Designer.vb
@@ -0,0 +1,47 @@
+Partial Class MyCheckbox
+ Inherits System.Windows.Forms.CheckBox
+
+ _
+ Public Sub New(ByVal container As System.ComponentModel.IContainer)
+ MyClass.New()
+
+ 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
+ If (container IsNot Nothing) Then
+ container.Add(Me)
+ End If
+
+ End Sub
+
+ _
+ Public Sub New()
+ MyBase.New()
+
+ 'Dieser Aufruf ist für den Komponenten-Designer erforderlich.
+ InitializeComponent()
+
+ End Sub
+
+ 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ '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.
+ _
+ Private Sub InitializeComponent()
+ components = New System.ComponentModel.Container()
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.vb
new file mode 100644
index 0000000..61c61ba
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyCheckbox.vb
@@ -0,0 +1,41 @@
+Imports System.ComponentModel
+Imports System.Windows.Forms
+
+Public Class MyCheckbox
+ Inherits CheckBox
+ Implements INotifyPropertyChanged
+
+ Property _value As String = ""
+ Property Checked_value As Boolean = False
+
+ ' Protected Overrides Sub OnCheckedChanged(ByVal e As EventArgs)
+ ' Me.Checked = Me.Checked_value
+ ' End Sub
+
+ Private Sub MyCheckbox_Click(sender As Object, e As EventArgs) Handles Me.Click
+ Me.Checked = Me.Checked_value
+ End Sub
+
+ Public Property CheckedValue As Boolean
+ Get
+ Return Checked_value
+ End Get
+ Set(v As Boolean)
+ Checked_value = v
+ Me.Checked = Checked_value
+ OnPropertyChanged("CheckedValue")
+ End Set
+ End Property
+
+
+
+ Public Event PropertyChanged As PropertyChangedEventHandler _
+ Implements INotifyPropertyChanged.PropertyChanged
+
+ Protected Sub OnPropertyChanged(ByVal name As String)
+ RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
+ End Sub
+
+
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyComboBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyComboBox.vb
new file mode 100644
index 0000000..e853ab4
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyComboBox.vb
@@ -0,0 +1,182 @@
+Imports System.ComponentModel
+
+Public Class MyComboBox
+ Inherits System.Windows.Forms.ComboBox
+
+ Public Property _allowFreiText As Boolean = False
+ Public Property _allowedValuesFreiText As String() = Nothing
+ ' Public Property _allowedValuesFreiText_SET As String() = Nothing
+
+ Public Sub New()
+ End Sub
+
+ Sub fillWithMyListItem(l As List(Of MyListItem), Optional firstEmpty As Boolean = False, Optional clearList As Boolean = True, Optional firstEmptyName As String = "")
+ If clearList Then MyBase.Items.Clear()
+ If firstEmpty Then
+ Me.Items.Insert(0, New MyListItem(firstEmptyName, ""))
+ End If
+ If l IsNot Nothing Then
+ For Each i In l : MyBase.Items.Add(i) : Next
+ End If
+ End Sub
+ Sub fillWithSQL(sqlstr As String, Optional showValueInText As Boolean = True, Optional conn As String = "SDL", Optional firstEmpty As Boolean = False, Optional clearList As Boolean = True, Optional firstEmptyName As String = "")
+ fillWithMyListItem((New SQL).loadCboBySqlWithListItem(sqlstr, showValueInText, conn), firstEmpty, clearList, firstEmptyName)
+ _TRANSLATE()
+ End Sub
+
+ Public Property _value As String
+ Get
+ Return getValueOfItem()
+ End Get
+ Set(v As String)
+
+ 'If _allowedValuesFreiText Is Nothing OrElse Not valueAllowed(v) Then
+ If v = "" Then
+ If Me.Items.Count > 0 And Not _allowFreiText Then Me.SelectedItem = Me.Items(0)
+ Else
+ changeItem(v, valueAllowed(v))
+ 'End If
+ End If
+ End Set
+ End Property
+
+ Function valueAllowed(t)
+ If _allowedValuesFreiText IsNot Nothing Then
+ For Each s In _allowedValuesFreiText
+ Try : If t.ToUpper = CStr(s).ToUpper Then Return True
+ Catch : End Try
+ Next
+ End If
+ Return False
+ End Function
+
+
+ Function changeItem(v, Optional Valueallowed = False) As Boolean
+ '
+ Try
+ If Me.Items.Count = 0 Then Me.Text = "" : Return True
+
+ If Me.Items(0).GetType.Name = "MyListItem" Then
+
+ Try : If DirectCast(Me.SelectedItem, MyListItem).Value.ToUpper = CStr(v).ToUpper Then Return True 'warum nochmal?
+ Catch : End Try ' Wenn der ausgewählte EIntrag bereits korrekt ist.
+
+ For Each i In Me.Items
+ ' MsgBox(DirectCast(i, MyListItem).Value & " - " & v)
+ If DirectCast(i, MyListItem).Value.ToUpper = CStr(v).ToUpper Then
+ 'me.SelectedIndex = i : Return True
+ Me.SelectedItem = i : Return True
+ End If
+ Next
+ For Each i In Me.Items
+ ' MsgBox(DirectCast(i, MyListItem).Value & " - " & v)
+ If DirectCast(i, MyListItem).Text.ToUpper = CStr(v).ToUpper Then
+ Me.SelectedItem = i : Return True
+ End If
+ Next
+ Else
+ 'WEnn die Items normale Strings beinhalten, wird keine Änderung des ._value Wertes vorgenommen.
+ Return True
+ End If
+ Catch ex As Exception
+ ' MsgBox(ex.Message)
+ End Try
+
+ If Not _allowFreiText And Not Valueallowed Then
+ Me._value = ""
+ End If
+
+ If Valueallowed Then
+ Me.Text = v
+ End If
+
+ Return False
+ End Function
+
+ Function getValueOfItem() As String
+ If Me.Items.Count = 0 Then Return ""
+ Try : Return DirectCast(MyBase.SelectedItem, MyListItem).Value
+ Catch
+ Try : Return MyBase.SelectedItem.ToString : Catch : End Try
+ End Try
+ If _allowFreiText Or valueAllowed(Me.Text) Then Return Me.Text
+ Return ""
+ End Function
+
+
+ Private Sub MyComboBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave
+ If Me.DropDownStyle = Windows.Forms.ComboBoxStyle.DropDown Then
+ If Me.Text = "" Then
+ If Me.Items.Count > 0 Then Me.SelectedItem = Me.Items(0)
+ End If
+ End If
+
+ Me._value = Me.Text
+ changeItem(CStr(Me.Text), valueAllowed(Me.Text))
+
+ Exit Sub
+
+ If valueAllowed(Me.Text) Then
+ Dim t = Me.Text
+ changeItem(CStr(t)) 'Wenn nicht schon in der Auswahl gefunden, dann wird _value gesetzt
+ Me._value = t
+ Else
+ If Me._value = "" And Me.Text <> "" Then
+ If Not changeItem(CStr(Me.Text)) And _allowFreiText Then
+ Me.Text = ""
+ If Me.Items.Count > 0 Then Me.SelectedItem = Me.Items(0)
+ Me._value = ""
+ End If
+ End If
+ End If
+
+ End Sub
+
+ Private Sub MyComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Me.SelectedIndexChanged
+ Me._value = getValueOfItem()
+ 'Geht nicht, da sonst Auswahl nicht Funktioniert
+
+ ' MsgBox(Me._value)
+ End Sub
+
+
+ Public Sub _TRANSLATE()
+ Try
+
+ If VERAG_PROG_ALLGEMEIN.cAllgemein._LAN = "" Then Exit Sub
+ If VERAG_PROG_ALLGEMEIN.cAllgemein._LAN = "DE" Then Exit Sub
+
+ Dim lanTxtAll = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.FindAll(Function(x) x.trs_object = Me.FindForm.Name And x.trs_control = Me.Name And x.trs_sprache = VERAG_PROG_ALLGEMEIN.cAllgemein._LAN)
+ If lanTxtAll.Count > 0 Then
+
+ Dim listItems(Me.Items.Count) As MyListItem
+ Me.Items.CopyTo(listItems, 0)
+
+ Me.Items.Clear()
+
+ For Each l In listItems
+ If l IsNot Nothing Then
+
+ Dim lanTxt = l.Text
+ For Each txt In lanTxtAll
+ If txt.trs_subControl IsNot DBNull.Value AndAlso txt.trs_subControl = l.Text Then
+ lanTxt = txt.trs_text
+ End If
+ Next
+ ' Dim lanTxt = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.Find(Function(x) x.trs_object = Me.FindForm.Name And x.trs_control = Me.Name And x.trs_sprache = VERAG_PROG_ALLGEMEIN.cAllgemein._LAN And (x.trs_subControl IsNot DBNull.Value AndAlso x.trs_subControl = l.Text))
+ ' MsgBox(If(lanTxt Is Nothing, "noth " & Me.Name, lanTxt.trs_text))
+ Me.Items.Add(New MyListItem(lanTxt, l.Value))
+
+ End If
+ Next
+ End If
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+End Class
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.Designer.vb
new file mode 100644
index 0000000..231d707
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.Designer.vb
@@ -0,0 +1,51 @@
+Partial Class MyDatagridview
+ Inherits System.Windows.Forms.DataGridView
+
+ _
+ Public Sub New(ByVal container As System.ComponentModel.IContainer)
+ MyClass.New()
+
+ 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
+ If (container IsNot Nothing) Then
+ container.Add(Me)
+ End If
+
+ End Sub
+
+ _
+ Public Sub New()
+ MyBase.New()
+
+ 'Dieser Aufruf ist für den Komponenten-Designer erforderlich.
+ InitializeComponent()
+
+ End Sub
+
+ 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ Try
+ MyBase.Dispose(disposing)
+ Catch ex As Exception
+
+ End Try
+ End Try
+ End Sub
+
+ '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.
+ _
+ Private Sub InitializeComponent()
+ components = New System.ComponentModel.Container()
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.vb
new file mode 100644
index 0000000..f4514da
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyDatagridview.vb
@@ -0,0 +1,319 @@
+Imports System.ComponentModel
+Imports System.Reflection
+Imports System.Windows.Forms
+
+Public Class MyDatagridview
+ Inherits DataGridView
+ Implements INotifyPropertyChanged
+
+ Dim SQL_STR As String = ""
+ Dim CONN_ART As String = ""
+ Dim SQL_PARAM As List(Of SQLVariable) = Nothing
+
+ Public RELOAD_PARAMS() As String = Nothing ' Die Spaltennamen, anhand dieser die Auswhal bei einem Reload wiederhergesatllt wird
+ Dim RELOAD_PARAMS_Save As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
+
+ Property AKTUALISIERUNGS_INTERVALL As Integer = -1
+ WithEvents timer As New Timer
+ Public VALUE_CHANGED As Boolean = False
+
+ Event RELOADED()
+
+ ' Protected Overrides Sub OnCheckedChanged(ByVal e As EventArgs)
+ ' Me.Checked = Me.Checked_value
+ ' End Sub
+
+ Dim SortColumn = Nothing
+ Dim sel_row_index = -1
+ Dim SortDirection As Windows.Forms.SortOrder
+ Dim ScrollPos_X = Nothing
+ Dim ScrollPos_Y = Nothing
+ 'Dim ScrollPos_Y2 = Nothing
+ Dim SQL As New SQL
+
+ Public Sub GetOrder()
+ ' dataGridView1.HorizontalScrollingOffset = dataGridView1.HorizontalScrollingOffset + 10
+
+ If Me.Columns.Count > 0 Then
+ RELOAD_PARAMS_Save.Clear()
+ If Me.SortedColumn IsNot Nothing Then
+ SortColumn = Me.SortedColumn.Index
+ SortDirection = Me.SortedColumn.HeaderCell.SortGlyphDirection
+ End If
+ ScrollPos_X = Me.HorizontalScrollingOffset
+ ScrollPos_Y = Me.FirstDisplayedScrollingRowIndex 'Me.VerticalScrollingOffset
+
+ 'ScrollPos_Y2 = Me.VerticalScrollingOffset
+ If Me.SelectedRows.Count > 0 Then
+ sel_row_index = Me.SelectedRows(0).Index
+
+
+ If RELOAD_PARAMS IsNot Nothing Then
+ For Each p In RELOAD_PARAMS
+ RELOAD_PARAMS_Save.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(p, Me.SelectedRows(0).Cells(p).Value))
+ Next
+ End If
+ End If
+
+
+ End If
+ End Sub
+
+ Protected Overrides Sub OnPaint(e As PaintEventArgs)
+ Try
+ MyBase.OnPaint(e)
+ If AKTUALISIERUNGS_INTERVALL > 0 Then timer.Interval = AKTUALISIERUNGS_INTERVALL : timer.Enabled = True
+
+ Catch ex As Exception
+ Me.Invalidate()
+ End Try
+ End Sub
+
+ Public Sub SET_SQL(SQL_STR As String, CONN_ART As String, Optional SQL_PARAM As List(Of SQLVariable) = Nothing, Optional RELOAD_PARAMS As String() = Nothing)
+ Me.SQL_STR = SQL_STR
+ Me.CONN_ART = CONN_ART
+ Me.SQL_PARAM = SQL_PARAM
+ Me.RELOAD_PARAMS = RELOAD_PARAMS
+ End Sub
+
+ Public Sub SetOrder()
+ If Me.Columns.Count > 0 Then
+ If SortColumn IsNot Nothing Then
+ If SortDirection = Windows.Forms.SortOrder.Ascending Then
+ Me.Sort(Me.Columns(CInt(SortColumn)), ListSortDirection.Ascending)
+ ElseIf SortDirection = Windows.Forms.SortOrder.Descending Then
+ Me.Sort(Me.Columns(CInt(SortColumn)), ListSortDirection.Descending)
+ Else
+ Me.Sort(Me.Columns(CInt(SortColumn)))
+ End If
+ End If
+ If ScrollPos_X IsNot Nothing Then Me.HorizontalScrollingOffset = ScrollPos_X
+ Try
+ ' Me.DataBind
+ Me.FirstDisplayedScrollingRowIndex = ScrollPos_Y
+ Catch ex As Exception
+ 'If ScrollPos_Y IsNot Nothing Then Me.HorizontalScrollBar.Value = ScrollPos_Y2
+
+ End Try
+
+ If RELOAD_PARAMS IsNot Nothing And RELOAD_PARAMS_Save.Count > 0 Then
+ For Each r As DataGridViewRow In Me.Rows
+ Dim found = True
+ For Each p In RELOAD_PARAMS_Save
+ If r.Cells(p.Text).Value <> p.Value Then found = False
+ Next
+ If found Then
+ r.Selected = True
+
+ For Each c As DataGridViewCell In Me.Rows(sel_row_index).Cells
+ If c.Visible Then
+ Me.CurrentCell = c 'Damit der Cursor in der DGV richtig steht
+ Exit For
+ End If
+ Next
+ Exit For
+ End If
+
+ Next
+ Else
+ If sel_row_index > 0 And Me.Rows.Count > sel_row_index Then
+ Me.ClearSelection()
+ Me.Rows(sel_row_index).Selected = True
+ For Each c As DataGridViewCell In Me.Rows(sel_row_index).Cells
+ If c.Visible Then
+ Me.CurrentCell = c 'Damit der Cursor in der DGV richtig steht
+ Exit For
+ End If
+ Next
+
+ End If
+ End If
+ End If
+ End Sub
+
+ Public Sub LOAD(Optional showErr As Boolean = False, Optional ByRef errOccured As Boolean = False)
+ If SQL_STR <> "" Then
+ Me.DataSource = SQL.loadDgvBySql_Param(SQL_STR, CONN_ART, , SQL_PARAM, showErr, errOccured)
+ Me._TRANSLATE()
+ End If
+ End Sub
+
+ Public Sub RELOAD()
+ GetOrder()
+ LOAD()
+ SetOrder()
+ RaiseEvent RELOADED()
+ End Sub
+
+ Public Event PropertyChanged As PropertyChangedEventHandler _
+ Implements INotifyPropertyChanged.PropertyChanged
+
+ Protected Sub OnPropertyChanged(ByVal name As String)
+ RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
+ End Sub
+
+
+ ' Private Sub MyDatagridview_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
+ ' End Sub
+
+ Private Sub timer_Tick(sender As Object, e As EventArgs) Handles timer.Tick
+ If VALUE_CHANGED Then
+ RELOAD()
+ VALUE_CHANGED = False
+ End If
+
+
+ End Sub
+
+
+ '_______________________________________________________________________________
+
+#Region "Operations"
+
+ Public Sub DefineSingleClickColumns(ParamArray columns As DataGridViewColumn())
+ singleClickColumns.Clear()
+
+ For Each column As DataGridViewColumn In columns
+ If Me.Columns.IndexOf(column) = -1 Then
+ Throw New ArgumentException("Instance of column (" + column.Name + ") is not in this DataGridView")
+ End If
+
+ singleClickColumns.Add(column)
+ Next
+ End Sub
+
+ Public Sub DefineSingleClickColumns(ParamArray columnIndexes As Integer())
+ singleClickColumns.Clear()
+
+ For Each columnIndex As Integer In columnIndexes
+ If columnIndex < 0 OrElse columnIndex >= Me.Columns.Count Then
+ Throw New ArgumentOutOfRangeException("Column index (" + columnIndex + ") is out of range")
+ End If
+
+ singleClickColumns.Add(Me.Columns(columnIndex))
+ Next
+ End Sub
+
+ Protected Sub BaseOnMouseDown(ByVal e As MouseEventArgs)
+ MyBase.OnMouseDown(e)
+ End Sub
+
+#End Region
+
+
+#Region "Overrides"
+
+ Protected Overloads Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)
+ ' If primary mouse button not down, do standard processing
+ If e.Button <> MouseButtons.Left Then
+ MyBase.OnMouseDown(e)
+
+ Return
+ End If
+
+ ' Get info on where user clicked
+ Dim hitInfo As DataGridView.HitTestInfo = HitTest(e.X, e.Y)
+
+ ' If a cell wasn't clicked, column isn't text or it's read only, do standard processing
+ If hitInfo.Type <> DataGridViewHitTestType.Cell OrElse Not (TypeOf Me.Columns(hitInfo.ColumnIndex) Is DataGridViewTextBoxColumn) OrElse Me.Columns(hitInfo.ColumnIndex).[ReadOnly] Then
+ MyBase.OnMouseDown(e)
+
+ Return
+ End If
+
+ ' If functionality enabled for specific columns and column clicked is not
+ ' one of these, do standard processing
+ If singleClickColumns.Count >= 1 AndAlso singleClickColumns.IndexOf(Me.Columns(hitInfo.ColumnIndex)) = -1 Then
+ MyBase.OnMouseDown(e)
+
+ Return
+ End If
+
+ ' Get clicked cell
+ Dim clickedCell As DataGridViewCell = Me.Rows(hitInfo.RowIndex).Cells(hitInfo.ColumnIndex)
+
+ ' If cell not current, try and make it so
+ If CurrentCell IsNot clickedCell Then
+ ' Allow standard processing make clicked cell current
+ MyBase.OnMouseDown(e)
+
+ ' If this didn't happen (validation failed etc), abort
+ If Me.CurrentCell IsNot clickedCell Then
+ Return
+ End If
+ End If
+
+ ' If already in edit mode, do standard processing (will position caret)
+ If Me.CurrentCell.IsInEditMode Then
+ MyBase.OnMouseDown(e)
+
+ Return
+ End If
+
+ ' Enter edit mode
+ Me.BeginEdit(False)
+
+ If Me.EditingControl IsNot Nothing Then
+
+ ' Ensure text is scrolled to the left
+ Dim textBox As TextBoxBase = DirectCast(Me.EditingControl, TextBoxBase)
+
+ textBox.SelectionStart = 0
+
+ textBox.ScrollToCaret()
+
+ ' Position caret by simulating a mouse click within control
+ Dim editOffset As Integer = e.X - hitInfo.ColumnX - Me.EditingControl.Left
+
+ Dim lParam As Int32 = MakeLong(editOffset, 0)
+
+ SendMessage(Me.EditingControl.Handle, WM_LBUTTONDOWN, 0, lParam)
+
+ SendMessage(Me.EditingControl.Handle, WM_LBUTTONUP, 0, lParam)
+ End If
+ End Sub
+
+#End Region
+
+#Region "Implementation"
+
+ Const WM_LBUTTONDOWN As Integer = 513
+
+ Const WM_LBUTTONUP As Integer = 514
+
+ _
+ Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal msg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Boolean
+ End Function
+
+ Private singleClickColumns As New List(Of DataGridViewColumn)()
+
+ Private Function MakeLong(ByVal loWord As Integer, ByVal hiWord As Integer) As Integer
+ Return (hiWord << 16) Or (loWord And 65535)
+ End Function
+
+#End Region
+
+
+
+ Public Sub _TRANSLATE()
+ Try
+
+ If VERAG_PROG_ALLGEMEIN.cAllgemein._LAN = "" Then Exit Sub
+ If VERAG_PROG_ALLGEMEIN.cAllgemein._LAN = "DE" Then Exit Sub
+
+ Dim lanTxtAll = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.FindAll(Function(x) x.trs_object = Me.FindForm.Name And x.trs_control = Me.Name And x.trs_sprache = VERAG_PROG_ALLGEMEIN.cAllgemein._LAN)
+ If lanTxtAll.Count > 0 Then
+ For Each txt In lanTxtAll
+ If Me.Columns(txt.trs_subControl) IsNot Nothing Then
+ Me.Columns(txt.trs_subControl).HeaderText = txt.trs_text
+ End If
+ Next
+ End If
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.Designer.vb
new file mode 100644
index 0000000..0784a98
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.Designer.vb
@@ -0,0 +1,47 @@
+Partial Class MyFlowLayoutPanel
+ Inherits System.Windows.Forms.FlowLayoutPanel
+
+ _
+ Public Sub New(ByVal container As System.ComponentModel.IContainer)
+ MyClass.New()
+
+ 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
+ If (container IsNot Nothing) Then
+ container.Add(Me)
+ End If
+
+ End Sub
+
+ _
+ Public Sub New()
+ MyBase.New()
+
+ 'Dieser Aufruf ist für den Komponenten-Designer erforderlich.
+ InitializeComponent()
+
+ End Sub
+
+ 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ '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.
+ _
+ Private Sub InitializeComponent()
+ components = New System.ComponentModel.Container()
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.vb
new file mode 100644
index 0000000..33490c0
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyFlowLayoutPanel.vb
@@ -0,0 +1,15 @@
+Imports System.ComponentModel
+Imports System.Windows.Forms
+Imports System.Drawing
+
+Public Class MyFlowLayoutPanel
+ Inherits FlowLayoutPanel
+
+
+ Protected Overrides Function ScrollToControl(ByVal activecontrol As Control) As Point
+
+ Return Me.AutoScrollPosition
+
+ End Function
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyLinkedVALUES.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyLinkedVALUES.vb
new file mode 100644
index 0000000..86fcc28
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyLinkedVALUES.vb
@@ -0,0 +1,27 @@
+Imports System.Windows.Forms
+
+Public Class MyLinkLabelVALUE
+ Inherits System.Windows.Forms.LinkLabel
+
+ Public Property valuename As String
+ Public Property linkedTextBox As TextBox
+
+ Protected Overrides Sub OnClick(e As EventArgs)
+ MyBase.OnClick(e)
+ End Sub
+
+End Class
+
+
+Public Class MyLinkPicBoxVALUE
+ Inherits System.Windows.Forms.PictureBox
+
+ Public Property valuename As String
+ Public Property linkedTextBox As TextBox
+ Public Property linkedPictureBox As PictureBox
+
+ Protected Overrides Sub OnClick(e As EventArgs)
+ MyBase.OnClick(e)
+ End Sub
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyListBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyListBox.vb
new file mode 100644
index 0000000..2cf8903
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyListBox.vb
@@ -0,0 +1,39 @@
+Imports System.ComponentModel
+
+Public Class MyListBox
+ Inherits System.Windows.Forms.ListBox
+
+ Public Sub New()
+ End Sub
+
+ Sub fillWithMyListItem(l As List(Of MyListItem))
+ MyBase.Items.Clear()
+ For Each i In l : MyBase.Items.Add(i) : Next
+ End Sub
+ Sub fillWithSQL(sql As String, Optional showValueInText As Boolean = True, Optional conn As String = "SDL")
+ fillWithMyListItem((New SQL).loadCboBySqlWithListItem(sql, showValueInText, conn))
+ End Sub
+
+ Public Property _value As String
+ Get
+ Return getValueOfItem()
+ End Get
+ Set(v As String)
+ changeItem(v)
+ End Set
+ End Property
+
+ Sub changeItem(v)
+ For Each i In MyBase.Items
+ If DirectCast(i, MyListItem).Value = v Then
+ MyBase.SelectedItem = i : Exit Sub
+ End If
+ Next
+ End Sub
+
+ Function getValueOfItem() As String
+ Try : Return DirectCast(MyBase.SelectedItem, MyListItem).Value : Catch : End Try
+ Return ""
+ End Function
+End Class
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.Designer.vb
new file mode 100644
index 0000000..b8a5c99
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.Designer.vb
@@ -0,0 +1,47 @@
+Partial Class MyPanel
+ Inherits System.Windows.Forms.Panel
+
+ _
+ Public Sub New(ByVal container As System.ComponentModel.IContainer)
+ MyClass.New()
+
+ 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
+ If (container IsNot Nothing) Then
+ container.Add(Me)
+ End If
+
+ End Sub
+
+ _
+ Public Sub New()
+ MyBase.New()
+
+ 'Dieser Aufruf ist für den Komponenten-Designer erforderlich.
+ InitializeComponent()
+
+ End Sub
+
+ 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ '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.
+ _
+ Private Sub InitializeComponent()
+ components = New System.ComponentModel.Container()
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.vb
new file mode 100644
index 0000000..5180ced
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyPanel.vb
@@ -0,0 +1,15 @@
+Imports System.ComponentModel
+Imports System.Windows.Forms
+Imports System.Drawing
+
+Public Class MyPanel
+ Inherits Panel
+
+
+ Protected Overrides Function ScrollToControl(ByVal activecontrol As Control) As Point
+
+ Return Me.AutoScrollPosition
+
+ End Function
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.Designer.vb
new file mode 100644
index 0000000..5b1d89e
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.Designer.vb
@@ -0,0 +1,40 @@
+Partial Class MyRadioButton
+ Inherits System.Windows.Forms.RadioButton
+
+ _
+ Public Sub New(ByVal container As System.ComponentModel.IContainer)
+ MyClass.New()
+
+ 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers
+ If (container IsNot Nothing) Then
+ container.Add(Me)
+ End If
+
+ End Sub
+
+
+
+ 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ '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.
+ _
+ Private Sub InitializeComponent()
+ components = New System.ComponentModel.Container()
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.vb
new file mode 100644
index 0000000..7da1173
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRadioButton.vb
@@ -0,0 +1,34 @@
+Imports System.Windows.Forms
+
+Public Class MyRadioButton
+ Inherits System.Windows.Forms.RadioButton
+
+ Public Sub New()
+ End Sub
+
+ Public Property GroupName As String
+
+
+ Private Sub MyRadioButton_Click(sender As Object, e As EventArgs) Handles Me.Click
+ ' Dim rb As MyRadioButton = DirectCast(sender, MyRadioButton)
+ ' MsgBox(Me.Checked)
+ ' If Not Me.Checked Then
+ uncheck(Me.FindForm, Me.GroupName)
+ Me.Checked = True
+ ' End If
+
+
+ End Sub
+
+ Sub uncheck(c As Control, GroupName As String)
+ ' MsgBox(c.GetType.Name)
+ If c.GetType.Name = "MyRadioButton" AndAlso DirectCast(c, MyRadioButton).GroupName = GroupName Then
+ DirectCast(c, MyRadioButton).Checked = False
+ ElseIf c.HasChildren Then
+ For Each csub In c.Controls
+ uncheck(csub, GroupName)
+ Next
+ End If
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox.vb
new file mode 100644
index 0000000..47ca705
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox.vb
@@ -0,0 +1,40 @@
+Imports System.ComponentModel
+Imports System.Drawing
+Imports System.Windows.Forms
+
+Public Class MyRichTextBox
+ Inherits System.Windows.Forms.RichTextBox
+
+ Property MaxLines_Warning As String = ""
+ Property MaxLines_Warning_Label As Label = Nothing
+ Property MaxLineLength As Integer = -1
+
+
+ Private Sub MyTextBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave
+ If MaxLineLength > 0 Then
+ Dim str() As String = Me.Lines
+ For i = 0 To Me.Lines.Count - 1
+ If str(i).Length > MaxLineLength Then
+ str(i) = str(i).Substring(0, MaxLineLength)
+ End If
+ Next
+ Me.Lines = str
+ End If
+ End Sub
+
+ Private Sub MyTextBox_Textchanged(sender As Object, e As EventArgs) Handles Me.TextChanged
+ 'sender.ForeColor = System.Drawing.Color.Black
+
+ If Me.Multiline And IsNumeric(MaxLines_Warning) Then
+ ' If Me.Lines.Length > MaxLines Then
+ If MaxLines_Warning_Label IsNot Nothing Then
+ MaxLines_Warning_Label.Visible = CBool(Me.Lines.Length > MaxLines_Warning)
+ End If
+ 'End If
+ End If
+
+ End Sub
+
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox2.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox2.vb
new file mode 100644
index 0000000..0e74090
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyRichTextBox2.vb
@@ -0,0 +1,41 @@
+Imports System.ComponentModel
+Imports System.Drawing
+Imports System.Windows.Forms
+
+Public Class MyRichTextBox2
+ Inherits System.Windows.Forms.RichTextBox
+
+
+ Property MaxLines_Warning As String = ""
+ Property MaxLines_Warning_Label As Label = Nothing
+ Property MaxLineLength As Integer = -1
+
+
+ Private Sub MyTextBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave
+ If MaxLineLength > 0 Then
+ Dim str() As String = Me.Lines
+ For i = 0 To Me.Lines.Count - 1
+ If str(i).Length > MaxLineLength Then
+ str(i) = str(i).Substring(0, MaxLineLength)
+ End If
+ Next
+ Me.Lines = str
+ End If
+ End Sub
+
+ Private Sub MyTextBox_Textchanged(sender As Object, e As EventArgs) Handles Me.TextChanged
+ 'sender.ForeColor = System.Drawing.Color.Black
+
+ If Me.Multiline And IsNumeric(MaxLines_Warning) Then
+ ' If Me.Lines.Length > MaxLines Then
+ If MaxLines_Warning_Label IsNot Nothing Then
+ MaxLines_Warning_Label.Visible = CBool(Me.Lines.Length > MaxLines_Warning)
+ End If
+ 'End If
+ End If
+
+ End Sub
+
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.Designer.vb
new file mode 100644
index 0000000..d00b9ca
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.Designer.vb
@@ -0,0 +1,30 @@
+Partial Class MySearchBox
+ Inherits System.Windows.Forms.TextBox
+
+
+
+
+ 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ '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.
+ _
+ Private Sub InitializeComponent()
+ components = New System.ComponentModel.Container()
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.vb
new file mode 100644
index 0000000..e34e729
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MySearchBox.vb
@@ -0,0 +1,638 @@
+Imports System.ComponentModel
+Imports System.Drawing
+Imports System.Windows.Forms
+
+'Imports System.Threading
+
+Public Class MySearchBox
+ Inherits System.Windows.Forms.TextBox
+ Implements INotifyPropertyChanged
+
+ ' Dim sql As New SDL.SQL
+ ' Dim KUNDENSQL As New SDL.kundenSQL
+ Dim form As Form = Me.FindForm
+ 'Public KdData As SDL.cKundenFMZOLL
+ Public DR As DataRow = Nothing
+
+ Public Property searchActive As Boolean = True
+ Public Property _AllowSetValue As Boolean = False
+ Public Property _allowFreitext As Boolean = False
+ Public Property _hideIfListEmpty As Boolean = True
+ Public Property dgvpos As String = "LEFT"
+ Public Property _autoSizeGross As Boolean = False
+
+ Public Property SQL_WhereParamList As String()
+ Public Property INVISIBLE_COLUMNS As String()
+
+ Public Property SQL_SELECT As String
+ Public Property SQL_WHERE As String
+ Public Property KEYPARAM As String
+ Public Property DISPLAY_PARAM As String
+ ' Public Property DISPLAY_PARAM_VALUE As String
+ Public Property SQL_ORDER_BY As String
+ Public Property conn_art As String = "FMZOLL"
+ Public Property key_visible As Boolean = False
+ Public Property _allowSpaceAsSplitter As Boolean = False
+
+
+ Dim SrchHeight As Integer = 300
+ Dim SrchWidth As Integer = 300
+
+ Public Event VALUE_CHANGED()
+
+ Dim active = False
+ Public Property _value As String
+ ' Public Propvalue As String
+ ' Public Property _value As String
+ ' Get
+ ' Return Me.Propvalue
+ ' End Get
+ ' Set(v As String)
+ ' SET_VALUE(v)
+ ' OnPropertyChanged("_value")
+ ' End Set
+ 'End Property
+
+
+
+ Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
+
+ Protected Sub OnPropertyChanged(ByVal name As String)
+ RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
+ End Sub
+
+
+ Public WithEvents usrcntl As usrcntlKdSearch '= DirectCast(Me.FindForm.Controls.Find("dgvFindKD", False)(0), DataGridView)
+
+ ' Public WithEvents dgv As DataGridView
+ ' Public WithEvents dgvInaktiv As DataGridView
+
+ Dim SQL As New SQL
+
+ Public Sub FireReturn()
+ dgvFindKD_Click(Me, New KeyEventArgs(Keys.Return))
+ End Sub
+
+ Protected Overrides Sub OnPaint(e As PaintEventArgs)
+ Try
+ MyBase.OnPaint(e)
+ Catch ex As Exception
+ Me.Invalidate()
+ End Try
+ End Sub
+
+ Private Sub KdSearchBox_GotFocus(sender As Object, e As EventArgs) Handles Me.GotFocus
+ Try
+ Me.SelectionLength = 0
+ Me.HideSelection = False
+ Me.SelectAll()
+ Me.Select()
+ Catch ex As Exception
+ MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 01: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Private Sub KdSearchBox_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
+ Try
+ 'Console.WriteLine(String.Format("TEEST 01"))
+ If Not searchActive Then Exit Sub
+
+ ' If dgv Is Nothing Then dgv = usrcntl.dgvKundenAktiv
+ ' If dgvInaktiv Is Nothing Then dgvInaktiv = usrcntl.dgvKundenInAktiv
+
+ If e.KeyCode = Keys.ShiftKey Or e.KeyCode = Keys.Shift Or e.KeyCode = Keys.Alt Or e.KeyCode = Keys.Control Or e.KeyCode = Keys.Left Or e.KeyCode = Keys.Right Or e.KeyCode = Keys.End Or e.KeyCode = Keys.Home Or e.KeyCode = Keys.CapsLock Then 'Bei Shift Tab..
+ If usrcntl IsNot Nothing Then usrcntl.Visible = False
+ e.Handled = True
+ Exit Sub
+ End If
+
+
+ If e.KeyCode = Keys.Tab Then
+ If usrcntl IsNot Nothing Then usrcntl.Visible = False
+ e.Handled = True
+ Exit Sub
+ End If
+
+ If e.KeyCode = Keys.Return Then
+ e.Handled = True
+ Exit Sub
+ End If
+
+ If e.KeyCode = Keys.Up Then
+ If usrcntl IsNot Nothing Then prevLKW(usrcntl.dgvKundenAktiv)
+ e.Handled = True
+ Exit Sub
+ End If
+ If e.KeyCode = Keys.Down Then
+ If usrcntl IsNot Nothing Then nextLKW(usrcntl.dgvKundenAktiv)
+ e.Handled = True
+ Exit Sub
+ End If
+ If e.KeyCode = Keys.Escape Then
+ hideDgv(usrcntl)
+ e.Handled = True
+ Exit Sub
+ End If
+
+
+ DR = Nothing
+ _value = ""
+
+ If Me.Text.Trim = "" Then
+ setMeValue(DR)
+ hideDgv(usrcntl)
+ Exit Sub
+ End If
+
+ If usrcntl Is Nothing Then
+ Exit Sub
+ End If
+
+ If usrcntl.Visible = False Then
+ usrcntl.Width = SrchWidth
+ usrcntl.Height = SrchHeight
+
+ Dim locationOnForm As Point = Nothing
+ If dgvpos = "LEFT" Or dgvpos = "" Then
+ locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location))
+ ElseIf dgvpos = "RIGHT" Then
+ locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location))
+ locationOnForm.X = locationOnForm.X - (usrcntl.Width - Me.Width)
+ ' MsgBox(locationOnForm.X & "/" & locationOnForm.Y)
+ End If
+
+
+ If locationOnForm.Y + usrcntl.Height + Me.Height > form.ClientRectangle.Height Then
+ usrcntl.Height = form.ClientRectangle.Height - locationOnForm.Y - Me.Height
+ End If
+
+ usrcntl.Location = locationOnForm
+ usrcntl.Top += Me.Height
+ End If
+
+ With usrcntl.dgvKundenAktiv
+
+ If usrcntl.Visible = False Then
+ .AllowUserToAddRows = False
+ .AllowUserToDeleteRows = False
+ .AllowUserToOrderColumns = False
+ .AllowUserToResizeColumns = False
+ .AllowUserToResizeRows = False
+ .ReadOnly = True
+ .MultiSelect = False
+ .SelectionMode = DataGridViewSelectionMode.FullRowSelect
+ .BackgroundColor = Color.White
+ .ForeColor = Color.Black
+ .GridColor = Color.White
+
+ End If
+
+ 'THREADING AKTIV
+ Me.ThreadInitAKTIV()
+ ' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV)
+ ' ThreadInitAKTIV.IsBackground = True
+ ' ThreadInitAKTIV.Start()
+
+ End With
+
+
+ usrcntl.dgvKundenInAktiv.Visible = False
+ usrcntl.Panel1.Visible = False
+
+
+ If _hideIfListEmpty Then
+
+
+ If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
+ setObjectVisible(usrcntl, False)
+ Else
+ setObjectVisible(usrcntl, True)
+ End If
+ If False Then
+
+ 'THREADING ThreadWaitAndSee
+ Dim ThreadWaitAndSee = New System.Threading.Thread(Sub()
+ Threading.Thread.Sleep(200)
+ If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
+ setObjectVisible(usrcntl, False)
+ Else
+ setObjectVisible(usrcntl, True)
+ End If
+ End Sub)
+ ThreadWaitAndSee.IsBackground = True
+ ThreadWaitAndSee.Start()
+ End If
+ Else
+ usrcntl.Visible = True
+ usrcntl.Show()
+ usrcntl.BringToFront()
+ End If
+
+ Catch ex As Exception
+ MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 02: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Sub hideDgv(o) '(sender As Object, e As EventArgs)
+ If o IsNot Nothing Then
+ Me.searchActive = False
+ o.visible = False
+ Me.searchActive = True
+ End If
+ End Sub
+
+
+ Sub ThreadInitAKTIV()
+ Try
+ If usrcntl Is Nothing Then Exit Sub
+ If usrcntl.dgvKundenAktiv Is Nothing Then Exit Sub
+ With usrcntl.dgvKundenAktiv
+
+ Dim srch As String = Me.Text.Replace("'", "").ToString.Trim
+ If _allowSpaceAsSplitter Then srch = srch.Replace(" ", ",")
+
+ Dim srch2 As String = ""
+ If srch.Contains(",") Then
+ Dim spitter() = srch.Split(",")
+ srch = spitter(0).ToString.Trim
+ srch2 = spitter(1).ToString.Trim
+ End If
+ Dim topAnz = 16
+ Dim AvisoEmail = ""
+ Dim SQLstr As String = "SELECT TOP " & topAnz & " " & SQL_SELECT & " WHERE 1=1 "
+ SQLstr &= If(SQL_WHERE <> "", " AND " & SQL_WHERE, "")
+
+ If srch <> "" And SQL_WhereParamList.Count > 0 Then 'erster Suchparameter
+ SQLstr &= " AND ( 1<>1 "
+ For Each s In SQL_WhereParamList
+ SQLstr &= " OR " & s & " LIKE '" & srch & "%' "
+ Next
+ SQLstr &= " ) "
+ End If
+
+ If srch2 <> "" And SQL_WhereParamList.Count > 0 Then 'Wenn zweiter Suchparameter
+ SQLstr &= " AND ( 1<>1 "
+ For Each s In SQL_WhereParamList
+ SQLstr &= " OR " & s & " LIKE '" & srch2 & "%' "
+ Next
+ SQLstr &= " ) "
+ End If
+
+ If SQL_ORDER_BY <> "" Then SQLstr &= " ORDER BY " & SQL_ORDER_BY
+ 'MsgBox(SQLstr)
+ ' MsgBox(SQL.loadDgvBySql(SQLstr, conn_art).Rows.Count)
+ setDS(usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, conn_art))
+
+ End With
+
+ Catch ex As Exception
+ MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Sub SET_VALUE(KEYPARAM_Value, Optional showerror = True)
+ Try
+
+ If Not active Then Exit Sub
+ If KEYPARAM_Value Is Nothing Then KEYPARAM_Value = ""
+ Dim SQLstr As String = "SELECT TOP 1 " & SQL_SELECT & " WHERE 1=1 "
+ SQLstr &= " AND " & KEYPARAM & " = '" & KEYPARAM_Value & "' "
+ SQLstr &= If(SQL_WHERE <> "", " AND " & SQL_WHERE, "")
+ If SQL_ORDER_BY <> "" Then SQLstr &= " ORDER BY " & SQL_ORDER_BY
+ ' MsgBox(SQLstr)
+ Dim dttmp As DataTable = SQL.loadDgvBySql(SQLstr, conn_art, , showerror)
+ If dttmp IsNot Nothing AndAlso dttmp.Rows.Count > 0 Then
+ setMeValue(dttmp.Rows(0))
+ Else
+ If _allowFreitext Then
+ Me.Text = KEYPARAM_Value
+ Me._value = KEYPARAM_Value
+ Else
+ Me.Text = ""
+ Me._value = ""
+ End If
+ hideDgv(usrcntl)
+ End If
+
+ Catch ex As Exception
+ MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+
+ Public Function GET_VALUE_OnlyReturn(KEYPARAM_Value, Optional showerror = True)
+ Try
+ If SQL_SELECT = "" Then Return Nothing 'Ohne dem gehts nicht
+ If KEYPARAM = "" Then Return Nothing 'Ohne dem gehts nicht
+ If KEYPARAM_Value Is Nothing Then KEYPARAM_Value = ""
+
+ Dim SQLstr As String = "SELECT TOP 1 " & SQL_SELECT & " WHERE 1=1 "
+ SQLstr &= " AND " & KEYPARAM & " = '" & KEYPARAM_Value & "' "
+ SQLstr &= If(SQL_WHERE <> "", " AND " & SQL_WHERE, "")
+ If SQL_ORDER_BY <> "" Then SQLstr &= " ORDER BY " & SQL_ORDER_BY
+
+ Dim dttmp As DataTable = SQL.loadDgvBySql(SQLstr, conn_art, , showerror)
+ If dttmp IsNot Nothing AndAlso dttmp.Rows.Count > 0 Then
+
+ Return dttmp.Rows(0)(If(DISPLAY_PARAM = "", KEYPARAM, DISPLAY_PARAM)).ToString
+ End If
+ Catch ex As Exception
+ End Try
+ Return Nothing
+ End Function
+
+
+ Public Function GET_VALUE_OnlyReturnBySQL(SQL_str, Optional showerror = True)
+ Try
+
+ Dim dttmp As DataTable = SQL.loadDgvBySql(SQL_str, conn_art, , showerror)
+ If dttmp IsNot Nothing AndAlso dttmp.Rows.Count > 0 Then
+
+ Return dttmp.Rows(0)(If(DISPLAY_PARAM = "", KEYPARAM, DISPLAY_PARAM)).ToString
+ End If
+ Catch ex As Exception
+ End Try
+ Return Nothing
+ End Function
+
+ 'threadsicherer Aufruf
+ ' Delegate Sub setLabelCallback(l As DataGridView, t As DataTable)
+ Private Sub setDS(l As DataGridView, t As DataTable)
+ Try
+ If l Is Nothing Then Exit Sub
+ If t Is Nothing Then Exit Sub
+ '' If Me.InvokeRequired Then
+ 'Dim d As New setLabelCallback(AddressOf setDS)
+ ' Me.Invoke(d, New Object() {l, t})
+ ' Else
+ With l
+ .Columns.Clear()
+ .DataSource = t
+
+ If .ColumnCount = 0 Then Exit Sub
+
+ .RowHeadersVisible = False
+ .Columns(KEYPARAM).Visible = key_visible
+ .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
+ .ClearSelection()
+
+ If INVISIBLE_COLUMNS IsNot Nothing Then
+ For Each i In INVISIBLE_COLUMNS
+ .Columns(i).Visible = False
+ Next
+ End If
+
+ End With
+ ' End If
+
+ Catch ex As Exception
+ ' Try
+ ' MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.name & ") aufgetreten 05: " & vbNewLine & vbNewLine & ex.Message)
+ 'Catch ex2 As Exception
+ ' MsgBox("ERR", vbCritical)
+ 'End Try
+ End Try
+
+ End Sub
+
+ 'threadsicherer Aufruf
+ 'Delegate Sub setObjectVisibleCallback(l As Object, v As Boolean)
+ Private Sub setObjectVisible(l As Object, v As Boolean)
+ Try
+ If l Is Nothing Then Exit Sub
+ ' If Me.InvokeRequired Then
+ ' Dim d As New setObjectVisibleCallback(AddressOf setObjectVisible)
+ 'Me.Invoke(d, New Object() {l, v})
+ ' Else
+ l.visible = v
+ If v = True Then
+ l.Show()
+ l.BringToFront()
+ End If
+ ' End If
+ Catch ex As Exception
+ ' MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.name & ") aufgetreten 06: " & vbNewLine & vbNewLine & ex.Message)
+ End Try
+ End Sub
+
+
+ Public Sub nextLKW(dgv As DataGridView) '(sender As Object, e As EventArgs)
+ Try
+ If dgv.SelectedRows.Count > 0 Then
+ Dim i As Integer = dgv.SelectedRows(0).Index
+ If (i + 1 < dgv.RowCount) Then
+ 'dgv.CurrentCell = dgv.Item(2, i + 1)
+ dgv.ClearSelection()
+ dgv.Rows(i + 1).Selected = True
+ End If
+ Else
+ If dgv.Rows.Count > 0 Then ' dgv.CurrentCell = dgv.Item(2, 0)
+ dgv.ClearSelection()
+ dgv.Rows(0).Selected = True
+ End If
+ End If
+
+ Catch ex As Exception
+ MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03,1: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+ Public Sub prevLKW(dgv As DataGridView) '(sender As Object, e As EventArgs)
+ Try
+ If dgv.SelectedRows.Count > 0 Then
+ Dim i As Integer = dgv.SelectedRows(0).Index
+ If (i > 0) Then
+ 'dgv.CurrentCell = dgv.Item(2, i - 1)
+ dgv.ClearSelection()
+ dgv.Rows(i - 1).Selected = True
+ End If
+ Else
+ If dgv.Rows.Count > 0 Then 'dgv.CurrentCell = dgv.Item(2, dgv.Rows.Count - 1)
+ dgv.ClearSelection()
+ dgv.Rows(dgv.Rows.Count - 1).Selected = True
+ End If
+ End If
+ Catch ex As Exception
+ MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03,2: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Private Sub usrcntl_CLOSE(sender As Object, e As EventArgs) Handles usrcntl.CLOSE
+ hideDgv(usrcntl)
+ End Sub
+
+
+ Private Sub dgvFindKD_Click(sender As Object, e As EventArgs) Handles usrcntl.DGV_Click
+ Try
+ If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
+ With usrcntl.dgvKundenAktiv
+ If .SelectedRows.Count > 0 Then
+ ' If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
+ setMeValue(ToDataRow(.SelectedRows(0)))
+ hideDgv(usrcntl)
+ 'End If
+ End If
+ End With
+ End If
+ Catch ex As Exception
+ MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 07: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Shared Function ToDataRow(ByVal Value As DataGridViewRow) As DataRow
+ Try
+ Dim dv As System.Data.DataRowView = CType(Value.DataBoundItem, DataRowView)
+ Return dv.Row
+ Catch ex As Exception
+ Return Nothing
+ End Try
+ End Function
+
+ Private Sub TextBox1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown
+ Try
+ If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
+ If e.KeyData = Keys.Tab And usrcntl.Visible Then ' wenn usrcntl eingeblendet, soll der TABULATOR als InputKey gesehen werden.
+ If usrcntl.dgvKundenAktiv.SelectedRows.Count > 0 Then e.IsInputKey = True Else usrcntl.Visible = False
+ End If
+ End If
+ Catch ex As Exception
+ MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 09: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+ Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles Me.KeyDown, usrcntl.DGV_KeyDown
+ Try
+ If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
+ With usrcntl.dgvKundenAktiv
+ If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then
+ If e.KeyCode = Keys.Return And .RowCount > 0 And .SelectedRows.Count = 0 Then .Rows(0).Selected = True
+
+ If .SelectedRows.Count > 0 Then
+ ' If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
+ setMeValue(ToDataRow(.SelectedRows(0)))
+ hideDgv(usrcntl)
+ 'End If
+ Else
+ usrcntl.Visible = False
+ End If
+ e.Handled = True
+ e.SuppressKeyPress = True
+
+ End If
+ End With
+ End If
+ Catch ex As Exception
+ MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 10: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Private Sub setMeValue(row As DataRow)
+ Try
+ If Not active Then Exit Sub
+ Me.DR = row
+ Me._value = ""
+ If Me.DR Is Nothing Then
+ Me.Text = ""
+ Else
+
+ Me.Text = row(If(DISPLAY_PARAM = "", KEYPARAM, DISPLAY_PARAM)).ToString
+ Me._value = row(KEYPARAM).ToString
+ hideDgv(usrcntl)
+ End If
+ RaiseEvent VALUE_CHANGED()
+ If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength)
+ Catch ex As Exception
+ MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 12: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+
+ Private Sub KdSearchBox_PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Handles Me.PropertyChanged
+ ' setMeValue() ???????????????
+ End Sub
+
+ Sub initSearchBox(control As Control, SQL_SELECT As String, SQL_WhereParamList() As String, SQL_WHERE As String, SQL_ORDER_BY As String, KEYPARAM As String, Optional DISPLAY_PARAM As String = "", Optional conn_art As String = "FMZOLL", Optional key_visible As Boolean = True, Optional SrchWidth As Integer = 300, Optional Srchheight As Integer = 300, Optional INVISIBLE_COLUMNS() As String = Nothing)
+ Try
+ If control Is Nothing Then Exit Sub
+ Me.form = control
+ Me.usrcntl = New usrcntlKdSearch
+ control.Controls.Add(usrcntl)
+
+ Me.SQL_WhereParamList = SQL_WhereParamList
+ Me.SQL_SELECT = SQL_SELECT
+ Me.SQL_WHERE = SQL_WHERE
+ Me.KEYPARAM = KEYPARAM
+ Me.DISPLAY_PARAM = DISPLAY_PARAM
+ Me.SQL_ORDER_BY = SQL_ORDER_BY
+ Me.conn_art = conn_art
+ Me.key_visible = key_visible
+
+ Me.SrchHeight = Srchheight
+ Me.SrchWidth = SrchWidth
+ Me.INVISIBLE_COLUMNS = INVISIBLE_COLUMNS
+
+ 'Me.usrcntl = usrcntl
+ hideDgv(Me.usrcntl)
+ active = True
+ Catch ex As Exception
+ MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 13: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Private Sub KdSearchBox_LostFocus(sender As Object, e As EventArgs) Handles Me.LostFocus
+ 'THREADING ThreadWaitAndSee
+ Dim ThreadWaitAndSee = New System.Threading.Thread(Sub()
+ Try
+ Threading.Thread.Sleep(300)
+ ' MsgBox(Me.form.ActiveControl.Name)
+ If Me.form Is Nothing Then Exit Sub
+ If Me.form.ActiveControl Is Nothing Then Exit Sub
+ If Me.form.ActiveControl IsNot Me Then
+ setObjectVisible(usrcntl, False)
+ End If
+ Catch ex As Exception
+
+ End Try
+ End Sub)
+ ThreadWaitAndSee.IsBackground = True
+ ThreadWaitAndSee.Start()
+
+ Try
+ If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
+ If usrcntl.dgvKundenAktiv.SelectedCells.Count = 0 And usrcntl.dgvKundenInAktiv.SelectedCells.Count = 0 Then
+ Me.SelectionLength = 0
+ End If
+ End If
+ Catch ex As Exception
+ MsgBox("KdSearchBox_LostFocus: " & ex.Message)
+ End Try
+ End Sub
+
+
+
+ Private Sub KdSearchBox_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
+ If _autoSizeGross Then
+ Me.CharacterCasing = Windows.Forms.CharacterCasing.Upper
+ ' If Me.Text <> "" Then Me.Text = Me.Text.ToUpper
+ End If
+ End Sub
+
+ Private Sub KdSearchBox_TextChanged(sender As Object, e As EventArgs) Handles Me.TextChanged
+ If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength)
+ End Sub
+
+
+
+ Private Sub MySearchBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave
+ If Me._value = "" And Me.Text <> "" Then
+ SET_VALUE(Me.Text, False) 'Versucht, ob der Wert genau passt
+ End If
+ ' hideDgv(usrcntl) 'Geht ned, sonst kann man auch keinen Mausklick auf die DGV machen!!
+ End Sub
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyTextBox.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyTextBox.vb
new file mode 100644
index 0000000..8d93e92
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/MyTextBox.vb
@@ -0,0 +1,671 @@
+Imports System.ComponentModel
+Imports System.Drawing
+Imports System.Globalization
+Imports System.Windows.Forms
+
+Public Class MyTextBox
+ Inherits System.Windows.Forms.TextBox
+ Implements INotifyPropertyChanged
+ Property _numbersOnly As Boolean = False
+ Property _numbersOnlyKommastellen As String = ""
+ Property _ShortDateOnly As Boolean = False ' nicht mehr public , da fehler
+ Property _ShortDateNew As Boolean = False
+ Property _DateTimeOnly As Boolean = False
+ Property _TimeOnly As Boolean = False
+ Property _Waehrung As Boolean = False
+ Property _WaehrungZeichen As Boolean = True
+ Property _Prozent As Boolean = False
+ ' Property MaxLines As String = ""
+ Property MaxLines_Warning As String = ""
+ Property MaxLines_Warning_Label As Label = Nothing
+ Property MaxLineLength As Integer = -1
+
+ Public Event ValueChanged()
+
+ Public Sub New()
+
+ If _Waehrung Then MyBase.TextAlign = HorizontalAlignment.Right
+ ' Me.Focus()
+ End Sub
+
+ Private Sub MyTextBox_BindingContextChanged(sender As Object, e As EventArgs) Handles Me.BindingContextChanged
+ ' If _ShortDateOnly Then
+ 'If IsDate(sender.text) Then sender.text = CDate(sender.text).ToShortDateString
+ ' End If
+
+ ' If _Waehrung Then
+ 'If IsNumeric(sender.text) Then sender.text = String.Format("{0:N2}", CDbl(sender.text))
+ 'End If
+ ' If _ShortDateNew Then
+ 'If IsDate(sender._value) Then
+ 'sender._value = MyBase.Text
+ ' End If
+ ' End If
+
+ End Sub
+
+
+ Sub fillWithSQL(sql As String, Optional conn As String = "SDL")
+ ' MsgBox((New SQL).getValueTxtBySql(sql, conn))
+ Me._value = (New SQL).getValueTxtBySql(sql, conn)
+ ' MsgBox(Me._value)
+ 'Me.Text = Me._value
+ End Sub
+
+ Private Sub MyTextBox_KeyDown(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress
+
+ Exit Sub
+
+
+
+ If False Then
+ 'geht end
+ If MaxLineLength > 0 And e.KeyChar <> Chr(13) Then
+ Dim str() As String = Me.Text.Split(vbNewLine)
+ For Each s In Me.Lines
+ If s.Length > MaxLineLength Then
+ s = s.Substring(0, MaxLineLength)
+ End If
+ Next
+ End If
+ End If
+
+ If _numbersOnly Then
+
+ If (Microsoft.VisualBasic.Asc(e.KeyChar) < 48) _
+ Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 57) Then
+ e.Handled = True
+ End If
+ If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then
+ e.Handled = False
+ End If
+ End If
+
+ End Sub
+
+ Private Sub MyTextBox_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
+ MyBase.CausesValidation = True
+ If _ShortDateOnly Then MyBase.MaxLength = 10
+ If _ShortDateNew Then MyBase.MaxLength = 10 ': addPicToGueltigBis()
+ If _DateTimeOnly Then MyBase.MaxLength = 16 ': addPicToGueltigBis()
+
+ If _TimeOnly Then MyBase.MaxLength = 8
+
+
+
+ End Sub
+ Sub initDatePicture()
+ addNowBtnToDate()
+ 'addPicToGueltigBis()
+ End Sub
+ Sub initDatePicture2()
+ addNowBtnToDate2()
+ 'addPicToGueltigBis()
+ End Sub
+
+ Sub initPINSHowPic()
+ addNowBtnToPIN()
+ 'addPicToGueltigBis()
+ End Sub
+ Public Sub addNowBtnToDate()
+ Dim tb = Me
+ Dim pb As New MyLinkPicBoxVALUE
+ tb.Parent.Controls.Add(pb)
+ pb.Tag = "Heute"
+ pb.Left = tb.Left + tb.Width + 5 : pb.Top = tb.Top
+ pb.Height = 18 : pb.Width = 20
+ pb.Anchor = tb.Anchor
+ pb.SizeMode = PictureBoxSizeMode.Zoom
+ pb.Cursor = Cursors.Hand
+ pb.Image = My.Resources.today
+ pb.linkedTextBox = tb
+
+ ' ToolTip Text zuordnen
+ Dim tooltip As New ToolTip '
+ tooltip.SetToolTip(pb, "Heute")
+
+ AddHandler pb.Click, AddressOf linkclicked
+ End Sub
+ Public Sub addNowBtnToDate2()
+ Dim tb = Me
+ Dim pb As New MyLinkPicBoxVALUE
+ tb.Parent.Controls.Add(pb)
+ pb.Tag = "Heute"
+ pb.Left = tb.Left + tb.Width - 11 : pb.Top = tb.Top + tb.Height - 11
+ pb.Height = 10 : pb.Width = 10
+ pb.Anchor = tb.Anchor
+ pb.SizeMode = PictureBoxSizeMode.Zoom
+ 'pb.Cursor = Cursors.Hand
+ ' pb.Image = My.Resources.ok
+ 'pb.BackColor = Color.Green
+ pb.linkedTextBox = tb
+ pb.BringToFront()
+ ' ToolTip Text zuordnen
+ 'Dim tooltip As New ToolTip '
+ 'tooltip.SetToolTip(pb, "Gül")
+
+ pb.Image = Nothing
+ If tb.Text.Length = 10 AndAlso IsDate(tb.Text) Then
+ If CDate(tb.Text) >= Now.ToShortDateString Then
+ pb.Image = My.Resources.ok
+ Else
+ pb.Image = My.Resources.del
+ End If
+
+ End If
+
+ AddHandler tb.TextChanged, Sub(send As Object, ev As EventArgs)
+ pb.Image = Nothing
+ If send.text.length = 10 AndAlso IsDate(send.text) Then
+ If CDate(send.text) >= Now.ToShortDateString Then
+ pb.Image = My.Resources.ok
+ Else
+ pb.Image = My.Resources.del
+ End If
+
+ End If
+ End Sub
+
+ End Sub
+
+ Public Sub addNowBtnToPIN()
+ Dim tb = Me
+ Dim pb As New MyLinkPicBoxVALUE
+ tb.Parent.Controls.Add(pb)
+ pb.Tag = "Feld bearbeiten"
+ pb.Left = tb.Left + tb.Width + 5 : pb.Top = tb.Top
+ pb.Height = 15 : pb.Width = 15
+ pb.Anchor = tb.Anchor
+ pb.SizeMode = PictureBoxSizeMode.Zoom
+ pb.Cursor = Cursors.Hand
+ pb.Image = My.Resources.stift
+ pb.linkedTextBox = tb
+
+ ' ToolTip Text zuordnen
+ Dim tooltip As New ToolTip '
+ tooltip.SetToolTip(pb, "Heute")
+
+ AddHandler pb.Click, AddressOf linkclickedPIN
+
+ 'AddHandler tb.EnabledChanged, Sub(send, ev)
+ ' tb.ForeColor = Color.Black
+ ' End Sub
+
+
+
+ End Sub
+
+
+ Sub linkclicked(sender As Object, e As EventArgs)
+ 'Dim DateTimePicker1 As New DateTimePicker
+ ' Me.Parent.Controls.Add(DateTimePicker1)
+ Try
+ Dim tb As TextBox = sender.linkedTextBox
+ tb.Text = Now.ToShortDateString
+ ' DateTimePicker1.Focus()
+ ' SendKeys.Send("{F4}")
+ Catch ex As Exception
+ End Try
+ End Sub
+
+ Sub linkclickedPIN(sender As Object, e As EventArgs)
+ 'Dim DateTimePicker1 As New DateTimePicker
+ ' Me.Parent.Controls.Add(DateTimePicker1)
+ Try
+ Dim tb As TextBox = sender.linkedTextBox
+ ' tb.Enabled = True
+ tb.ReadOnly = False
+ tb.BackColor = Color.White
+
+ Catch ex As Exception
+ End Try
+ End Sub
+ Public Sub addPicToGueltigBis()
+ Dim tb = Me
+ Dim pb As New MyLinkPicBoxVALUE
+ tb.Parent.Controls.Add(pb)
+ pb.Tag = "Gültig Bis"
+ pb.Left = tb.Left + tb.Width + 5 : pb.Top = tb.Top
+ pb.Height = 18 : pb.Width = 20
+ pb.SizeMode = PictureBoxSizeMode.Zoom
+ pb.Name = "picGueltigBisUhr"
+ ' pb = checkGueltigBis(pb, tb)
+ pb.linkedTextBox = tb
+ pb.linkedPictureBox = pb
+ pb.Image = My.Resources.uhr_notime
+
+ Dim tgb As New Label
+ tb.Parent.Controls.Add(tgb)
+ tgb.Name = "txtGueltigBisUhr"
+ tgb.Left = tb.Left + tb.Width + pb.Width + 5 : tgb.Top = tb.Top
+ ' tgb.Visible = False
+ ' tgb.Text = "abgelaufen"
+ tgb.ForeColor = Color.Red
+
+ AddHandler tb.TextChanged, AddressOf checkGueltigBis
+
+ checkGueltigBis(tb, New EventArgs)
+ End Sub
+ Sub checkGueltigBis(sender As Object, e As EventArgs)
+ ' MsgBox("änderung")
+ Try
+ Dim tb As TextBox = sender
+ Dim pb As MyLinkPicBoxVALUE = CType(tb.FindForm.Controls.Find("picGueltigBisUhr", True)(0), MyLinkPicBoxVALUE)
+ Dim tgb As Label = CType(tb.FindForm.Controls.Find("txtGueltigBisUhr", True)(0), Label)
+ ' MsgBox(tgb.Name)
+
+
+ If tb.Text.Length = 10 And IsDate(tb.Text) Then
+ If CDate(tb.Text) < Now Then
+ pb.Image = My.Resources.uhr_red
+ tgb.Text = "abgelaufen"
+ tgb.Visible = True
+ tgb.ForeColor = Color.Red
+ ElseIf CDate(tb.Text) >= Now Then
+ pb.Image = My.Resources.uhr_green
+ tgb.Text = "gültig"
+ 'tgb.Visible = False
+ tgb.ForeColor = Color.Green
+ End If
+ Else
+ pb.Image = My.Resources.uhr_notime
+ ' tgb.Visible = False
+ tgb.Text = ""
+ End If
+ Catch ex As Exception
+ End Try
+ Return
+ End Sub
+ Private Sub MyTextBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave
+ ' If _DateOnly AndAlso Not isShortDate(sender.text) Then sender.focus()
+ Dim pruefungHandled = False
+
+ If _numbersOnly Then
+ 'If sender.text.ToString.StartsWith("21") Then
+ ' For Each s In sender.text.ToString
+ ' MsgBox(s & " - " & Convert.ToByte(s))
+ ' Next
+
+ ' ' MsgBox(CInt(sender.text.ToString.Chars(3)))
+ 'End If
+
+
+ sender.text = sender.text.ToString.Replace(" ", "").Replace(Chr(160), "") ' 160: irgend ein Sonder-Leerzeichen
+ pruefungHandled = True
+ Try
+ If IsNumeric(_numbersOnlyKommastellen) And IsNumeric(sender.text) Then
+ sender.text = CDbl(sender.text).ToString("N" & _numbersOnlyKommastellen) ' , CultureInfo.InvariantCulture)
+ Me._value = CDbl(sender.text)
+ ' Else
+ ' sender.text = CDbl(sender.text)
+ ElseIf IsNumeric(sender.text) Then
+ Me._value = CDbl(sender.text)
+ Else
+ Me._value = ""
+ End If
+ Catch : sender.ForeColor = System.Drawing.Color.Red
+ End Try
+ End If
+
+ If _Waehrung Then
+ pruefungHandled = True
+ Try
+ ' sender.text = String.Format("{0:N2}", CDbl(sender.text))
+ If sender.text = "" Then
+ Me._value = Nothing
+ End If
+ sender.text = CDbl(sender.text).ToString(If(_WaehrungZeichen, "C2", "N2")) ' String.Format("C2", CDbl(sender.text))
+ sender.ForeColor = System.Drawing.Color.Black
+ Me._value = CDbl(sender.text) 'sender.text)
+ Catch ex As Exception
+ sender.ForeColor = System.Drawing.Color.Red
+ End Try
+
+ End If
+ If _ShortDateOnly Then
+ pruefungHandled = True
+ Try 'wenn datetime wird es in shortdate umgewandelt
+ If Me.Text <> "" Then sender.text = Convert.ToDateTime(sender.text).ToShortDateString
+ Catch : Me.Text = "" : Me._value = Nothing 'Me.Focus()
+ End Try
+ If Not isShortDate(sender.text) Then sender.ForeColor = System.Drawing.Color.Red
+ End If
+
+ If _ShortDateNew Then
+ pruefungHandled = True
+ Me.ForeColor = Color.Black
+
+ '------ falls Jahr zweistellig:
+ Me.Text = Me.Text.Replace(",", ".")
+ If Me.Text.Length = 8 Then
+ Dim split = Me.Text.Split(".")
+ If split.Count = 3 Then
+ Me.Text = split(0) & "." & split(1) & ".20" & split(2)
+ End If
+ End If
+
+ If (Me.Text.Length >= 6 And Me.Text.Length <= 10) AndAlso IsDate(Me.Text.Replace(",", ".")) AndAlso CDate(Me.Text) > CDate("01.01.1900") Then
+ 'MsgBox(Me.Text)
+ ''------ falls Jahr zweistellig:
+ 'Dim split = Me.Text.Replace(",", ".").Split
+ 'If split.Count = 3 Then
+ ' Me.Text = split(0) & "." & split(1) & ".20" & split(2)
+ 'End If
+ 'MsgBox(Me.Text)
+ '------
+ Me._value = CDate(Me.Text).ToShortDateString 'Nur wenns Passt
+ Me.Text = CDate(Me.Text).ToShortDateString
+ ElseIf Me.Text = "" Then
+ Me._value = ""
+ Else
+ Me.ForeColor = Color.Red
+ End If
+
+ OnPropertyChanged("_value")
+ End If
+ If _DateTimeOnly Then
+ pruefungHandled = True
+ Me.ForeColor = Color.Black
+ If Me.Text.Length > 16 Then Me.Text = Me.Text.Substring(0, 16)
+ If (Me.Text.Length >= 6 And Me.Text.Length <= 16) AndAlso IsDate(Me.Text.Replace(",", ".")) AndAlso CDate(Me.Text) > CDate("01.01.1900") Then
+ '------ falls Jahr zweistellig:
+ Dim split = Me.Text.Replace(",", ".").Split
+ If split.Count = 3 Then
+ Me.Text = split(0) & "." & split(1) & ".20" & split(2)
+ End If
+ '------
+ Me._value = CDate(Me.Text).ToString("dd.MM.yyyy HH:mm") 'Nur wenns Passt
+ Me.Text = CDate(Me.Text).ToString("dd.MM.yyyy HH:mm")
+ ElseIf Me.Text = "" Then
+ Me._value = ""
+ Else
+ Me.ForeColor = Color.Red
+ End If
+
+ OnPropertyChanged("_value")
+ End If
+
+
+ If _Prozent Then
+ pruefungHandled = True
+ Try
+ If sender.text = "" Then
+ Me._value = "" : Propvalue = ""
+ Else
+ Me._value = CDbl(sender.text.ToString.Replace("%", "")) / 100
+ End If
+ Catch ex As Exception
+ sender.ForeColor = System.Drawing.Color.Red
+ Me._value = Propvalue
+ End Try
+ End If
+
+ If MaxLineLength > 0 Then
+ Dim str() As String = Me.Lines
+ For i = 0 To Me.Lines.Count - 1
+ If str(i).Length > MaxLineLength Then
+ str(i) = str(i).Substring(0, MaxLineLength)
+ End If
+ Next
+ Me.Lines = str
+ End If
+
+
+ If Not pruefungHandled Then
+ Me._value = Me.Text
+
+ End If
+ End Sub
+
+
+ Private Sub MyTextBox_Textchanged(sender As Object, e As EventArgs) Handles Me.TextChanged
+ sender.ForeColor = System.Drawing.Color.Black
+ Dim pruefungHandled = False
+
+ If _numbersOnly Then
+ pruefungHandled = True
+ If Not IsNumeric(sender.text) Then sender.ForeColor = System.Drawing.Color.Red
+ End If
+
+ If _TimeOnly Then
+ pruefungHandled = True
+
+ Dim regTime1 As New System.Text.RegularExpressions.Regex("^([0-1][0-9]|[2][0-3]):([0-5][0-9])$")
+ Dim regTime2 As New System.Text.RegularExpressions.Regex("^([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])$")
+ If Not regTime1.IsMatch(sender.Text) And Not regTime2.IsMatch(sender.Text) Then
+ sender.ForeColor = System.Drawing.Color.Red
+ End If
+ End If
+
+ If _Waehrung Then
+ pruefungHandled = True
+ End If
+ If _Waehrung And False Then 'sonst bei jedem Zeichen kontrolle, zeiger hüpft
+ pruefungHandled = True
+ Try
+ sender.text = CDbl(sender.text).ToString(If(_WaehrungZeichen, "C2", "N2")) ' String.Format("{0:N2}", CDbl(sender.text))
+ Me._value = CDbl(sender.text)
+ Catch ex As Exception
+ sender.ForeColor = System.Drawing.Color.Red
+ End Try
+ End If
+
+ If _ShortDateNew Then
+ pruefungHandled = True
+ Me.ForeColor = Color.Black
+ If Me.Text.Length = 10 AndAlso IsDate(Me.Text.Replace(",", ".")) AndAlso CDate(Me.Text) > CDate("01.01.1900") Then
+ Me._value = CDate(Me.Text).ToShortDateString 'Nur wenns Passt
+ Me.Text = CDate(Me.Text).ToShortDateString
+ ElseIf Me.Text = "" Then
+ Me._value = ""
+ Else
+ Me.ForeColor = Color.Red
+ End If
+
+ OnPropertyChanged("_value")
+ End If
+
+ If _Prozent Then
+ 'pruefungHandled = True
+ 'Dim txt = sender.text
+ 'If Not sender.text.ToString.Contains("%") Then txt = sender.text & " %"
+ Me._value = sender.text
+ End If
+
+ If _DateTimeOnly Then
+ pruefungHandled = True
+ Me.ForeColor = Color.Black
+ If Me.Text.Length = 16 AndAlso IsDate(Me.Text.Replace(",", ".")) AndAlso CDate(Me.Text) > CDate("01.01.1900 00:00") Then
+ Me._value = CDate(Me.Text).ToString("dd.MM.yyyy HH:mm") 'Nur wenns Passt
+ Me.Text = CDate(Me.Text).ToString("dd.MM.yyyy HH:mm")
+ ElseIf Me.Text = "" Then
+ Me._value = ""
+ Else
+ Me.ForeColor = Color.Red
+ End If
+
+ OnPropertyChanged("_value")
+ End If
+
+
+ ' If Me.Multiline And IsNumeric(MaxLines) Then
+ 'If Me.Lines.Length > MaxLines Then
+ 'Dim s() As String = Me.Text.Split(vbNewLine)
+ ' If s.Count > 3 Then
+ 'Me.Text = s(0) & vbNewLine & s(1) & vbNewLine & s(2)
+ ' End If
+ ' End If
+ ' End If
+ If Me.Multiline And IsNumeric(MaxLines_Warning) Then
+ ' If Me.Lines.Length > MaxLines Then
+ If MaxLines_Warning_Label IsNot Nothing Then
+ MaxLines_Warning_Label.Visible = CBool(Me.Lines.Length > MaxLines_Warning)
+ End If
+ 'End If
+ End If
+ If Not pruefungHandled Then
+ Me._value = Me.Text
+ End If
+ End Sub
+ Function isShortDate(d) As Boolean
+ Return CBool(IsDate(d) And d.length = 10)
+ End Function
+
+
+ Public Propvalue As String
+ Public Property _value As String
+ Get
+ Return Propvalue
+ End Get
+ Set(v As String)
+ ' MsgBox(v)
+ If _Prozent Then
+ If IsNumeric(v) Then
+ Propvalue = v
+ Me.Text = String.Format("{0:P2}", CDbl(v))
+ ' OnPropertyChanged("_value")
+ ' MsgBox(String.Format("{0:P2}", CDbl(v)))
+ End If
+ ElseIf _ShortDateOnly Then
+ If v Is Nothing Then
+ Propvalue = ""
+ Me.Text = ""
+ Else
+ Propvalue = v
+ Me.Text = v
+ End If
+ ElseIf _Waehrung Then
+ If v IsNot Nothing AndAlso IsNumeric(v) Then
+ Propvalue = CDbl(v)
+ Me.Text = CDbl(v).ToString(If(_WaehrungZeichen, "C2", "N2"))
+ Else
+ Propvalue = ""
+ Me.Text = ""
+ End If
+ ElseIf _ShortDateNew Then
+ If v Is Nothing Then
+ Propvalue = ""
+ Me.Text = ""
+ Else
+ Propvalue = v
+ Me.Text = v
+ End If
+ ElseIf _DateTimeOnly Then
+ If v Is Nothing Then
+ Propvalue = ""
+ Me.Text = ""
+ Else
+ If v.Length > 16 Then v = v.Substring(0, 16)
+ Propvalue = v
+ Me.Text = v
+ End If
+ ElseIf _numbersOnly Then
+
+ If IsNumeric(Me._numbersOnlyKommastellen) And IsNumeric(v) Then
+ Propvalue = CDbl(v)
+ Me.Text = CDbl(v).ToString("N" & Me._numbersOnlyKommastellen) ' , CultureInfo.InvariantCulture)
+ ElseIf IsNumeric(v) Then
+ Propvalue = CDbl(v)
+ Me.Text = v
+ Else
+ Propvalue = ""
+ Me.Text = ""
+ End If
+ Else
+ If v IsNot Nothing AndAlso v.ToString.Length > Me.MaxLength Then
+ Me.Text = v.Substring(0, Me.MaxLength)
+ Propvalue = v.Substring(0, Me.MaxLength)
+ Else
+ Me.Text = v
+ Propvalue = v
+ End If
+ End If
+ RaiseEvent ValueChanged()
+ End Set
+ End Property
+
+
+ Public Event PropertyChanged As PropertyChangedEventHandler _
+ Implements INotifyPropertyChanged.PropertyChanged
+
+ Protected Sub OnPropertyChanged(ByVal name As String)
+ ' MsgBox("AHAASO")
+ RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
+ End Sub
+
+ Private Sub MyTextBox_Validating(sender As Object, e As CancelEventArgs) Handles Me.Validating
+ If sender.text = "" Then e.Cancel = False : Exit Sub 'wenn der Test leer ist, stimmt die Eingabe
+
+ Dim errMessage As String = "Es ist ein Validierungsfehler aufgetreten:" & vbNewLine
+ Dim errDescription As String = "Überprüfen Sie die Eingabe!"
+
+ If _numbersOnly Then
+ Try
+ 'String.Format("{0:N2}", CDbl(sender.text))
+ If IsNumeric(_numbersOnlyKommastellen) And IsNumeric(sender.text) Then
+ sender.text = CDbl(sender.text).ToString("N" & _numbersOnlyKommastellen) ' , CultureInfo.InvariantCulture)
+ Else
+ sender.text = CDbl(sender.text)
+ End If
+ e.Cancel = False
+ Catch ex As Exception
+ errDescription = "Die Eingabe muss eine Zahl sein! (z.B. 123,45)"
+ e.Cancel = True
+ End Try
+ End If
+
+
+ If _Waehrung Then
+ Try
+ 'String.Format("{0:N2}", CDbl(sender.text))
+ CDbl(sender.text).ToString(If(_WaehrungZeichen, "C2", "N2"))
+ e.Cancel = False
+ Catch ex As Exception
+ errDescription = "Die Eingabe muss eine Zahl sein! (z.B. 123,45)"
+ e.Cancel = True
+ End Try
+ End If
+
+ If _Prozent Then
+ e.Cancel = False
+ End If
+
+ If _ShortDateOnly Then
+ If isShortDate(sender.text) Then
+ e.Cancel = False
+ Else
+ e.Cancel = True
+ End If
+ End If
+
+ If _TimeOnly Then
+ Me.Text = Me.Text.Replace(",", ":")
+ Me.Text = Me.Text.Replace("-", ":")
+ Me.Text = Me.Text.Replace(".", ":")
+ Me.Text = Me.Text.Replace("/", ":")
+ Dim regTime1 As New System.Text.RegularExpressions.Regex("^([0-1][0-9]|[2][0-3]):([0-5][0-9])$")
+ Dim regTime2 As New System.Text.RegularExpressions.Regex("^([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])$")
+ If regTime1.IsMatch(sender.Text) Then
+ Me.Text += ":00"
+ End If
+ If regTime2.IsMatch(sender.Text) Then
+ e.Cancel = False
+ Else
+ e.Cancel = True
+ End If
+ End If
+ If e.Cancel Then
+ 'Try
+ 'DirectCast(Me.FindForm, frmKundenblatt).setInfo("err", errMessage & errDescription, 3)
+ ' Catch ex As Exception
+ MsgBox(errMessage & errDescription)
+ ' End Try
+ End If
+ End Sub
+
+ Private Sub MyTextBox_Validated(sender As Object, e As EventArgs) Handles Me.Validated
+
+ 'Wenns stimmt
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/NumericUpDownColumnRight.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/NumericUpDownColumnRight.vb
new file mode 100644
index 0000000..d28a98a
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/NumericUpDownColumnRight.vb
@@ -0,0 +1,187 @@
+Imports System.Windows.Forms
+
+Public Class NumericUpDownColumnRight
+ Inherits DataGridViewColumn
+
+ Public Sub New()
+ MyBase.New(New NumericUpDownRightCell())
+ End Sub
+
+ Public Overrides Property CellTemplate() As DataGridViewCell
+ Get
+ Return MyBase.CellTemplate
+ End Get
+ Set(ByVal value As DataGridViewCell)
+
+ ' Ensure that the cell used for the template is a NumericUpDownCell.
+ If Not (value Is Nothing) AndAlso Not value.GetType().IsAssignableFrom(GetType(NumericUpDownRightCell)) Then
+ Throw New InvalidCastException("Must be a NumericUpDown")
+ End If
+ MyBase.CellTemplate = value
+
+ End Set
+ End Property
+End Class
+Public Class NumericUpDownRightCell
+ Inherits DataGridViewTextBoxCell
+ Public Sub New()
+ 'Me.Style.Format = "#.##"
+ End Sub
+
+ Public Overrides Sub InitializeEditingControl(ByVal rowIndex As Integer, ByVal initialFormattedValue As Object, ByVal dataGridViewCellStyle As DataGridViewCellStyle)
+
+ ' Set the value of the editing control to the current cell value.
+ MyBase.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle)
+
+ Dim ctl As NumericUpDownRightEditingControl = CType(DataGridView.EditingControl, NumericUpDownRightEditingControl)
+ ctl.Minimum = 0
+
+ Dim CurrentValue As Decimal = 0
+ If Not DBNull.Value.Equals(Me.Value) Then
+ If Not IsNumeric(Me.Value) Then
+ Me.Value = 0
+ End If
+ If Integer.TryParse(Me.Value.ToString, CurrentValue) Then
+ ctl.Value = CurrentValue
+ End If
+ Else
+ ctl.Value = 0
+ End If
+
+ End Sub
+ Public Overrides ReadOnly Property EditType() As Type
+ Get
+ ' Return the type of the editing contol that NumericUpDownCell uses.
+ Return GetType(NumericUpDownRightEditingControl)
+ End Get
+ End Property
+ Public Overrides ReadOnly Property ValueType() As Type
+ Get
+ ' Return the type of the value that NumericUpDownCell contains.
+ Return GetType(Decimal)
+ End Get
+ End Property
+ Public Overrides ReadOnly Property DefaultNewRowValue() As Object
+ Get
+ ' Use as the current default value.
+ Return Nothing
+ End Get
+ End Property
+End Class
+Class NumericUpDownRightEditingControl
+ Inherits NumericUpDown
+ Implements IDataGridViewEditingControl
+
+ Private dataGridViewControl As DataGridView
+ Private valueIsChanged As Boolean = False
+ Private rowIndexNum As Integer
+
+ Public Sub New()
+ Me.DecimalPlaces = 0
+ Me.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
+ Me.UpDownAlign = System.Windows.Forms.LeftRightAlignment.Right
+ End Sub
+
+ Public Property EditingControlFormattedValue() As Object Implements IDataGridViewEditingControl.EditingControlFormattedValue
+
+ Get
+ Return Me.Value.ToString("#")
+ End Get
+
+ Set(ByVal value As Object)
+ If TypeOf value Is Decimal Then
+ Me.Value = Decimal.Parse(CStr(value))
+ End If
+ End Set
+
+ End Property
+
+ Public Function GetEditingControlFormattedValue(ByVal context As DataGridViewDataErrorContexts) As Object _
+ Implements IDataGridViewEditingControl.GetEditingControlFormattedValue
+
+ Return Me.Value.ToString() ' Me.Value.ToString("#.##")
+
+ End Function
+
+ Public Sub ApplyCellStyleToEditingControl(ByVal dataGridViewCellStyle As DataGridViewCellStyle) _
+ Implements IDataGridViewEditingControl.ApplyCellStyleToEditingControl
+
+ Me.Font = dataGridViewCellStyle.Font
+ Me.ForeColor = dataGridViewCellStyle.ForeColor
+ Me.BackColor = dataGridViewCellStyle.BackColor
+
+ End Sub
+
+ Public Property EditingControlRowIndex() As Integer _
+ Implements IDataGridViewEditingControl.EditingControlRowIndex
+
+ Get
+ Return rowIndexNum
+ End Get
+ Set(ByVal value As Integer)
+ rowIndexNum = value
+ End Set
+
+ End Property
+
+ Public Function EditingControlWantsInputKey(ByVal key As Keys, ByVal dataGridViewWantsInputKey As Boolean) As Boolean Implements IDataGridViewEditingControl.EditingControlWantsInputKey
+
+ ' Let the NumericUpDown handle the keys listed.
+ Select Case key And Keys.KeyCode
+ Case Keys.Left, Keys.Up, Keys.Down, Keys.Right, Keys.Home, Keys.End, Keys.PageDown, Keys.PageUp
+
+ Return True
+
+ Case Else
+ Return False
+ End Select
+
+ End Function
+
+ Public Sub PrepareEditingControlForEdit(ByVal selectAll As Boolean) _
+ Implements IDataGridViewEditingControl.PrepareEditingControlForEdit
+
+ ' No preparation needs to be done.
+
+ End Sub
+ Public ReadOnly Property RepositionEditingControlOnValueChange() As Boolean Implements IDataGridViewEditingControl.RepositionEditingControlOnValueChange
+
+ Get
+ Return False
+ End Get
+
+ End Property
+ Public Property EditingControlDataGridView() As DataGridView Implements IDataGridViewEditingControl.EditingControlDataGridView
+
+ Get
+ Return dataGridViewControl
+ End Get
+ Set(ByVal value As DataGridView)
+ dataGridViewControl = value
+ End Set
+
+ End Property
+ Public Property EditingControlValueChanged() As Boolean Implements IDataGridViewEditingControl.EditingControlValueChanged
+
+ Get
+ Return valueIsChanged
+ End Get
+ Set(ByVal value As Boolean)
+ valueIsChanged = value
+ End Set
+
+ End Property
+ Public ReadOnly Property EditingControlCursor() As Cursor Implements IDataGridViewEditingControl.EditingPanelCursor
+ Get
+ Return MyBase.Cursor
+ End Get
+ End Property
+ Protected Overrides Sub OnValueChanged(ByVal eventargs As EventArgs)
+
+ ' Notify the DataGridView that the contents of the cell have changed.
+ valueIsChanged = True
+ Me.EditingControlDataGridView.NotifyCurrentCellDirty(True)
+ MyBase.OnValueChanged(eventargs)
+
+ End Sub
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.Designer.vb
new file mode 100644
index 0000000..17327dd
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.Designer.vb
@@ -0,0 +1,297 @@
+ _
+Partial Class RichTextBoxEx
+ Inherits System.Windows.Forms.UserControl
+
+ 'UserControl1 overrides dispose to clean up the component list.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Required by the Windows Form Designer
+ Private components As System.ComponentModel.IContainer
+
+ 'NOTE: The following procedure is required by the Windows Form Designer
+ 'It can be modified using the Windows Form Designer.
+ 'Do not modify it using the code editor.
+ _
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(RichTextBoxEx))
+ Me.rtb = New System.Windows.Forms.RichTextBox()
+ Me.ToolStrip1 = New System.Windows.Forms.ToolStrip()
+ Me.NewToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.OpenToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.SaveToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.PrintToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripSeparator = New System.Windows.Forms.ToolStripSeparator()
+ Me.FontToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.FontColorToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.BoldToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.UnderlineToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator()
+ Me.LeftToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.CenterToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.RightToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator()
+ Me.BulletsToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
+ Me.CutToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.CopyToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.PasteToolStripButton = New System.Windows.Forms.ToolStripButton()
+ Me.toolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
+ Me.SpellChecker = New NetSpell.SpellChecker.Spelling(Me.components)
+ Me.FontDlg = New System.Windows.Forms.FontDialog()
+ Me.ColorDlg = New System.Windows.Forms.ColorDialog()
+ Me.OpenFileDlg = New System.Windows.Forms.OpenFileDialog()
+ Me.SaveFileDlg = New System.Windows.Forms.SaveFileDialog()
+ Me.ToolStrip1.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'rtb
+ '
+ Me.rtb.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
+ Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.rtb.Location = New System.Drawing.Point(0, 25)
+ Me.rtb.Name = "rtb"
+ Me.rtb.Size = New System.Drawing.Size(412, 317)
+ Me.rtb.TabIndex = 0
+ Me.rtb.Text = ""
+ '
+ 'ToolStrip1
+ '
+ Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden
+ Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NewToolStripButton, Me.OpenToolStripButton, Me.SaveToolStripButton, Me.PrintToolStripButton, Me.toolStripSeparator, Me.FontToolStripButton, Me.FontColorToolStripButton, Me.BoldToolStripButton, Me.UnderlineToolStripButton, Me.ToolStripSeparator4, Me.LeftToolStripButton, Me.CenterToolStripButton, Me.RightToolStripButton, Me.ToolStripSeparator3, Me.BulletsToolStripButton, Me.ToolStripSeparator2, Me.CutToolStripButton, Me.CopyToolStripButton, Me.PasteToolStripButton, Me.toolStripSeparator1})
+ Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
+ Me.ToolStrip1.Name = "ToolStrip1"
+ Me.ToolStrip1.Size = New System.Drawing.Size(412, 25)
+ Me.ToolStrip1.TabIndex = 1
+ Me.ToolStrip1.Text = "ToolStrip1"
+ '
+ 'NewToolStripButton
+ '
+ Me.NewToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.NewToolStripButton.Image = CType(resources.GetObject("NewToolStripButton.Image"), System.Drawing.Image)
+ Me.NewToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.NewToolStripButton.Name = "NewToolStripButton"
+ Me.NewToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.NewToolStripButton.Text = "&New"
+ Me.NewToolStripButton.Visible = False
+ '
+ 'OpenToolStripButton
+ '
+ Me.OpenToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.OpenToolStripButton.Image = CType(resources.GetObject("OpenToolStripButton.Image"), System.Drawing.Image)
+ Me.OpenToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.OpenToolStripButton.Name = "OpenToolStripButton"
+ Me.OpenToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.OpenToolStripButton.Text = "&Open"
+ Me.OpenToolStripButton.Visible = False
+ '
+ 'SaveToolStripButton
+ '
+ Me.SaveToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.SaveToolStripButton.Image = CType(resources.GetObject("SaveToolStripButton.Image"), System.Drawing.Image)
+ Me.SaveToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.SaveToolStripButton.Name = "SaveToolStripButton"
+ Me.SaveToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.SaveToolStripButton.Text = "&Save"
+ Me.SaveToolStripButton.Visible = False
+ '
+ 'PrintToolStripButton
+ '
+ Me.PrintToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.PrintToolStripButton.Image = CType(resources.GetObject("PrintToolStripButton.Image"), System.Drawing.Image)
+ Me.PrintToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.PrintToolStripButton.Name = "PrintToolStripButton"
+ Me.PrintToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.PrintToolStripButton.Text = "&Print"
+ Me.PrintToolStripButton.Visible = False
+ '
+ 'toolStripSeparator
+ '
+ Me.toolStripSeparator.Name = "toolStripSeparator"
+ Me.toolStripSeparator.Size = New System.Drawing.Size(6, 25)
+ Me.toolStripSeparator.Visible = False
+ '
+ 'FontToolStripButton
+ '
+ Me.FontToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.FontToolStripButton.Image = CType(resources.GetObject("FontToolStripButton.Image"), System.Drawing.Image)
+ Me.FontToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.FontToolStripButton.Name = "FontToolStripButton"
+ Me.FontToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.FontToolStripButton.Text = "Font"
+ '
+ 'FontColorToolStripButton
+ '
+ Me.FontColorToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.FontColorToolStripButton.Image = CType(resources.GetObject("FontColorToolStripButton.Image"), System.Drawing.Image)
+ Me.FontColorToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.FontColorToolStripButton.Name = "FontColorToolStripButton"
+ Me.FontColorToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.FontColorToolStripButton.Text = "Font Color"
+ '
+ 'BoldToolStripButton
+ '
+ Me.BoldToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.BoldToolStripButton.Image = CType(resources.GetObject("BoldToolStripButton.Image"), System.Drawing.Image)
+ Me.BoldToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.BoldToolStripButton.Name = "BoldToolStripButton"
+ Me.BoldToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.BoldToolStripButton.Text = "Bold"
+ '
+ 'UnderlineToolStripButton
+ '
+ Me.UnderlineToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.UnderlineToolStripButton.Image = CType(resources.GetObject("UnderlineToolStripButton.Image"), System.Drawing.Image)
+ Me.UnderlineToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.UnderlineToolStripButton.Name = "UnderlineToolStripButton"
+ Me.UnderlineToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.UnderlineToolStripButton.Text = "Underline"
+ '
+ 'ToolStripSeparator4
+ '
+ Me.ToolStripSeparator4.Name = "ToolStripSeparator4"
+ Me.ToolStripSeparator4.Size = New System.Drawing.Size(6, 25)
+ '
+ 'LeftToolStripButton
+ '
+ Me.LeftToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.LeftToolStripButton.Image = CType(resources.GetObject("LeftToolStripButton.Image"), System.Drawing.Image)
+ Me.LeftToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.LeftToolStripButton.Name = "LeftToolStripButton"
+ Me.LeftToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.LeftToolStripButton.Text = "Left"
+ '
+ 'CenterToolStripButton
+ '
+ Me.CenterToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.CenterToolStripButton.Image = CType(resources.GetObject("CenterToolStripButton.Image"), System.Drawing.Image)
+ Me.CenterToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.CenterToolStripButton.Name = "CenterToolStripButton"
+ Me.CenterToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.CenterToolStripButton.Text = "Center"
+ '
+ 'RightToolStripButton
+ '
+ Me.RightToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.RightToolStripButton.Image = CType(resources.GetObject("RightToolStripButton.Image"), System.Drawing.Image)
+ Me.RightToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.RightToolStripButton.Name = "RightToolStripButton"
+ Me.RightToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.RightToolStripButton.Text = "Right"
+ '
+ 'ToolStripSeparator3
+ '
+ Me.ToolStripSeparator3.Name = "ToolStripSeparator3"
+ Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 25)
+ '
+ 'BulletsToolStripButton
+ '
+ Me.BulletsToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.BulletsToolStripButton.Image = CType(resources.GetObject("BulletsToolStripButton.Image"), System.Drawing.Image)
+ Me.BulletsToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.BulletsToolStripButton.Name = "BulletsToolStripButton"
+ Me.BulletsToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.BulletsToolStripButton.Text = "Bullets"
+ '
+ 'ToolStripSeparator2
+ '
+ Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
+ Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25)
+ Me.ToolStripSeparator2.Visible = False
+ '
+ 'CutToolStripButton
+ '
+ Me.CutToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.CutToolStripButton.Image = CType(resources.GetObject("CutToolStripButton.Image"), System.Drawing.Image)
+ Me.CutToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.CutToolStripButton.Name = "CutToolStripButton"
+ Me.CutToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.CutToolStripButton.Text = "C&ut"
+ Me.CutToolStripButton.Visible = False
+ '
+ 'CopyToolStripButton
+ '
+ Me.CopyToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.CopyToolStripButton.Image = CType(resources.GetObject("CopyToolStripButton.Image"), System.Drawing.Image)
+ Me.CopyToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.CopyToolStripButton.Name = "CopyToolStripButton"
+ Me.CopyToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.CopyToolStripButton.Text = "&Copy"
+ Me.CopyToolStripButton.Visible = False
+ '
+ 'PasteToolStripButton
+ '
+ Me.PasteToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.PasteToolStripButton.Image = CType(resources.GetObject("PasteToolStripButton.Image"), System.Drawing.Image)
+ Me.PasteToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta
+ Me.PasteToolStripButton.Name = "PasteToolStripButton"
+ Me.PasteToolStripButton.Size = New System.Drawing.Size(23, 22)
+ Me.PasteToolStripButton.Text = "&Paste"
+ Me.PasteToolStripButton.Visible = False
+ '
+ 'toolStripSeparator1
+ '
+ Me.toolStripSeparator1.Name = "toolStripSeparator1"
+ Me.toolStripSeparator1.Size = New System.Drawing.Size(6, 25)
+ '
+ 'SpellChecker
+ '
+ Me.SpellChecker.Dictionary = Nothing
+ '
+ 'OpenFileDlg
+ '
+ Me.OpenFileDlg.FileName = "OpenFileDialog1"
+ '
+ 'RichTextBoxEx
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.Controls.Add(Me.ToolStrip1)
+ Me.Controls.Add(Me.rtb)
+ Me.Name = "RichTextBoxEx"
+ Me.Size = New System.Drawing.Size(412, 342)
+ Me.ToolStrip1.ResumeLayout(False)
+ Me.ToolStrip1.PerformLayout()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Public WithEvents rtb As System.Windows.Forms.RichTextBox
+ Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip
+ Friend WithEvents NewToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents OpenToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents SaveToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents PrintToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents toolStripSeparator As System.Windows.Forms.ToolStripSeparator
+ Friend WithEvents CutToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents CopyToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents PasteToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents toolStripSeparator1 As System.Windows.Forms.ToolStripSeparator
+ Friend WithEvents SpellChecker As NetSpell.SpellChecker.Spelling
+ Friend WithEvents FontDlg As System.Windows.Forms.FontDialog
+ Friend WithEvents ColorDlg As System.Windows.Forms.ColorDialog
+ Friend WithEvents OpenFileDlg As System.Windows.Forms.OpenFileDialog
+ Friend WithEvents SaveFileDlg As System.Windows.Forms.SaveFileDialog
+ Friend WithEvents FontToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents FontColorToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents BoldToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents UnderlineToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents LeftToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents CenterToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents RightToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents ToolStripSeparator3 As System.Windows.Forms.ToolStripSeparator
+ Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator
+ Friend WithEvents BulletsToolStripButton As System.Windows.Forms.ToolStripButton
+ Friend WithEvents ToolStripSeparator4 As System.Windows.Forms.ToolStripSeparator
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.resx
new file mode 100644
index 0000000..f90c1a2
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.resx
@@ -0,0 +1,299 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAERSURBVDhPrZDbSgJRGIXnpewd6jXsjSQvIrwoI0RQMChU
+ 0iiDPCGiE3ZCRkvR8VzTeBhnyR5/ccaZNnPhB4t9sdf6Ln5hb8QeathNJFVFKF5C8DqL4ksDVHWGDf7j
+ LHyPg6NjviSaFqlu5yQYR+KpupaIkrMknCxT3Y7v/NYYb0ITK1c3BarbWWhLQ7IR0cTKReyZ6lZ0XYei
+ ztHpK4bAc+h1FgQijzSxMptrGIxVSO0xX3AaStFki7bUMVFmaMm/eJMGfIH/MkGzLep0AXn4h/r3CJV3
+ mS9gn2bY4UY/UzQ7E9TqfeTFtnuB+XAfzSHKr11kSl/uBebDiZ89ZCst3OUkdwL28sIVsE83ock+EIQV
+ 2Mz2wxeg6/UAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJHSURBVDhPxZBdSNNhFMb/F110ZZEVhVBgeeHNICiiuggp
+ olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdNKMwr7kApFItTUkWZqVhSVYmao5Nevvy7UoYR3HXh4
+ 4XCe33nOKyy3lAY7l9RWMo0O/raWXxEyo5spVYTNvOGyfIRPfW+ptOkXqaPl6T83hcRmExSdgzAz3NVm
+ YWyoYla/B+1M9JtxWLPpaH22JORIjI6gKAMB0jyEimIdo4OlbuaprwVMOOMovammpDADc34qppwUrmnl
+ 5Kni3aFlFg2j3y1z5mnRTJccnNIltQhwq0jFry+mOXNtpWZWDx1Z1NhV3C3JwGFOw25SYjVe5oYhiUKd
+ HKMmwQUrMWUw/CF3NnZvvYKqUh1TvUroS3fXe7HXkwidMngTS2t5KLbregSzMY2f3Wr4qKW6LJvGR1rX
+ 0MLor8OhKYTJBn/GHvvxrliCTBrsOqXIoOBHh5K+hmSq7FqmexTQHuUytkaKxuNMNgYyVneA4Qd7GKjc
+ hjLaRzxH7gIU6JIZaEvgtk1D8wsxSWecCDgNzWFMvwxm/PkhRmr3Mli1nW9lvjRdWc0Jf+/5jzRmyWmv
+ S+GOLQu6U6BFjPvqKOP1AYw88WOoZif9DgmfLVtxaj1RSLdwNvrkPCA3M54KqxrnvRia9MKcGrUrqFOt
+ 5H7qKsqT1mGO9+Lqhc2ELdw+U/r0i+gVZ8hMiCDx3DHORwZyKnQ/hw/uYt9uCTskPvh6e7Fp41rWr/Fg
+ g6eHO+A/lyD8ARfG3mk9fv1YAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIySURBVDhPrZLfS5NRGMfff6H7boIuuq2pMZyL1eAt11CW
+ DcOKsB9vpFmaLtNExco0av6CbIVLJ61Wk3BSkT/AFCkRZSpZmrmiJQ41xSaCwdfznL15XEUX0Reem5f3
+ 8znnec4j/Zc8fxYGla91CS3eRTx0z6OpMYS7jmnU1X6B/VYA18snUVoyjsKCt8jLHcH5c36ouCQR2NUJ
+ 1Nas4G9ZXlmFKbULh1Kf8lJxSfI+WeCCyopv6q+/h+DQ/DJ2WV5Ao1FgPegRAveDOS4oLfmq/h6dn/DH
+ 4AJizD4UXJrCAUuzEDgbZrjgou2DiohshIcnQtgme5GTPYbkJKcQ1N8OckHW2REVi+RXuM8fxGaDG4oy
+ ALPZIQQ11Z+5QDk1oKJ/hjv7P2FTfCMOH3mFxMQ6IbhROYWOdrCnBI4dfwPr0V4+bRoY9UzXppMjcDdS
+ rC8hy3YhuFI2gTYf2A4Aza4f7N2/o/zaLB8qDYx6zszwr8P7k1thNFYIweXCMXgeAfedq2xxwjClZUeV
+ Jd2GtDNFETiJwfs8MBjKhMCWN8pgoLoqzE8miH1GjE7G4PsZjE7OQsm9ij2mFg7rdrug1xcJAa2l4w7W
+ r00Cgk/n38S7wBwC04u4UGxHrMHF4CbEJtyDLj5fCDIzhljfSxzeavRgyw4Zj9t64GvvQ0d3P3pfD2Kv
+ 2QqNvgFxDN6urYdWmyMElJMnevh60obRktA701PRtGlg1DOdSkXwzrisaMG/RZLWAE60OMW5fNhvAAAA
+ AElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIpSURBVDhPtZL/T1JRGMb5p1itrVZbbRpqZbawnBENV1I0
+ jGlByTSyJTXJwq2oKZQb1KAv6JCYWSxvBrkkZUq4CeQEiRABFeLL072Xa0zRra31bO8v57zP5znnPYf1
+ X+TxhWF6O7VtGYcnwbSWijKPOLzYrPSvLPwLS3huGUMlT7o9wGD9grVUBj+icdid03S9tDmgNxNwTgVQ
+ J+rA8XNtWwM+uuZATMwxmQVRycuJFNyzIRitDlScugKzjSgFRGJJaIwEsrk8AsHIhnSL/Ssck37UNipQ
+ I5DjtuYV7uksRYhr2kebhx2eP6nrycFIEh5fBA/1Nvru8q5+PDaOovK0rABwfwugWzcErfkzHhjsePL6
+ E7q1VrTdNUDcrgGvSYlDZHN5XTNOnL8BVe8AJAoNDtZfLgDu9L1BPJmikzcrk81hlRwodZJwdBXziwnI
+ OrVoaOkiT8C8hKLHBPO7CbywOaE1jeC+bhAd6meQdvZC1KoG/5IS3MZ2HObLUHZSggvkWq3wOvbWiAqA
+ VpWeyStVfCUNf3AZ4zNhfHCFMEDMgye+hYr6FrDLzxQAUuVTpr0ocn74mchg5vsKRt1RcHp2Qv9+kZ78
+ UcE17KkWFgHNN/uQzgBkGKLJPBZiecyGchjzrmFwPIF++xJUbDbUQzEacIArLpopSRSP4CUN1Obf1Abz
+ uqob5KjiXwWH/GVl5HPt5zZh37GL2H1EiF1VZ7GDI6CNW5r/TSzWbwHYL0mKJ5czAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABfSURBVDhPvY0LCsAgDEN79N3cWSQQqo2/sQfBiXmZ/UQp
+ LUdAPhpgeXuAJf5+6umRsODgDlkOoBzDcjqAcoSldGBFdroBiByA8ihTsuLSgCrJATxyGPX2DfEPs1xj
+ 9gIL0Y8M2yQbFgAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABfSURBVDhP1Y9bCgAgCAQ7uje3QkV7SGX9NLAkluuWfAC5
+ OAegDgPSGYIMQilkuyiQQob7egPdbuujFDo0aoHd3kL9jRRzA/sVbo3421sDJ4U+IFn6O9FLih3e6HuD
+ hBmOGN7KIoUY1gAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA8SURBVDhP7ctBCgAgEMPA/f+n9broFD2LgV5CWp+NcdgV
+ OshFFMtFFMtFerzuCh3kIorlIorlSA+196ia6kE6xgBns7MAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVDhPYxh+4D8aBgFsYngBNoVEawaBUQOoZUBDQwNY
+ A5QmyQAQQNZEsmaKADab0fGgAgwMAAIENs2gnDUTAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAxSURBVDhPYxg04D+ZmHoAm+nYMO0ANtuIwdQD2EzHhmkH
+ sNlGDKYewGY6Njz8AAMDAGJeR7nOul6/AAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAwSURBVDhP3c2xCQAACMTA339pXSCFSArxIHVyRi3z0YXy
+ 0WWSjy6Ujy6TfHSh/kgacz9HucQTphAAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAxSURBVDhPYxg+4D+ZmHYAm23YMPUANtOJwbQD2GzDhqkH
+ sJlODKYdwGYbNjzggIEBAE1aR7nHB4ecAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABkSURBVDhPY6AKyO86WFDQfeg/iIYKkQZAmkNbnvyXta76
+ DxViYGFi+Y8PQ5VBAMhmkGYgJs8FAw9GA5EKILFiWUFixfL/IBoqRBoAafYsOvpf0jiTvEAE2QzSLGmU
+ MeQCkYEBAD3tUdo+/cEPAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGDSURBVDhPrZFNSwJRGIX9NYGbFoUlFElY1EJQKEYhCJsi
+ LaVsERnRF5iCaSZJO1toCDVGFkgoFpWQWWRR2aIvUxm1BKN1wSnHCFw4TOCzue+9nPNw4eVVnav4Izzb
+ QfxeGZ5TWaxT/rK3irzmC7CsusvC1G4IkbNLboIiDieF4GGUKeTeClDpppF8eeEu2PIfwfrzizSdw3Hk
+ EnKlFpkMzV2wH77AosOFTV8A+vkl9CiHuJeLJNNZjM8tYWB0FkTvMAwmy/8ERTR6CwjlGAi1Ccence6C
+ 1NsXzN4PKIxJLLgeIJ2MoXvmFraNBKK3eXZRIveJPvs7FIYniEkXZENOdE+GIZ2Ko10TwLK7tJmKmL0F
+ EEYarYM+NMnt0C1sQzpx/lcSEnZ2gcKY/gs0dlmZuWvmjjmpwA1qxVp2AWFIMAF/OAGBzMjMI7ZrtJCb
+ 4Df3o4Zfxy7QrdxDRFKol5khkpR2H4qmIOzUQNBGwrsXYxccnNOQqNbQ0KGGZ+eEPVwdeLxvqqrf4wGh
+ TNAAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHkSURBVDhPvZHfS1NhHIf3p5QypLr2D4goMwoMCi/qIugH
+ Xe1Cr7qKDIMkZixwNhfWLGWbnuki0kXKzLU023KubBNPJrbRdOzocm6e2dPOO21mMS+CHvjcvOf9PF++
+ 79H9M+7RT2iRRsIi9sEAXe43yAvf2LpSHq28G9uAnytNT4jMLewtcQ2Ht2pF8ps/aOt+gccX5lxD694S
+ +1BQFD1RkN5DSFa4Z3uONKbgHE3h8KZ4OJTC1J8UiSzmfhd2uf1CoJHbyKOsZokl0kKwm+aeJaov+wjO
+ rpQkVqdXfOz0bWAcVLghfaXxkUz3y2VxvpMGSwL3uMKh+gHezSSLEnNhX23vtYzKUirDfGyFj/Iy1mdx
+ UWqR8iKhwtQLxjgH659y4EwvVXWPiwJt3/Ws+muywRrlqvkDdx3zQrCN8l1ldnEd3/QqFmkS/akHJYGS
+ zjLzOUEwEsMf+sLI2zmaOou/93pPGoM5zvk7UU7fnBKxSBPoT7SXBNW1F/9Io2lKCNTCeomUyrS8xnBA
+ wfUqyf1eP5U1ptJD/o1LzeNCsHPydtqdr6k4aiwvOHvNSya3ibU/QIdrEkvfhJislc32MfYfuV1eUGPw
+ FF7bIVJVZ0N/soPK421UHGstlFvYd/hWecF/Qqf7CR0A5wwgSQA2AAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJSSURBVDhPtZJrSJNRGMdf6IN9KbpQn/pUEH2JIoLqQ0Zh
+ FqYZRmJG1iKmUqKyLB2pqSm6vC1Nm5GXoeatEsVJ0RASR3eNzegikRq5lrV3857Fr/d9ddlICoL+8OfA
+ Oef/e57zcIT/os7WLMw302muSGJ2689qqi7A44q8IzjtNYzarzHQm8tZtT8FmRqu6LToMxN+B8qhCbGR
+ KVcDE85ajKUaxoaryEuL4UVXIudPB5Ko2oy98xjDptXERuz3hsgAOTzlqqMk6yjdllzE90UM9Wp5azlB
+ S1kwkeG+1CSv4mmBQPThfd6Ahqq8GYB4A11yBKmaMLQxoZyLDkGjDiZOFUhUuB+FsWsUQFiArzegtlzH
+ pFjPpMPA2GA2jucx2KqWK7ZWLqO7dBGP9D5KWLbfto3eAKMhi3FHBeP9GYy9PMXos4OIrYvJrzSRbWjm
+ wuV6EnVG4tLLiEzSExGf4w0oL05nZEDPaK+akceBuO9v4uPtFUrYo6npbzhdE/QPOQmNSiPouHYOUpaf
+ gvgqA/dDf9wd63G1r2SgUlAqyyq/1anYUGfG2mdXwne7bOwJUc1AinOS+NxzBpd5HWLbUhyNPvRdF5S2
+ v05/54tbqvzBifWNHUvPOwLC4/CXwrv2HsB3+w6EwosJOB5ESeElfGpayGD1AmwlArHSm+W2PR1clToo
+ MrbT0mFTVtlbN6xFuJQar3wQz5Q9VksD+7XyPctrJdx4p5s605M5gKz8lJPSDwtGFbKboJ1blAN52vKb
+ PdXm80/AfDokTVu+8DfPXv9XCcIPTvjvLQ8YoakAAAAASUVORK5CYII=
+
+
+
+ 119, 17
+
+
+ 234, 17
+
+
+ 345, 17
+
+
+ 459, 17
+
+
+ 591, 17
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.vb
new file mode 100644
index 0000000..df8c2b3
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/RichTextBoxEx.vb
@@ -0,0 +1,139 @@
+Imports System.Windows.Forms
+
+Public Class RichTextBoxEx
+
+ Private Sub RichTextBoxEx_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
+ ' Load control
+ rtb.Focus()
+ End Sub
+
+ ' Spell checking thanks to: http://www.codeproject.com/KB/string/netspell.aspx
+
+ ' Handles when user chooses to delete in spell cehck
+ Private Sub SpellChecker_DeletedWord(ByVal sender As Object, ByVal e As NetSpell.SpellChecker.SpellingEventArgs) Handles SpellChecker.DeletedWord
+ 'save existing selecting
+ Dim start As Integer = rtb.SelectionStart
+ Dim length As Integer = rtb.SelectionLength
+
+ 'select word for this event
+ rtb.Select(e.TextIndex, e.Word.Length)
+
+ 'delete word
+ rtb.SelectedText = ""
+
+ If ((start + length) > rtb.Text.Length) Then
+ length = 0
+ End If
+
+ 'restore selection
+ rtb.Select(start, length)
+
+ End Sub
+
+ ' Handles replacing a word from spell checking
+ Private Sub SpellChecker_ReplacedWord(ByVal sender As Object, ByVal e As NetSpell.SpellChecker.ReplaceWordEventArgs) Handles SpellChecker.ReplacedWord
+ 'save existing selecting
+ Dim start As Integer = rtb.SelectionStart
+ Dim length As Integer = rtb.SelectionLength
+
+ 'select word for this event
+ rtb.Select(e.TextIndex, e.Word.Length)
+
+ 'replace word
+ rtb.SelectedText = e.ReplacementWord
+
+ If ((start + length) > rtb.Text.Length) Then
+ length = 0
+ End If
+
+ 'restore selection
+ rtb.Select(start, length)
+ End Sub
+
+ ' Update buttons when text is selected
+ Private Sub rtb_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rtb.SelectionChanged
+ ' see which buttons should be checked or unchecked
+ BoldToolStripButton.Checked = rtb.SelectionFont.Bold
+ UnderlineToolStripButton.Checked = rtb.SelectionFont.Underline
+ LeftToolStripButton.Checked = IIf(rtb.SelectionAlignment = System.Windows.Forms.HorizontalAlignment.Left, True, False)
+ CenterToolStripButton.Checked = IIf(rtb.SelectionAlignment = System.Windows.Forms.HorizontalAlignment.Center, True, False)
+ RightToolStripButton.Checked = IIf(rtb.SelectionAlignment = System.Windows.Forms.HorizontalAlignment.Right, True, False)
+ BulletsToolStripButton.Checked = rtb.SelectionBullet
+
+ 'cmbFontName.Text = rtb.SelectionFont.Name
+ 'cmbFontSize.Text = rtb.SelectionFont.SizeInPoints
+
+ End Sub
+
+ Private Sub checkBullets()
+ If rtb.SelectionBullet = True Then
+ BulletsToolStripButton.Checked = True
+ Else
+ BulletsToolStripButton.Checked = False
+ End If
+ End Sub
+
+ Private Sub FontToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FontToolStripButton.Click
+ If FontDlg.ShowDialog() <> Windows.Forms.DialogResult.Cancel Then
+ rtb.SelectionFont = FontDlg.Font
+ End If
+ End Sub
+
+ Private Sub FontColorToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FontColorToolStripButton.Click
+ If ColorDlg.ShowDialog() <> Windows.Forms.DialogResult.Cancel Then
+ rtb.SelectionColor = ColorDlg.Color
+ End If
+ End Sub
+
+ Private Sub BoldToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BoldToolStripButton.Click
+ ' Switch Bold
+ Dim currentFont As System.Drawing.Font = rtb.SelectionFont
+ Dim newFontStyle As System.Drawing.FontStyle
+ If rtb.SelectionFont.Bold = True Then
+ newFontStyle = currentFont.Style - Drawing.FontStyle.Bold
+ Else
+ newFontStyle = currentFont.Style + Drawing.FontStyle.Bold
+ End If
+ rtb.SelectionFont = New Drawing.Font(currentFont.FontFamily, currentFont.Size, newFontStyle)
+
+ ' Check/Uncheck Bold button
+ BoldToolStripButton.Checked = IIf(rtb.SelectionFont.Bold, True, False)
+ End Sub
+
+ Private Sub SpellcheckToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
+ SpellChecker.Text = rtb.Text
+ ''SpellChecker.SpellCheck()
+ End Sub
+
+ Private Sub UnderlineToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UnderlineToolStripButton.Click
+ ' Switch Underline
+ Dim currentFont As System.Drawing.Font = rtb.SelectionFont
+ Dim newFontStyle As System.Drawing.FontStyle
+ If rtb.SelectionFont.Underline = True Then
+ newFontStyle = currentFont.Style - Drawing.FontStyle.Underline
+ Else
+ newFontStyle = currentFont.Style + Drawing.FontStyle.Underline
+ End If
+ rtb.SelectionFont = New Drawing.Font(currentFont.FontFamily, currentFont.Size, newFontStyle)
+
+ ' Check/Uncheck Underline button
+ UnderlineToolStripButton.Checked = IIf(rtb.SelectionFont.Underline, True, False)
+ End Sub
+
+ Private Sub LeftToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LeftToolStripButton.Click
+ rtb.SelectionAlignment = HorizontalAlignment.Left
+ End Sub
+
+ Private Sub CenterToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CenterToolStripButton.Click
+ rtb.SelectionAlignment = HorizontalAlignment.Center
+ End Sub
+
+ Private Sub RightToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RightToolStripButton.Click
+ rtb.SelectionAlignment = HorizontalAlignment.Right
+ End Sub
+
+ Private Sub BulletsToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BulletsToolStripButton.Click
+ rtb.SelectionBullet = Not rtb.SelectionBullet
+ BulletsToolStripButton.Checked = rtb.SelectionBullet
+ End Sub
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/WebbrowserEx.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/WebbrowserEx.vb
new file mode 100644
index 0000000..27a6e25
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/WebbrowserEx.vb
@@ -0,0 +1,254 @@
+'2007 KLEINMA
+'www.zerosandtheone.com
+
+Option Strict On
+Imports System.Runtime.InteropServices
+Imports System.Security.Permissions
+Imports System.Windows.Forms
+
+Namespace Kleinma.Controls
+
+ Public Class WebBrowserEx
+ Inherits WebBrowser
+
+ Private cookie As AxHost.ConnectionPointCookie
+ Private helper As WebBrowser2EventHelper
+
+ 'NEW EVENTS THAT WILL NOW BE EXPOSED
+ Public Event NewWindow2 As WebBrowserNewWindow2EventHandler
+ Public Event NavigateError As WebBrowserNavigateErrorEventHandler
+
+ 'DELEGATES TO HANDLE PROCESSING OF THE EVENTS
+ Public Delegate Sub WebBrowserNewWindow2EventHandler(ByVal sender As Object, ByVal e As WebBrowserNewWindow2EventArgs)
+ Public Delegate Sub WebBrowserNavigateErrorEventHandler(ByVal sender As Object, ByVal e As WebBrowserNavigateErrorEventArgs)
+
+#Region " PROTECTED METHODS FOR EXTENDED EVENTS "
+ Protected Overridable Sub OnNewWindow2(ByVal e As WebBrowserNewWindow2EventArgs)
+ RaiseEvent NewWindow2(Me, e)
+ End Sub
+
+ Protected Overridable Sub OnNavigateError(ByVal e As WebBrowserNavigateErrorEventArgs)
+ RaiseEvent NavigateError(Me, e)
+ End Sub
+#End Region
+
+#Region "WB SINK ROUTINES"
+
+ _
+ Protected Overrides Sub CreateSink()
+ MyBase.CreateSink()
+ helper = New WebBrowser2EventHelper(Me)
+ cookie = New AxHost.ConnectionPointCookie(Me.ActiveXInstance, helper, GetType(DWebBrowserEvents2))
+ End Sub
+
+ _
+ Protected Overrides Sub DetachSink()
+ If cookie IsNot Nothing Then
+ cookie.Disconnect()
+ cookie = Nothing
+ End If
+ MyBase.DetachSink()
+ End Sub
+
+#End Region
+
+#Region "PROPERTIES EXPOSED THROUGH THE COM OBJECT"
+
+ _
+ _
+ Public ReadOnly Property Application() As Object
+ Get
+ If IsNothing(Me.ActiveXInstance) Then
+ Throw New AxHost.InvalidActiveXStateException("Application", AxHost.ActiveXInvokeKind.PropertyGet)
+ End If
+
+ Return CallByName(Me.ActiveXInstance, "Application", CallType.Get, Nothing)
+ 'THIS IS COMMENTED. UNCOMMENT AND REMOVE LINE BEFORE IF YOU CAN NOT USE CALLBYNAME()
+ 'Return Me.ActiveXInstance.Application
+ End Get
+ End Property
+
+ _
+ _
+ Public Property RegisterAsBrowser() As Boolean
+ Get
+ If IsNothing(Me.ActiveXInstance) Then
+ Throw New AxHost.InvalidActiveXStateException("RegisterAsBrowser", AxHost.ActiveXInvokeKind.PropertyGet)
+ End If
+
+ Dim RetVal As Boolean = False
+ If Not Boolean.TryParse(CallByName(Me.ActiveXInstance, "RegisterAsBrowser", CallType.Get, Nothing).ToString, RetVal) Then RetVal = False
+ Return RetVal
+ 'THIS IS COMMENTED. UNCOMMENT AND REMOVE 3 LINES BEFORE IF YOU CAN NOT USE CALLBYNAME()
+ 'Return Me.ActiveXInstance.RegisterAsBrowser
+
+ End Get
+ Set(ByVal value As Boolean)
+ If IsNothing(Me.ActiveXInstance) Then
+ Throw New AxHost.InvalidActiveXStateException("RegisterAsBrowser", AxHost.ActiveXInvokeKind.PropertySet)
+ End If
+
+ CallByName(Me.ActiveXInstance, "RegisterAsBrowser", CallType.Let, True)
+ 'THIS IS COMMENTED. UNCOMMENT AND REMOVE LINE BEFORE IF YOU CAN NOT USE CALLBYNAME()
+ 'Me.ActiveXInstance.RegisterAsBrowser = value
+ End Set
+ End Property
+
+#End Region
+
+ 'HELPER CLASS TO FIRE OFF THE EVENTS
+ Private Class WebBrowser2EventHelper
+ Inherits StandardOleMarshalObject
+ Implements DWebBrowserEvents2
+
+ Private parent As WebBrowserEx
+
+ Public Sub New(ByVal parent As WebBrowserEx)
+ Me.parent = parent
+ End Sub
+
+
+ Public Sub NewWindow2(ByRef ppDisp As Object, ByRef cancel As Boolean) Implements DWebBrowserEvents2.NewWindow2
+ Dim e As New WebBrowserNewWindow2EventArgs(ppDisp)
+ Me.parent.OnNewWindow2(e)
+ ppDisp = e.ppDisp
+ cancel = e.Cancel
+ End Sub
+
+ Public Sub NavigateError(ByVal pDisp As Object, ByRef URL As Object, ByRef frame As Object, ByRef statusCode As Object, ByRef cancel As Boolean) Implements DWebBrowserEvents2.NavigateError
+ ' Raise the NavigateError event.
+ Me.parent.OnNavigateError( _
+ New WebBrowserNavigateErrorEventArgs( _
+ CStr(URL), CStr(frame), CInt(statusCode), cancel))
+ End Sub
+ End Class
+
+
+
+ ' Define constants from winuser.h
+ Private Const WM_PARENTNOTIFY As Integer = &H210
+ Private Const WM_DESTROY As Integer = 2
+
+ 'Define New event to fire
+ Public Event WBWantsToClose()
+
+ Protected Overrides Sub WndProc(ByRef m As Message)
+ Select Case m.Msg
+ Case WM_PARENTNOTIFY
+ If (Not DesignMode) Then
+ If (CInt(m.WParam) = WM_DESTROY) Then
+ ' Tell whoever cares we are closing
+ RaiseEvent WBWantsToClose()
+ End If
+ End If
+ DefWndProc(m)
+ Case Else
+ MyBase.WndProc(m)
+ End Select
+ End Sub
+ End Class
+
+
+ Public Class WebBrowserNewWindow2EventArgs
+ Inherits System.ComponentModel.CancelEventArgs
+
+ Private ppDispValue As Object
+
+ Public Sub New(ByVal ppDisp As Object)
+ Me.ppDispValue = ppDisp
+ End Sub
+
+ Public Property ppDisp() As Object
+ Get
+ Return ppDispValue
+ End Get
+ Set(ByVal value As Object)
+ ppDispValue = value
+ End Set
+ End Property
+
+ End Class
+ Public Class WebBrowserNavigateErrorEventArgs
+ Inherits EventArgs
+
+ Private urlValue As String
+ Private frameValue As String
+ Private statusCodeValue As Int32
+ Private cancelValue As Boolean
+
+ Public Sub New( _
+ ByVal url As String, ByVal frame As String, _
+ ByVal statusCode As Int32, ByVal cancel As Boolean)
+
+ Me.urlValue = url
+ Me.frameValue = frame
+ Me.statusCodeValue = statusCode
+ Me.cancelValue = cancel
+
+ End Sub
+
+ Public Property Url() As String
+ Get
+ Return urlValue
+ End Get
+ Set(ByVal value As String)
+ urlValue = value
+ End Set
+ End Property
+
+ Public Property Frame() As String
+ Get
+ Return frameValue
+ End Get
+ Set(ByVal value As String)
+ frameValue = value
+ End Set
+ End Property
+
+ Public Property StatusCode() As Int32
+ Get
+ Return statusCodeValue
+ End Get
+ Set(ByVal value As Int32)
+ statusCodeValue = value
+ End Set
+ End Property
+
+ Public Property Cancel() As Boolean
+ Get
+ Return cancelValue
+ End Get
+ Set(ByVal value As Boolean)
+ cancelValue = value
+ End Set
+ End Property
+
+ End Class
+
+ _
+ Public Interface DWebBrowserEvents2
+
+ Sub NewWindow2( _
+ ByRef ppDisp As Object, _
+ ByRef cancel As Boolean)
+
+ Sub NavigateError( _
+ _
+ ByVal pDisp As Object, _
+ ByRef URL As Object, _
+ ByRef frame As Object, _
+ ByRef statusCode As Object, _
+ ByRef cancel As Boolean)
+ End Interface
+
+ Public Enum DISPID
+ NEWWINDOW2 = 251
+ NAVIGATERROR = 271
+ End Enum
+
+
+
+End Namespace
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.Designer.vb
new file mode 100644
index 0000000..af42ae1
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.Designer.vb
@@ -0,0 +1,222 @@
+ _
+Partial Class frmPDFScanList
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.FlowLayoutPanel = New System.Windows.Forms.FlowLayoutPanel()
+ Me.cntxtMulti = New System.Windows.Forms.ContextMenuStrip()
+ Me.DateiScannenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.DateiHochladenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
+ Me.KopierenZwischenablageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.AlsEmailSendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
+ Me.ArchivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.pnlTop = New System.Windows.Forms.Panel()
+ Me.lblDateien = New System.Windows.Forms.Label()
+ Me.FlatButton1 = New VERAG_PROG_ALLGEMEIN.FlatButton()
+ Me.listlOld = New System.Windows.Forms.FlowLayoutPanel()
+ Me.pnlOldHeader = New System.Windows.Forms.Panel()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.cntxtMulti.SuspendLayout()
+ Me.pnlTop.SuspendLayout()
+ Me.pnlOldHeader.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'FlowLayoutPanel
+ '
+ Me.FlowLayoutPanel.AutoSize = True
+ Me.FlowLayoutPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.FlowLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.FlowLayoutPanel.FlowDirection = System.Windows.Forms.FlowDirection.TopDown
+ Me.FlowLayoutPanel.Location = New System.Drawing.Point(0, 20)
+ Me.FlowLayoutPanel.Margin = New System.Windows.Forms.Padding(1)
+ Me.FlowLayoutPanel.MaximumSize = New System.Drawing.Size(200, 500)
+ Me.FlowLayoutPanel.Name = "FlowLayoutPanel"
+ Me.FlowLayoutPanel.Size = New System.Drawing.Size(200, 14)
+ Me.FlowLayoutPanel.TabIndex = 1
+ '
+ 'cntxtMulti
+ '
+ Me.cntxtMulti.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.cntxtMulti.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiScannenToolStripMenuItem, Me.DateiHochladenToolStripMenuItem, Me.ToolStripSeparator1, Me.KopierenZwischenablageToolStripMenuItem, Me.AlsEmailSendenToolStripMenuItem, Me.ToolStripSeparator2, Me.ArchivierenToolStripMenuItem})
+ Me.cntxtMulti.Name = "cntxt"
+ Me.cntxtMulti.Size = New System.Drawing.Size(218, 126)
+ '
+ 'DateiScannenToolStripMenuItem
+ '
+ Me.DateiScannenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.scanner
+ Me.DateiScannenToolStripMenuItem.Name = "DateiScannenToolStripMenuItem"
+ Me.DateiScannenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.DateiScannenToolStripMenuItem.Text = "Datei scannen..."
+ '
+ 'DateiHochladenToolStripMenuItem
+ '
+ Me.DateiHochladenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf
+ Me.DateiHochladenToolStripMenuItem.Name = "DateiHochladenToolStripMenuItem"
+ Me.DateiHochladenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.DateiHochladenToolStripMenuItem.Text = "Datei hochladen..."
+ '
+ 'ToolStripSeparator1
+ '
+ Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
+ Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6)
+ '
+ 'KopierenZwischenablageToolStripMenuItem
+ '
+ Me.KopierenZwischenablageToolStripMenuItem.Name = "KopierenZwischenablageToolStripMenuItem"
+ Me.KopierenZwischenablageToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.KopierenZwischenablageToolStripMenuItem.Text = "Kopieren (Zwischenablage)"
+ '
+ 'AlsEmailSendenToolStripMenuItem
+ '
+ Me.AlsEmailSendenToolStripMenuItem.Name = "AlsEmailSendenToolStripMenuItem"
+ Me.AlsEmailSendenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.AlsEmailSendenToolStripMenuItem.Text = "Als Email senden"
+ '
+ 'ToolStripSeparator2
+ '
+ Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
+ Me.ToolStripSeparator2.Size = New System.Drawing.Size(214, 6)
+ '
+ 'ArchivierenToolStripMenuItem
+ '
+ Me.ArchivierenToolStripMenuItem.Name = "ArchivierenToolStripMenuItem"
+ Me.ArchivierenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.ArchivierenToolStripMenuItem.Text = "Archivieren"
+ '
+ 'pnlTop
+ '
+ Me.pnlTop.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
+ Me.pnlTop.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlTop.Controls.Add(Me.lblDateien)
+ Me.pnlTop.Controls.Add(Me.FlatButton1)
+ Me.pnlTop.Dock = System.Windows.Forms.DockStyle.Top
+ Me.pnlTop.Location = New System.Drawing.Point(0, 0)
+ Me.pnlTop.Name = "pnlTop"
+ Me.pnlTop.Size = New System.Drawing.Size(222, 20)
+ Me.pnlTop.TabIndex = 4
+ '
+ 'lblDateien
+ '
+ Me.lblDateien.AutoSize = True
+ Me.lblDateien.Location = New System.Drawing.Point(4, 3)
+ Me.lblDateien.Name = "lblDateien"
+ Me.lblDateien.Size = New System.Drawing.Size(47, 13)
+ Me.lblDateien.TabIndex = 1
+ Me.lblDateien.Text = "Dateien:"
+ '
+ 'FlatButton1
+ '
+ Me.FlatButton1.allowBorder = False
+ Me.FlatButton1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.FlatButton1.BackColor = System.Drawing.Color.Red
+ Me.FlatButton1.FlatAppearance.BorderSize = 0
+ Me.FlatButton1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.FlatButton1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.FlatButton1.ForeColor = System.Drawing.Color.White
+ Me.FlatButton1.Location = New System.Drawing.Point(194, 0)
+ Me.FlatButton1.Name = "FlatButton1"
+ Me.FlatButton1.Size = New System.Drawing.Size(26, 20)
+ Me.FlatButton1.TabIndex = 0
+ Me.FlatButton1.Text = "X"
+ Me.FlatButton1.UseVisualStyleBackColor = False
+ '
+ 'listlOld
+ '
+ Me.listlOld.AutoSize = True
+ Me.listlOld.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.listlOld.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.listlOld.FlowDirection = System.Windows.Forms.FlowDirection.TopDown
+ Me.listlOld.Location = New System.Drawing.Point(0, 49)
+ Me.listlOld.Margin = New System.Windows.Forms.Padding(1)
+ Me.listlOld.MaximumSize = New System.Drawing.Size(200, 200)
+ Me.listlOld.MinimumSize = New System.Drawing.Size(2, 10)
+ Me.listlOld.Name = "listlOld"
+ Me.listlOld.Size = New System.Drawing.Size(200, 10)
+ Me.listlOld.TabIndex = 5
+ Me.listlOld.Visible = False
+ '
+ 'pnlOldHeader
+ '
+ Me.pnlOldHeader.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer))
+ Me.pnlOldHeader.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlOldHeader.Controls.Add(Me.Label1)
+ Me.pnlOldHeader.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.pnlOldHeader.Location = New System.Drawing.Point(0, 34)
+ Me.pnlOldHeader.Name = "pnlOldHeader"
+ Me.pnlOldHeader.Size = New System.Drawing.Size(222, 15)
+ Me.pnlOldHeader.TabIndex = 6
+ Me.pnlOldHeader.Visible = False
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(4, 0)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(40, 13)
+ Me.Label1.TabIndex = 1
+ Me.Label1.Text = "Archiv:"
+ '
+ 'frmPDFScanList
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.AutoScroll = True
+ Me.AutoSize = True
+ Me.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
+ Me.BackColor = System.Drawing.Color.White
+ Me.ClientSize = New System.Drawing.Size(222, 59)
+ Me.Controls.Add(Me.FlowLayoutPanel)
+ Me.Controls.Add(Me.pnlOldHeader)
+ Me.Controls.Add(Me.pnlTop)
+ Me.Controls.Add(Me.listlOld)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
+ Me.MaximumSize = New System.Drawing.Size(222, 300)
+ Me.MinimumSize = New System.Drawing.Size(220, 24)
+ Me.Name = "frmPDFScanList"
+ Me.Text = "frmPDFScanList"
+ Me.cntxtMulti.ResumeLayout(False)
+ Me.pnlTop.ResumeLayout(False)
+ Me.pnlTop.PerformLayout()
+ Me.pnlOldHeader.ResumeLayout(False)
+ Me.pnlOldHeader.PerformLayout()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Public WithEvents FlowLayoutPanel As System.Windows.Forms.FlowLayoutPanel
+ Friend WithEvents cntxtMulti As System.Windows.Forms.ContextMenuStrip
+ Friend WithEvents DateiScannenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents DateiHochladenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents pnlTop As System.Windows.Forms.Panel
+ Friend WithEvents FlatButton1 As VERAG_PROG_ALLGEMEIN.FlatButton
+ Friend WithEvents lblDateien As System.Windows.Forms.Label
+ Public WithEvents listlOld As System.Windows.Forms.FlowLayoutPanel
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Public WithEvents pnlOldHeader As System.Windows.Forms.Panel
+ Friend WithEvents ArchivierenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents KopierenZwischenablageToolStripMenuItem As Windows.Forms.ToolStripMenuItem
+ Friend WithEvents AlsEmailSendenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
+ Friend WithEvents ToolStripSeparator1 As Windows.Forms.ToolStripSeparator
+ Friend WithEvents ToolStripSeparator2 As Windows.Forms.ToolStripSeparator
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.resx
new file mode 100644
index 0000000..d2b6991
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.vb
new file mode 100644
index 0000000..081a9df
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/frmPDFScanList.vb
@@ -0,0 +1,64 @@
+Imports System.Windows.Forms
+
+Public Class frmPDFScanList
+ Public KdNr As Integer = -1
+ 'Dim DATENSERVER As New cDATENSERVER
+ Public _DATENSERVER_ORDNER As String = ""
+ Public _TEXT_PDF As String = ""
+ ' Public ScanID As String = ""
+ ' Public pdf_Path As String = ""
+
+ Public Event FileAdded(ScanID As Integer, path As String, name As String)
+ Sub New()
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+
+ Sub New(KdNr, _DATENSERVER_ORDNER, _TEXT_PDF)
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+ Me.KdNr = KdNr
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+
+ Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click
+ Me.Close()
+ End Sub
+
+ Private Sub frmPDFScanList_Shown(sender As Object, e As EventArgs) Handles Me.Shown
+ Me.Location = Windows.Forms.Cursor.Position
+ End Sub
+
+ Private Sub frmPDFScanList_LostFocus(sender As Object, e As EventArgs) Handles Me.Deactivate, Me.LostFocus
+ ''Threading.Thread.Sleep(100)
+ 'For Each c In Me.FlowLayoutPanel.Controls
+ ' If DirectCast(c, usrCntLPDFScanSimple).cntxt.Visible Then
+ ' Exit Sub
+ ' End If
+ 'Next
+ 'For Each c In Me.listlOld.Controls
+ ' If DirectCast(c, usrCntLPDFScanSimple).cntxt.Visible Then
+ ' Exit Sub
+ ' End If
+ 'Next
+ Dim trd = New System.Threading.Thread(AddressOf Me.threadClose)
+ trd.IsBackground = True
+ trd.Start()
+
+
+ End Sub
+
+ Sub threadClose()
+ Threading.Thread.Sleep(100)
+ If Form.ActiveForm Is Nothing Then Exit Sub
+ If Me IsNot Form.ActiveForm Then Me.Close()
+ End Sub
+
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.Designer.vb
new file mode 100644
index 0000000..4a51d62
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.Designer.vb
@@ -0,0 +1,141 @@
+ _
+Partial Class usrCntLPDFScanSimple
+ Inherits System.Windows.Forms.UserControl
+
+ 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Me.txt = New System.Windows.Forms.Label()
+ Me.cntxt = New System.Windows.Forms.ContextMenuStrip(Me.components)
+ Me.UmbenennenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.LöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
+ Me.KopierenZwischenablageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.AlsEmailSendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
+ Me.ArchivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.picPDF = New System.Windows.Forms.PictureBox()
+ Me.cntxt.SuspendLayout()
+ CType(Me.picPDF, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'txt
+ '
+ Me.txt.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
+ Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.txt.AutoSize = True
+ Me.txt.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.txt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txt.Location = New System.Drawing.Point(30, 3)
+ Me.txt.Name = "txt"
+ Me.txt.Size = New System.Drawing.Size(109, 13)
+ Me.txt.TabIndex = 3
+ Me.txt.Text = "Kostenaufstellung.pdf"
+ Me.txt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
+ '
+ 'cntxt
+ '
+ Me.cntxt.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.cntxt.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UmbenennenToolStripMenuItem, Me.LöschenToolStripMenuItem, Me.ToolStripSeparator2, Me.KopierenZwischenablageToolStripMenuItem, Me.AlsEmailSendenToolStripMenuItem, Me.ToolStripSeparator1, Me.ArchivierenToolStripMenuItem})
+ Me.cntxt.Name = "cntxt"
+ Me.cntxt.Size = New System.Drawing.Size(218, 126)
+ '
+ 'UmbenennenToolStripMenuItem
+ '
+ Me.UmbenennenToolStripMenuItem.Name = "UmbenennenToolStripMenuItem"
+ Me.UmbenennenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.UmbenennenToolStripMenuItem.Text = "Umbenennen"
+ '
+ 'LöschenToolStripMenuItem
+ '
+ Me.LöschenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.del
+ Me.LöschenToolStripMenuItem.Name = "LöschenToolStripMenuItem"
+ Me.LöschenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.LöschenToolStripMenuItem.Text = "Löschen"
+ '
+ 'ToolStripSeparator2
+ '
+ Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
+ Me.ToolStripSeparator2.Size = New System.Drawing.Size(214, 6)
+ '
+ 'KopierenZwischenablageToolStripMenuItem
+ '
+ Me.KopierenZwischenablageToolStripMenuItem.Name = "KopierenZwischenablageToolStripMenuItem"
+ Me.KopierenZwischenablageToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.KopierenZwischenablageToolStripMenuItem.Text = "Kopieren (Zwischenablage)"
+ '
+ 'AlsEmailSendenToolStripMenuItem
+ '
+ Me.AlsEmailSendenToolStripMenuItem.Name = "AlsEmailSendenToolStripMenuItem"
+ Me.AlsEmailSendenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.AlsEmailSendenToolStripMenuItem.Text = "Als Email senden"
+ '
+ 'ToolStripSeparator1
+ '
+ Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
+ Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6)
+ '
+ 'ArchivierenToolStripMenuItem
+ '
+ Me.ArchivierenToolStripMenuItem.Name = "ArchivierenToolStripMenuItem"
+ Me.ArchivierenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.ArchivierenToolStripMenuItem.Text = "Archivieren"
+ '
+ 'picPDF
+ '
+ Me.picPDF.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf
+ Me.picPDF.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.picPDF.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.picPDF.Location = New System.Drawing.Point(-1, 2)
+ Me.picPDF.Name = "picPDF"
+ Me.picPDF.Size = New System.Drawing.Size(29, 15)
+ Me.picPDF.TabIndex = 2
+ Me.picPDF.TabStop = False
+ '
+ 'usrCntLPDFScanSimple
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.ContextMenuStrip = Me.cntxt
+ Me.Controls.Add(Me.txt)
+ Me.Controls.Add(Me.picPDF)
+ Me.Margin = New System.Windows.Forms.Padding(1)
+ Me.Name = "usrCntLPDFScanSimple"
+ Me.Size = New System.Drawing.Size(218, 20)
+ Me.cntxt.ResumeLayout(False)
+ CType(Me.picPDF, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents txt As System.Windows.Forms.Label
+ Friend WithEvents picPDF As System.Windows.Forms.PictureBox
+ Friend WithEvents cntxt As System.Windows.Forms.ContextMenuStrip
+ Friend WithEvents LöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents UmbenennenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents ArchivierenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents ToolStripSeparator2 As Windows.Forms.ToolStripSeparator
+ Friend WithEvents KopierenZwischenablageToolStripMenuItem As Windows.Forms.ToolStripMenuItem
+ Friend WithEvents AlsEmailSendenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
+ Friend WithEvents ToolStripSeparator1 As Windows.Forms.ToolStripSeparator
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.resx
new file mode 100644
index 0000000..1c67451
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.vb
new file mode 100644
index 0000000..a3909f9
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntLPDFScanSimple.vb
@@ -0,0 +1,72 @@
+Imports System.IO
+
+Public Class usrCntLPDFScanSimple
+ Public ScanID As String = ""
+ Public pdf_Path As String = ""
+ Public bezeichnung As String = ""
+ Public archived As Boolean = False
+ Public Event DELETE(ScanID As Integer, bezeichnung As String)
+ Public Event RENAME(ScanID As Integer, bezeichnung As String)
+ Public Event ARCHIV(ScanID As Integer, bezeichnung As String)
+ Public Event CLIPBOARD(ScanID As Integer, bezeichnung As String)
+ Public Event OPEN_MAIL(ScanID As Integer, bezeichnung As String)
+
+ Public Event CLICKED()
+
+ Sub New(ScanID, pdf_Path, bezeichnung, archived)
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+ Me.ScanID = ScanID
+ Me.pdf_Path = pdf_Path
+ Me.bezeichnung = bezeichnung
+ txt.Text = bezeichnung
+ Me.archived = archived
+ End Sub
+
+ Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click
+ If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Datenarchiv_DELETE", "SDL") Then RaiseEvent DELETE(ScanID, bezeichnung)
+ End Sub
+
+ Private Sub txt_Click(sender As Object, e As EventArgs) Handles txt.Click, Me.Click, picPDF.Click
+ If File.Exists(pdf_Path) Then
+ ' Process.Start(pdf_Path)
+ Process.Start(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(pdf_Path, bezeichnung))
+ RaiseEvent CLICKED()
+ End If
+ End Sub
+
+ Private Sub usrCntLPDFScanSimple_Load(sender As Object, e As EventArgs) Handles Me.Load
+ If archived Then
+ ArchivierenToolStripMenuItem.Text = "Wiederherstellen"
+ Me.picPDF.BackgroundImage = My.Resources.pdf_gray
+ End If
+ LöschenToolStripMenuItem.Enabled = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Datenarchiv_DELETE", "SDL")
+
+ End Sub
+
+ Private Sub usrcntlPDFScan_MouseHover(sender As Object, e As EventArgs) Handles Me.MouseEnter, txt.MouseEnter, picPDF.MouseEnter
+ Me.BackColor = Drawing.Color.LightGray
+ End Sub
+ Private Sub usrcntlPDFScan_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave, txt.MouseLeave, picPDF.MouseLeave
+ Me.BackColor = Drawing.Color.White
+ End Sub
+
+ Private Sub UmbenennenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UmbenennenToolStripMenuItem.Click
+ RaiseEvent RENAME(ScanID, bezeichnung)
+ End Sub
+
+ Private Sub ArchivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ArchivierenToolStripMenuItem.Click
+ RaiseEvent ARCHIV(ScanID, bezeichnung)
+ End Sub
+
+ Private Sub KopierenZwischenablageToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KopierenZwischenablageToolStripMenuItem.Click
+ RaiseEvent CLIPBOARD(ScanID, bezeichnung)
+ End Sub
+
+ Private Sub AlsEmailSendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlsEmailSendenToolStripMenuItem.Click
+ RaiseEvent OPEN_MAIL(ScanID, bezeichnung)
+ End Sub
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.Designer.vb
new file mode 100644
index 0000000..071cc91
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.Designer.vb
@@ -0,0 +1,56 @@
+ _
+Partial Class usrCntlTestsystem
+ Inherits System.Windows.Forms.UserControl
+
+ 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.lblTESTSYSTEM = New System.Windows.Forms.Label()
+ Me.SuspendLayout()
+ '
+ 'lblTESTSYSTEM
+ '
+ Me.lblTESTSYSTEM.AutoSize = True
+ Me.lblTESTSYSTEM.Location = New System.Drawing.Point(-4, 0)
+ Me.lblTESTSYSTEM.Margin = New System.Windows.Forms.Padding(5, 0, 5, 0)
+ Me.lblTESTSYSTEM.Name = "lblTESTSYSTEM"
+ Me.lblTESTSYSTEM.Size = New System.Drawing.Size(146, 24)
+ Me.lblTESTSYSTEM.TabIndex = 0
+ Me.lblTESTSYSTEM.Text = "TESTSYSTEM"
+ Me.lblTESTSYSTEM.Visible = False
+ '
+ 'usrCntlTestsystem
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(12.0!, 24.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.Transparent
+ Me.Controls.Add(Me.lblTESTSYSTEM)
+ Me.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.ForeColor = System.Drawing.Color.Red
+ Me.Margin = New System.Windows.Forms.Padding(5, 6, 5, 6)
+ Me.Name = "usrCntlTestsystem"
+ Me.Size = New System.Drawing.Size(152, 28)
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents lblTESTSYSTEM As System.Windows.Forms.Label
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.vb
new file mode 100644
index 0000000..be7f3bf
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrCntlTestsystem.vb
@@ -0,0 +1,8 @@
+Public Class usrCntlTestsystem
+ ' Private Sub usrCntlTestsystem_Load(sender As Object, e As EventArgs) Handles Me.Load
+ ' lblTESTSYSTEM.Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
+ ' End Sub
+ Private Sub usrCntlTestsystem_Load(sender As Object, e As EventArgs) Handles Me.Layout
+ lblTESTSYSTEM.Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
+ End Sub
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.Designer.vb
new file mode 100644
index 0000000..3bb4544
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.Designer.vb
@@ -0,0 +1,133 @@
+ _
+Partial Class usrcntlKdSearch
+ Inherits System.Windows.Forms.UserControl
+
+ 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.dgvKundenAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
+ Me.pnl = New System.Windows.Forms.Panel()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.lblClose = New System.Windows.Forms.Label()
+ Me.lblINAKTIVEKunden = New System.Windows.Forms.Label()
+ Me.dgvKundenInAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
+ Me.DirectoryEntry1 = New System.DirectoryServices.DirectoryEntry()
+ CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.pnl.SuspendLayout()
+ Me.Panel1.SuspendLayout()
+ CType(Me.dgvKundenInAktiv, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'dgvKundenAktiv
+ '
+ Me.dgvKundenAktiv.AKTUALISIERUNGS_INTERVALL = -1
+ Me.dgvKundenAktiv.BackgroundColor = System.Drawing.Color.White
+ Me.dgvKundenAktiv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
+ Me.dgvKundenAktiv.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.dgvKundenAktiv.Location = New System.Drawing.Point(0, 0)
+ Me.dgvKundenAktiv.Name = "dgvKundenAktiv"
+ Me.dgvKundenAktiv.Size = New System.Drawing.Size(564, 243)
+ Me.dgvKundenAktiv.TabIndex = 0
+ '
+ 'pnl
+ '
+ Me.pnl.AutoSize = True
+ Me.pnl.BackColor = System.Drawing.Color.White
+ Me.pnl.Controls.Add(Me.dgvKundenAktiv)
+ Me.pnl.Controls.Add(Me.Panel1)
+ Me.pnl.Controls.Add(Me.dgvKundenInAktiv)
+ Me.pnl.Location = New System.Drawing.Point(2, 3)
+ Me.pnl.Name = "pnl"
+ Me.pnl.Size = New System.Drawing.Size(564, 374)
+ Me.pnl.TabIndex = 1
+ '
+ 'Panel1
+ '
+ Me.Panel1.BackColor = System.Drawing.SystemColors.InactiveCaption
+ Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.Panel1.Controls.Add(Me.lblClose)
+ Me.Panel1.Controls.Add(Me.lblINAKTIVEKunden)
+ Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.Panel1.Location = New System.Drawing.Point(0, 243)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(564, 16)
+ Me.Panel1.TabIndex = 3
+ '
+ 'lblClose
+ '
+ Me.lblClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.lblClose.AutoSize = True
+ Me.lblClose.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.lblClose.Font = New System.Drawing.Font("Arial Black", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblClose.ForeColor = System.Drawing.Color.Red
+ Me.lblClose.Location = New System.Drawing.Point(542, -5)
+ Me.lblClose.Margin = New System.Windows.Forms.Padding(0)
+ Me.lblClose.Name = "lblClose"
+ Me.lblClose.Size = New System.Drawing.Size(22, 23)
+ Me.lblClose.TabIndex = 17
+ Me.lblClose.Text = "X"
+ '
+ 'lblINAKTIVEKunden
+ '
+ Me.lblINAKTIVEKunden.AutoSize = True
+ Me.lblINAKTIVEKunden.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblINAKTIVEKunden.Location = New System.Drawing.Point(3, 0)
+ Me.lblINAKTIVEKunden.Name = "lblINAKTIVEKunden"
+ Me.lblINAKTIVEKunden.Size = New System.Drawing.Size(96, 13)
+ Me.lblINAKTIVEKunden.TabIndex = 2
+ Me.lblINAKTIVEKunden.Text = "INAKTIVE Kunden:"
+ '
+ 'dgvKundenInAktiv
+ '
+ Me.dgvKundenInAktiv.AKTUALISIERUNGS_INTERVALL = -1
+ Me.dgvKundenInAktiv.BackgroundColor = System.Drawing.Color.White
+ Me.dgvKundenInAktiv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
+ Me.dgvKundenInAktiv.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.dgvKundenInAktiv.Location = New System.Drawing.Point(0, 259)
+ Me.dgvKundenInAktiv.Name = "dgvKundenInAktiv"
+ Me.dgvKundenInAktiv.Size = New System.Drawing.Size(564, 115)
+ Me.dgvKundenInAktiv.TabIndex = 1
+ '
+ 'usrcntlKdSearch
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.SystemColors.MenuHighlight
+ Me.Controls.Add(Me.pnl)
+ Me.Name = "usrcntlKdSearch"
+ Me.Size = New System.Drawing.Size(570, 380)
+ CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.pnl.ResumeLayout(False)
+ Me.Panel1.ResumeLayout(False)
+ Me.Panel1.PerformLayout()
+ CType(Me.dgvKundenInAktiv, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents pnl As System.Windows.Forms.Panel
+ Friend WithEvents Panel1 As System.Windows.Forms.Panel
+ Friend WithEvents lblINAKTIVEKunden As System.Windows.Forms.Label
+ Public WithEvents dgvKundenAktiv As MyDatagridview
+ Public WithEvents dgvKundenInAktiv As MyDatagridview
+ Public WithEvents lblClose As System.Windows.Forms.Label
+ Friend WithEvents DirectoryEntry1 As System.DirectoryServices.DirectoryEntry
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.resx
new file mode 100644
index 0000000..c4fb810
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.vb
new file mode 100644
index 0000000..7f5c287
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.vb
@@ -0,0 +1,50 @@
+Imports System.Windows.Forms
+Imports System.Drawing
+
+Public Class usrcntlKdSearch
+ Public Event DGV_Click(sender As Object, e As EventArgs)
+ Public Event DGV_INAKTIV_Click(sender As Object, e As EventArgs)
+ Public Event DGV_KeyDown(sender As Object, e As KeyEventArgs)
+ Public Event DGV_INAKTIV_KeyDown(sender As Object, e As KeyEventArgs)
+ Public Event CLOSE(sender As Object, e As EventArgs)
+
+ Private Sub dgvKundenAktiv_Click(sender As Object, e As EventArgs) Handles dgvKundenAktiv.Click
+ RaiseEvent DGV_Click(sender, e)
+
+ End Sub
+
+ Private Sub dgvKundenInAktiv_Click(sender As Object, e As EventArgs) Handles dgvKundenInAktiv.Click
+ RaiseEvent DGV_INAKTIV_Click(sender, e)
+ End Sub
+
+ Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles dgvKundenAktiv.KeyDown
+ RaiseEvent DGV_KeyDown(sender, e)
+ End Sub
+
+ Private Sub dgvFindKD_INAKTIV_Click(sender As Object, e As KeyEventArgs) Handles dgvKundenInAktiv.KeyDown
+ RaiseEvent DGV_INAKTIV_KeyDown(sender, e)
+ End Sub
+
+
+ Private Sub usrcntlKdSearch_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
+ Me.pnl.Location = New Point(2, 2)
+ Me.pnl.Size = New Size(Me.Width - 4, Me.Height - 4)
+ End Sub
+
+ Private Sub lblClose_Click(sender As Object, e As EventArgs) Handles lblClose.Click
+ RaiseEvent CLOSE(sender, e)
+ End Sub
+
+ Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
+ Try
+ MyBase.OnPaint(e)
+ Catch ex As Exception
+ Me.Invalidate()
+ End Try
+ End Sub
+
+ Private Sub dgvKundenAktiv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvKundenAktiv.CellContentClick
+ RaiseEvent DGV_Click(sender, e)
+
+ End Sub
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.Designer.vb
new file mode 100644
index 0000000..32bf598
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.Designer.vb
@@ -0,0 +1,188 @@
+ _
+Partial Class usrcntlPDFScan
+ Inherits System.Windows.Forms.UserControl
+
+ 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Me.txt = New System.Windows.Forms.Label()
+ Me.cntxt = New System.Windows.Forms.ContextMenuStrip(Me.components)
+ Me.DateiScannenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.DateiHochladenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
+ Me.KopierenZwischenablageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.AlsEMailSendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
+ Me.LöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.picPDF = New System.Windows.Forms.PictureBox()
+ Me.cntxtMulti = New System.Windows.Forms.ContextMenuStrip(Me.components)
+ Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
+ Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem()
+ Me.ArchivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.cntxt.SuspendLayout()
+ CType(Me.picPDF, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.cntxtMulti.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'txt
+ '
+ Me.txt.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
+ Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.txt.ContextMenuStrip = Me.cntxt
+ Me.txt.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.txt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txt.Location = New System.Drawing.Point(31, -1)
+ Me.txt.Name = "txt"
+ Me.txt.Size = New System.Drawing.Size(133, 24)
+ Me.txt.TabIndex = 1
+ Me.txt.Text = "Kostenaufstellung.pdf"
+ Me.txt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
+ '
+ 'cntxt
+ '
+ Me.cntxt.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.cntxt.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiScannenToolStripMenuItem, Me.DateiHochladenToolStripMenuItem, Me.ToolStripSeparator2, Me.KopierenZwischenablageToolStripMenuItem, Me.AlsEMailSendenToolStripMenuItem, Me.ToolStripSeparator1, Me.LöschenToolStripMenuItem})
+ Me.cntxt.Name = "cntxt"
+ Me.cntxt.Size = New System.Drawing.Size(218, 126)
+ '
+ 'DateiScannenToolStripMenuItem
+ '
+ Me.DateiScannenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.scanner
+ Me.DateiScannenToolStripMenuItem.Name = "DateiScannenToolStripMenuItem"
+ Me.DateiScannenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.DateiScannenToolStripMenuItem.Text = "Datei scannen..."
+ '
+ 'DateiHochladenToolStripMenuItem
+ '
+ Me.DateiHochladenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf
+ Me.DateiHochladenToolStripMenuItem.Name = "DateiHochladenToolStripMenuItem"
+ Me.DateiHochladenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.DateiHochladenToolStripMenuItem.Text = "Datei hochladen..."
+ '
+ 'ToolStripSeparator2
+ '
+ Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
+ Me.ToolStripSeparator2.Size = New System.Drawing.Size(214, 6)
+ '
+ 'KopierenZwischenablageToolStripMenuItem
+ '
+ Me.KopierenZwischenablageToolStripMenuItem.Enabled = False
+ Me.KopierenZwischenablageToolStripMenuItem.Name = "KopierenZwischenablageToolStripMenuItem"
+ Me.KopierenZwischenablageToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.KopierenZwischenablageToolStripMenuItem.Text = "Kopieren (Zwischenablage)"
+ '
+ 'AlsEMailSendenToolStripMenuItem
+ '
+ Me.AlsEMailSendenToolStripMenuItem.Enabled = False
+ Me.AlsEMailSendenToolStripMenuItem.Name = "AlsEMailSendenToolStripMenuItem"
+ Me.AlsEMailSendenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.AlsEMailSendenToolStripMenuItem.Text = "Als E-Mail senden"
+ '
+ 'ToolStripSeparator1
+ '
+ Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
+ Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6)
+ '
+ 'LöschenToolStripMenuItem
+ '
+ Me.LöschenToolStripMenuItem.Enabled = False
+ Me.LöschenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.del
+ Me.LöschenToolStripMenuItem.Name = "LöschenToolStripMenuItem"
+ Me.LöschenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.LöschenToolStripMenuItem.Text = "Löschen"
+ '
+ 'picPDF
+ '
+ Me.picPDF.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
+ Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.picPDF.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf_gray
+ Me.picPDF.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.picPDF.ContextMenuStrip = Me.cntxt
+ Me.picPDF.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.picPDF.Location = New System.Drawing.Point(0, 2)
+ Me.picPDF.Name = "picPDF"
+ Me.picPDF.Size = New System.Drawing.Size(29, 20)
+ Me.picPDF.TabIndex = 0
+ Me.picPDF.TabStop = False
+ '
+ 'cntxtMulti
+ '
+ Me.cntxtMulti.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.cntxtMulti.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem1, Me.ToolStripMenuItem2, Me.ArchivierenToolStripMenuItem})
+ Me.cntxtMulti.Name = "cntxt"
+ Me.cntxtMulti.Size = New System.Drawing.Size(181, 92)
+ '
+ 'ToolStripMenuItem1
+ '
+ Me.ToolStripMenuItem1.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.scanner
+ Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
+ Me.ToolStripMenuItem1.Size = New System.Drawing.Size(180, 22)
+ Me.ToolStripMenuItem1.Text = "+ Datei scannen..."
+ '
+ 'ToolStripMenuItem2
+ '
+ Me.ToolStripMenuItem2.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf
+ Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2"
+ Me.ToolStripMenuItem2.Size = New System.Drawing.Size(180, 22)
+ Me.ToolStripMenuItem2.Text = "+ Datei hochladen..."
+ '
+ 'ArchivierenToolStripMenuItem
+ '
+ Me.ArchivierenToolStripMenuItem.Name = "ArchivierenToolStripMenuItem"
+ Me.ArchivierenToolStripMenuItem.Size = New System.Drawing.Size(180, 22)
+ Me.ArchivierenToolStripMenuItem.Text = "Archivieren"
+ Me.ArchivierenToolStripMenuItem.Visible = False
+ '
+ 'usrcntlPDFScan
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
+ Me.BackColor = System.Drawing.Color.White
+ Me.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.ContextMenuStrip = Me.cntxt
+ Me.Controls.Add(Me.txt)
+ Me.Controls.Add(Me.picPDF)
+ Me.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.Name = "usrcntlPDFScan"
+ Me.Size = New System.Drawing.Size(163, 24)
+ Me.cntxt.ResumeLayout(False)
+ CType(Me.picPDF, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.cntxtMulti.ResumeLayout(False)
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents picPDF As System.Windows.Forms.PictureBox
+ Friend WithEvents txt As System.Windows.Forms.Label
+ Friend WithEvents cntxt As System.Windows.Forms.ContextMenuStrip
+ Friend WithEvents DateiScannenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents DateiHochladenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents LöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents cntxtMulti As System.Windows.Forms.ContextMenuStrip
+ Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents ToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents ToolStripSeparator2 As Windows.Forms.ToolStripSeparator
+ Friend WithEvents KopierenZwischenablageToolStripMenuItem As Windows.Forms.ToolStripMenuItem
+ Friend WithEvents AlsEMailSendenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
+ Friend WithEvents ToolStripSeparator1 As Windows.Forms.ToolStripSeparator
+ Friend WithEvents ArchivierenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.resx
new file mode 100644
index 0000000..68a6b38
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.resx
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+ 124, 17
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.vb
new file mode 100644
index 0000000..5d00355
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScan.vb
@@ -0,0 +1,420 @@
+Imports System.Windows.Forms
+Imports System.IO
+Imports Microsoft.Office.Interop
+
+Public Class usrcntlPDFScan
+ Public Property _TEXT_PDF As String
+ Public Property _DATENSERVER_KATEGORIE As String = "DOKUMENTE"
+ Public Property _DATENSERVER_ORDNER As String = ""
+ Public Property _DATENSERVER_UOrdner1 As String = ""
+ Public Property _DATENSERVER_UOrdner2 As String = ""
+ Public Property _DATENSERVER_UOrdner3 As String = ""
+ Public Property _MULTI_FILES As Boolean = False
+ Public Property _ARCHIV As Boolean = False
+
+ ' Public pdf_Path As String = ""
+ Dim KdNr As Integer = -1
+
+ 'Dim DATENSERVER As New cDATENSERVER
+ ' Public ScanID As Integer = -1
+ Public COLL_ID As Integer = -1
+ 'Dim DatenserverIDCollection As New cDatenserverIDCollectionList
+ Dim DS As VERAG_PROG_ALLGEMEIN.cDATENSERVER
+
+
+ Public Event FileAdded(id As String, path As String, name As String)
+
+ Private Sub usrcntlPDFScan_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
+ Me.txt.Text = _TEXT_PDF
+ End Sub
+
+
+ Public Sub INIT(KdNr)
+ Me.KdNr = KdNr
+ DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
+ initPdf()
+ End Sub
+
+
+ Public Sub INIT(KdNr, _DATENSERVER_UOrdner1)
+ Me.KdNr = KdNr
+ Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1
+ DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
+ initPdf()
+ End Sub
+
+ Public Sub INIT(KdNr, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2)
+ Me.KdNr = KdNr
+ Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1
+ Me._DATENSERVER_UOrdner2 = _DATENSERVER_UOrdner2
+ DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
+ initPdf()
+ End Sub
+
+ Public Sub INIT(KdNr, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3)
+ Me.KdNr = KdNr
+ Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1
+ Me._DATENSERVER_UOrdner2 = _DATENSERVER_UOrdner2
+ Me._DATENSERVER_UOrdner3 = _DATENSERVER_UOrdner3
+ DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
+ initPdf()
+ End Sub
+
+
+
+ Private Sub usrcntlPDFScan_Load(sender As Object, e As EventArgs) Handles Me.Load
+ Me.AllowDrop = True
+ Me.txt.Text = _TEXT_PDF
+ If _MULTI_FILES Then
+ Me.ContextMenuStrip = cntxtMulti
+ txt.ContextMenuStrip = cntxtMulti
+ picPDF.ContextMenuStrip = cntxtMulti
+ ' Else
+ ' If DatenserverIDCollection.Count > 0 Then
+ 'pdf_Path = DATENSERVER.getPathById(ScanID)
+ ' End If
+ End If
+
+
+ End Sub
+
+ Public Fill
+
+ ' Sub addId(id)
+ ' If id > 0 Then
+ ' ScanID = id
+ ' pdf_Path = DATENSERVER.getPathById(ScanID)
+ ' initPdf()
+ ' End If
+ ' End Sub
+ Sub initPdf()
+ If DS Is Nothing Then Exit Sub
+ txt.Name = _TEXT_PDF
+
+ If DS.DATA_LIST.LIST.Count > 0 Then
+ picPDF.Enabled = True
+ txt.Enabled = True
+ ' picScanner.Visible = False
+ picPDF.BackgroundImage = My.Resources.pdf
+ setCursorHand(Me)
+ setCursorHand(picPDF)
+ setCursorHand(txt)
+ ' del.Visible = True
+ If Not _MULTI_FILES Then LöschenToolStripMenuItem.Enabled = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Datenarchiv_DELETE", "SDL")
+ KopierenZwischenablageToolStripMenuItem.Enabled = True
+ AlsEMailSendenToolStripMenuItem.Enabled = True
+ Else
+ picPDF.Enabled = False
+ txt.Enabled = False
+ picPDF.BackgroundImage = My.Resources.pdf_gray
+ 'picScanner.Visible = True
+ setCursorDefalut(Me)
+ setCursorDefalut(picPDF)
+ setCursorDefalut(txt)
+ ' del.Visible = False
+ LöschenToolStripMenuItem.Enabled = False
+ KopierenZwischenablageToolStripMenuItem.Enabled = False
+ AlsEMailSendenToolStripMenuItem.Enabled = False
+ End If
+
+ ' ArchivierenToolStripMenuItem.Visible = If(DS.da_multifiles And DS.DATA_LIST.LIST.Count = 1, True, False)
+ End Sub
+
+ Sub setCursorHand(c As Control)
+ c.Cursor = Windows.Forms.Cursors.Hand
+ End Sub
+ Sub setCursorDefalut(c As Control)
+ c.Cursor = Windows.Forms.Cursors.Default
+ End Sub
+
+
+ Private Sub txt_Click(sender As Object, e As EventArgs) Handles txt.Click, Me.Click, picPDF.Click
+
+ Try
+
+ If DS.DATA_LIST.LIST.Count > 0 Then
+ If _MULTI_FILES Then 'And DS.DATA_LIST.LIST.Count > 1 Then
+ Dim list As New frmPDFScanList
+
+ showMulti(list)
+
+ list.Location = System.Windows.Forms.Cursor.Position
+ list.Show() 'Me.FindForm) 'Dialog() 's(Me.FindForm)
+ list.SetDesktopLocation(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y)
+ Else
+ 'Process.Start(DS.DATA_LIST.LIST(0).coll_pfad)
+ DS.OPEN_SINGLE(, True)
+ End If
+ End If
+
+ Catch ex As Exception
+ MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!")
+ End Try
+ End Sub
+ Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter ', txt.DragEnter, Me.DragEnter, picPDF.DragEnter
+ e.Effect = DragDropEffects.All
+ End Sub
+ Private Sub txt_Click(sender As Object, e As DragEventArgs) Handles Me.DragDrop ', txt.DragDrop, Me.DragDrop, picPDF.DragDrop
+ If e.Data.GetDataPresent("FileDrop", True) = True Then
+ Dim FileList As String() = CType(e.Data.GetData("FileDrop"), Object) 'Hier wird der Variable "Wert" das übergeben, was wir auf die Form gezogen haben. Bei einer Datei wäre es dann der Pfad der Datei.
+ If FileList.Count > 0 Then
+ If Not _MULTI_FILES And FileList.Count > 1 Then
+ MsgBox("Es können nicht mehrere Dateien hochgeladen werden!")
+ Exit Sub
+ End If
+ For Each W In FileList
+ If W.ToUpper.EndsWith(".PDF") Then
+ Try
+
+ Dim bezeichnung = System.IO.Path.GetFileName(W).ToString
+ DS.uploadDataToDATENSERVER(W, bezeichnung, ".pdf")
+
+ 'If DS.DATA_LIST.LIST.Count > 0 Then
+ ' Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
+ ' RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
+ 'End If
+ Catch ex As Exception
+ MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!" & ex.Message & ex.StackTrace)
+ End Try
+ End If
+ Next
+ initPdf()
+ End If
+ End If
+ End Sub
+
+
+ Sub showMulti(List As frmPDFScanList)
+ Try
+ List.listlOld.Visible = False
+ List.pnlOldHeader.Visible = False
+ List.FlowLayoutPanel.Controls.Clear()
+ List.listlOld.Controls.Clear()
+ Dim tmpHeight = 0
+ For Each i In DS.DATA_LIST.LIST
+ Dim u As New usrCntLPDFScanSimple(i.coll_id, i.coll_pfad, i.coll_bezeichnung, i.coll_archiv)
+ AddHandler u.CLICKED, Sub()
+ List.Close()
+ End Sub
+ AddHandler u.DELETE, Sub(coll_id, coll_bezeichnung)
+ If vbYes = MsgBox("Möchten Sie die Datei '" & coll_bezeichnung & "' wirklich löschen?!? Die Daten gehen unwiederruflich verloren.", vbYesNoCancel, "Löschen") Then
+ 'getListItemAT Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(id)
+ If Not DS.DELETE_LIST_POS(coll_id) Then
+ MsgBox("Fehler beim Löschen!")
+ End If
+
+ 'DatenserverIDCollection.DELETE(id)
+ ' For Each c In DatenserverIDCollection.LIST
+ ' If c.da_id = id Then
+ ' DatenserverIDCollection.Remove(c)
+ ' Exit For
+ ' End If
+ ' Next
+ initPdf()
+
+ List.Close()
+ End If
+ End Sub
+
+ AddHandler u.RENAME, Sub(coll_id, coll_bezeichnung)
+ Dim bez = InputBox("Bitte geben Sie eine neue Bezeichnung ein:", , coll_bezeichnung)
+ If bez <> "" Then
+ For Each ii In DS.DATA_LIST.LIST
+ If ii.coll_id = coll_id Then
+ ii.coll_bezeichnung = bez
+ ii.UPDATE()
+ showMulti(List)
+ initPdf()
+ Exit Sub
+ End If
+ Next
+ End If
+
+ End Sub
+ AddHandler u.ARCHIV, Sub(coll_id, coll_bezeichnung)
+ For Each ii In DS.DATA_LIST.LIST
+ If ii.coll_id = coll_id Then
+ ii.coll_archiv = Not ii.coll_archiv
+ ii.UPDATE()
+ showMulti(List)
+ List.PerformLayout() 'IRGENDWIE NEU LAYOUTEN()
+ initPdf()
+ Exit Sub
+ End If
+ Next
+ End Sub
+
+ AddHandler u.CLIPBOARD, Sub(coll_id, coll_bezeichnung)
+ For Each ii In DS.DATA_LIST.LIST
+ If ii.coll_id = coll_id Then
+ 'Zwischenablage
+ Dim f() As String = {VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung)}
+ Dim d As New DataObject(DataFormats.FileDrop, f)
+ Clipboard.SetDataObject(d, True)
+ Exit Sub
+ End If
+ Next
+ List.Close()
+ End Sub
+
+
+ AddHandler u.OPEN_MAIL, Sub(coll_id, coll_bezeichnung)
+ For Each ii In DS.DATA_LIST.LIST
+ If ii.coll_id = coll_id Then
+ 'Mail
+ Try
+ Dim outl As New Outlook.Application
+ Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
+ Mail = outl.CreateItem(0)
+ Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue,, ii.coll_bezeichnung & ".pdf")
+ Mail.Display()
+ Catch ex As Exception
+ MsgBox("Fehler beim Öffnen der Mail!")
+ End Try
+ End If
+ List.Close()
+ Next
+ End Sub
+
+ If _ARCHIV And i.coll_archiv Then
+ List.listlOld.Controls.Add(u)
+ List.listlOld.Visible = True
+ tmpHeight += 23
+ List.pnlOldHeader.Visible = True
+ Else
+ List.FlowLayoutPanel.Controls.Add(u)
+ End If
+ Next
+ List.listlOld.MinimumSize = (New Drawing.Size(List.listlOld.Width, tmpHeight))
+ Catch ex As Exception
+ MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!")
+ End Try
+ End Sub
+ ' Private Sub toolScannen_Click(sender As Object, e As EventArgs) Handles toolScannen.Click
+ ' Process.Start(pdf_Path)
+
+ ' End Sub
+
+
+ Private Sub DateiScannenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiScannenToolStripMenuItem.Click, ToolStripMenuItem1.Click
+ Try
+ If KdNr < 0 Then Exit Sub
+ Dim frmScan As New VERAG_PROG_ALLGEMEIN.frmScan("DirectScan")
+ frmScan.DefaultFileName = Me._TEXT_PDF
+
+ If frmScan.ShowDialog(Me) = DialogResult.OK Then
+ If frmScan.ReturnValue IsNot Nothing Then
+ Dim Filename = _TEXT_PDF
+ If frmScan.fileName <> "" Then Filename = frmScan.fileName
+ ' If _MULTI_FILES Then Filename &= Now.ToString("_ddMMyyyy_HHmmss")
+ 'Dim path = DATENSERVER.uploadDataToDATENSERVER_fromBytes(frmScan.ReturnValue, "DOKUMENTE", _DATENSERVER_ORDNER, KdNr, Filename, ".pdf")
+ If DS.uploadDataToDATENSERVER_fromBytes(frmScan.ReturnValue, Filename, ".pdf") Then
+ If DS.DATA_LIST.LIST.Count > 0 Then
+ Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
+ RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
+ End If
+ End If
+
+
+ ' Me.ScanID = DATENSERVER.LAST_ID
+ ' Dim file As New FileInfo(frmScan.ReturnValue)
+ 'If file.Exists Then
+ ' Me.pdf_Path = path
+ 'DS.DATA_LIST.ADD(Path, VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath( Filename,"")
+
+
+ 'End If
+ End If
+ End If
+ initPdf()
+ Catch ex As Exception
+ MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!")
+ End Try
+ End Sub
+
+ Private Sub DateiHochladenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiHochladenToolStripMenuItem.Click, ToolStripMenuItem2.Click
+ Try
+ If _MULTI_FILES Then
+ If DS.uploadDataToDATENSERVERFileDialog_MULTI(, ".pdf", , "PDF") Then
+ initPdf()
+ End If
+ Else
+ If DS.uploadDataToDATENSERVERFileDialog(, ".pdf", , "PDF") Then
+ If DS.DATA_LIST.LIST.Count > 0 Then
+ Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
+ RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
+ End If
+ End If
+ initPdf()
+ End If
+
+ Catch ex As Exception
+ MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!" & ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+
+ Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click 'NUR WENN MULTI = FALSE
+ If vbYes = MsgBox("Möchten Sie die Datei wirklich löschen? Die Daten gehen unwiederruflich verloren.", vbYesNoCancel, "Löschen") Then
+ DS.DELETE_COMPLETE()
+ '''DATENSERVER.deleteFileByDatenarchivId(DatenserverIDCollection(0).da_id)
+ 'DatenserverIDCollection.DELETE(DatenserverIDCollection.LIST(0).coll_daId)
+ ''' DatenserverIDCollection.Clear()
+ initPdf()
+ End If
+ End Sub
+
+ Private Sub usrcntlPDFScan_MouseHover(sender As Object, e As EventArgs) Handles Me.MouseEnter, txt.MouseEnter, picPDF.MouseEnter
+ Try
+ If DS.DATA_LIST.LIST.Count > 0 Then Me.BackColor = Drawing.Color.LightGray
+ Catch ex As Exception
+
+ End Try
+ End Sub
+ Private Sub usrcntlPDFScan_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave, txt.MouseLeave, picPDF.MouseLeave
+ Try
+ If Me.BackColor <> Drawing.Color.White Then Me.BackColor = Drawing.Color.White
+ Catch ex As Exception
+
+ End Try
+
+ End Sub
+
+ Private Sub KopierenZwischenablageToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KopierenZwischenablageToolStripMenuItem.Click
+ Try
+ If DS.DATA_LIST.LIST.Count > 0 Then
+ Dim f() As String = {VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(DS.DATA_LIST.LIST(0).coll_pfad, DS.DATA_LIST.LIST(0).coll_bezeichnung)}
+ Dim d As New DataObject(DataFormats.FileDrop, f)
+ Clipboard.SetDataObject(d, True)
+ End If
+ Catch ex As Exception
+ MsgBox("Fehler beim Laden der Daten!")
+ End Try
+ End Sub
+
+ Private Sub AlsEMailSendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlsEMailSendenToolStripMenuItem.Click
+ Try
+ If DS.DATA_LIST.LIST.Count > 0 Then
+ Dim outl As New Outlook.Application
+ Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
+ Mail = outl.CreateItem(0)
+ Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(DS.DATA_LIST.LIST(0).coll_pfad, DS.DATA_LIST.LIST(0).coll_bezeichnung), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
+ Mail.Display()
+ End If
+ Catch ex As Exception
+ MsgBox("Fehler beim Öffnen der Mail!")
+ End Try
+ End Sub
+
+ 'Private Sub ArchivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ArchivierenToolStripMenuItem.Click
+ ' Try
+ ' If DS.DATA_LIST.LIST.Count > 0 Then
+ ' DS.DATA_LIST.LIST(0).coll_archiv = Not DS.DATA_LIST.LIST(0).coll_archiv
+ ' DS.DATA_LIST.LIST(0).UPDATE()
+ ' initPdf()
+ ' Exit Sub
+ ' End If
+ ' Catch ex As Exception
+ ' MsgBox("Fehler beim Archivieren!")
+ ' End Try
+ 'End Sub
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.Designer.vb
new file mode 100644
index 0000000..5d2f405
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.Designer.vb
@@ -0,0 +1,155 @@
+ _
+Partial Class usrcntlPDFScanList
+ Inherits System.Windows.Forms.UserControl
+
+ 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Me.cntxtMulti = New System.Windows.Forms.ContextMenuStrip(Me.components)
+ Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
+ Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem()
+ Me.picAdd = New System.Windows.Forms.PictureBox()
+ Me.MyListBox1 = New VERAG_PROG_ALLGEMEIN.MyListBox()
+ Me.UmbenennenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.KopierenZwischenablageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.AlsEmailSendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
+ Me.LöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.cntxt = New System.Windows.Forms.ContextMenuStrip(Me.components)
+ Me.cntxtMulti.SuspendLayout()
+ CType(Me.picAdd, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.cntxt.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'cntxtMulti
+ '
+ Me.cntxtMulti.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.cntxtMulti.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem1, Me.ToolStripMenuItem2})
+ Me.cntxtMulti.Name = "cntxt"
+ Me.cntxtMulti.Size = New System.Drawing.Size(181, 48)
+ '
+ 'ToolStripMenuItem1
+ '
+ Me.ToolStripMenuItem1.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.scanner
+ Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
+ Me.ToolStripMenuItem1.Size = New System.Drawing.Size(180, 22)
+ Me.ToolStripMenuItem1.Text = "+ Datei scannen..."
+ '
+ 'ToolStripMenuItem2
+ '
+ Me.ToolStripMenuItem2.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.pdf
+ Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2"
+ Me.ToolStripMenuItem2.Size = New System.Drawing.Size(180, 22)
+ Me.ToolStripMenuItem2.Text = "+ Datei hochladen..."
+ '
+ 'picAdd
+ '
+ Me.picAdd.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.plus
+ Me.picAdd.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.picAdd.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.picAdd.Location = New System.Drawing.Point(96, 0)
+ Me.picAdd.Name = "picAdd"
+ Me.picAdd.Size = New System.Drawing.Size(23, 17)
+ Me.picAdd.TabIndex = 3
+ Me.picAdd.TabStop = False
+ '
+ 'MyListBox1
+ '
+ Me.MyListBox1._value = ""
+ Me.MyListBox1.Cursor = System.Windows.Forms.Cursors.Default
+ Me.MyListBox1.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.MyListBox1.FormattingEnabled = True
+ Me.MyListBox1.Location = New System.Drawing.Point(0, 0)
+ Me.MyListBox1.Margin = New System.Windows.Forms.Padding(0)
+ Me.MyListBox1.Name = "MyListBox1"
+ Me.MyListBox1.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended
+ Me.MyListBox1.Size = New System.Drawing.Size(118, 64)
+ Me.MyListBox1.TabIndex = 4
+ '
+ 'UmbenennenToolStripMenuItem
+ '
+ Me.UmbenennenToolStripMenuItem.Name = "UmbenennenToolStripMenuItem"
+ Me.UmbenennenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.UmbenennenToolStripMenuItem.Text = "Umbenennen"
+ '
+ 'KopierenZwischenablageToolStripMenuItem
+ '
+ Me.KopierenZwischenablageToolStripMenuItem.Name = "KopierenZwischenablageToolStripMenuItem"
+ Me.KopierenZwischenablageToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.KopierenZwischenablageToolStripMenuItem.Text = "Kopieren (Zwischenablage)"
+ '
+ 'AlsEmailSendenToolStripMenuItem
+ '
+ Me.AlsEmailSendenToolStripMenuItem.Name = "AlsEmailSendenToolStripMenuItem"
+ Me.AlsEmailSendenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.AlsEmailSendenToolStripMenuItem.Text = "Als Email senden"
+ '
+ 'ToolStripSeparator1
+ '
+ Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
+ Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6)
+ '
+ 'LöschenToolStripMenuItem
+ '
+ Me.LöschenToolStripMenuItem.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.del
+ Me.LöschenToolStripMenuItem.Name = "LöschenToolStripMenuItem"
+ Me.LöschenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
+ Me.LöschenToolStripMenuItem.Text = "Löschen"
+ '
+ 'cntxt
+ '
+ Me.cntxt.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.cntxt.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UmbenennenToolStripMenuItem, Me.LöschenToolStripMenuItem, Me.ToolStripSeparator1, Me.KopierenZwischenablageToolStripMenuItem, Me.AlsEmailSendenToolStripMenuItem})
+ Me.cntxt.Name = "cntxt"
+ Me.cntxt.Size = New System.Drawing.Size(218, 120)
+ '
+ 'usrcntlPDFScanList
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
+ Me.BackColor = System.Drawing.Color.White
+ Me.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.ContextMenuStrip = Me.cntxtMulti
+ Me.Controls.Add(Me.picAdd)
+ Me.Controls.Add(Me.MyListBox1)
+ Me.Cursor = System.Windows.Forms.Cursors.Default
+ Me.Margin = New System.Windows.Forms.Padding(0)
+ Me.Name = "usrcntlPDFScanList"
+ Me.Size = New System.Drawing.Size(118, 64)
+ Me.cntxtMulti.ResumeLayout(False)
+ CType(Me.picAdd, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.cntxt.ResumeLayout(False)
+ Me.ResumeLayout(False)
+
+ End Sub
+ Friend WithEvents cntxtMulti As System.Windows.Forms.ContextMenuStrip
+ Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents ToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents picAdd As System.Windows.Forms.PictureBox
+ Public WithEvents MyListBox1 As MyListBox
+ Friend WithEvents UmbenennenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
+ Friend WithEvents KopierenZwischenablageToolStripMenuItem As Windows.Forms.ToolStripMenuItem
+ Friend WithEvents AlsEmailSendenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
+ Friend WithEvents ToolStripSeparator1 As Windows.Forms.ToolStripSeparator
+ Friend WithEvents LöschenToolStripMenuItem As Windows.Forms.ToolStripMenuItem
+ Friend WithEvents cntxt As Windows.Forms.ContextMenuStrip
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.resx
new file mode 100644
index 0000000..cfdc3dc
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.resx
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 129, 18
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.vb
new file mode 100644
index 0000000..e4059ae
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlPDFScanList.vb
@@ -0,0 +1,361 @@
+Imports System.Windows.Forms
+Imports System.IO
+Imports Microsoft.Office.Interop
+
+Public Class usrcntlPDFScanList
+ Public Property _DATENSERVER_KATEGORIE As String = "DOKUMENTE"
+ Public Property _DATENSERVER_ORDNER As String = ""
+ Public Property _DATENSERVER_UOrdner1 As String = ""
+ Public Property _DATENSERVER_UOrdner2 As String = ""
+ Public Property _DATENSERVER_UOrdner3 As String = ""
+ Public Property _OPEN_ORIGINAL As Boolean = False
+
+ Private Property _TEXT_PDF As String = "SONSTIGE"
+ Private Property _MULTI_FILES As Boolean = True
+
+ Public Property _TYPE As String = "PDF"
+ ' Public pdf_Path As String = ""
+ Dim KdNr As Integer = -1
+
+ 'Dim DATENSERVER As New cDATENSERVER
+ ' Public ScanID As Integer = -1
+ Public COLL_ID As Integer = -1
+ 'Dim DatenserverIDCollection As New cDatenserverIDCollectionList
+ Public DS As VERAG_PROG_ALLGEMEIN.cDATENSERVER
+
+
+ Public Event FileAdded(id As String, path As String, name As String)
+
+ Private Sub usrcntlPDFScan_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
+ ' Me.txt.Text = _TEXT_PDF
+ Me.MyListBox1.Dock = DockStyle.Fill
+ End Sub
+
+ Public Sub INIT(KdNr)
+ Me.KdNr = KdNr
+ DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
+ initPdf()
+ End Sub
+
+
+ Public Sub INIT(KdNr, _DATENSERVER_UOrdner1)
+ Me.KdNr = KdNr
+ Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1
+ DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
+ initPdf()
+ End Sub
+
+ Public Sub INIT(KdNr, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2)
+ Me.KdNr = KdNr
+ Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1
+ Me._DATENSERVER_UOrdner2 = _DATENSERVER_UOrdner2
+ DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
+ initPdf()
+ End Sub
+
+ Public Sub INIT(KdNr, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3)
+ Me.KdNr = KdNr
+ Me._DATENSERVER_UOrdner1 = _DATENSERVER_UOrdner1
+ Me._DATENSERVER_UOrdner2 = _DATENSERVER_UOrdner2
+ Me._DATENSERVER_UOrdner3 = _DATENSERVER_UOrdner3
+ DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", _DATENSERVER_ORDNER, _DATENSERVER_UOrdner1, _DATENSERVER_UOrdner2, _DATENSERVER_UOrdner3, _TEXT_PDF, KdNr, _MULTI_FILES)
+ initPdf()
+ End Sub
+
+
+ Private Sub usrcntlPDFScan_Load(sender As Object, e As EventArgs) Handles Me.Load
+ ' Me.txt.Text = _TEXT_PDF
+ Me.AllowDrop = True
+ picAdd.ContextMenuStrip = cntxtMulti
+ MyListBox1.ContextMenuStrip = cntxt
+ ' Else
+ ' If DatenserverIDCollection.Count > 0 Then
+ 'pdf_Path = DATENSERVER.getPathById(ScanID)
+
+ picAdd.Left = Me.Width - picAdd.Width - 2
+ picAdd.Top = Me.Height - picAdd.Height - 2
+ End Sub
+
+ Public Fill
+
+ ' Sub addId(id)
+ ' If id > 0 Then
+ ' ScanID = id
+ ' pdf_Path = DATENSERVER.getPathById(ScanID)
+ ' initPdf()
+ ' End If
+ ' End Sub
+ Public Sub initPdf()
+ MyListBox1.Items.Clear()
+
+ KopierenZwischenablageToolStripMenuItem.Enabled = False
+ AlsEmailSendenToolStripMenuItem.Enabled = False
+ UmbenennenToolStripMenuItem.Enabled = False
+
+ If DS.DATA_LIST.LIST.Count > 0 Then
+ For Each i In DS.DATA_LIST.LIST
+ MyListBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(i.coll_bezeichnung, i.coll_id))
+ Next
+ KopierenZwischenablageToolStripMenuItem.Enabled = True
+ AlsEmailSendenToolStripMenuItem.Enabled = True
+ UmbenennenToolStripMenuItem.Enabled = True
+
+ LöschenToolStripMenuItem.Enabled = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Datenarchiv_DELETE", "SDL")
+ End If
+
+ End Sub
+
+
+
+
+
+ ' Private Sub toolScannen_Click(sender As Object, e As EventArgs) Handles toolScannen.Click
+ ' Process.Start(pdf_Path)
+
+ ' End Sub
+
+
+ Private Sub DateiScannenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click
+ If KdNr < 0 Then Exit Sub
+ Dim frmScan As New VERAG_PROG_ALLGEMEIN.frmScan("DirectScan")
+ frmScan.DefaultFileName = Me._TEXT_PDF
+ If frmScan.ShowDialog(Me) = DialogResult.OK Then
+ If frmScan.ReturnValue IsNot Nothing Then
+ Dim Filename = _TEXT_PDF
+ If frmScan.fileName <> "" Then Filename = frmScan.fileName
+ ' If _MULTI_FILES Then Filename &= Now.ToString("_ddMMyyyy_HHmmss")
+ 'Dim path = DATENSERVER.uploadDataToDATENSERVER_fromBytes(frmScan.ReturnValue, "DOKUMENTE", _DATENSERVER_ORDNER, KdNr, Filename, ".pdf")
+ If DS.uploadDataToDATENSERVER_fromBytes(frmScan.ReturnValue, Filename, ".pdf") Then
+ If DS.DATA_LIST.LIST.Count > 0 Then
+ Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
+ RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
+ End If
+ End If
+
+
+ ' Me.ScanID = DATENSERVER.LAST_ID
+ ' Dim file As New FileInfo(frmScan.ReturnValue)
+ 'If file.Exists Then
+ ' Me.pdf_Path = path
+ 'DS.DATA_LIST.ADD(Path, VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath( Filename,"")
+
+
+ 'End If
+ End If
+ End If
+ initPdf()
+ End Sub
+
+ Private Sub DateiHochladenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem2.Click
+ If DS.uploadDataToDATENSERVERFileDialog_MULTI(, , , _TYPE) Then
+ initPdf()
+ End If
+ 'If DS.uploadDataToDATENSERVERFileDialog(, ".pdf", , "PDF") <> "" Then
+ ' If DS.DATA_LIST.LIST.Count > 0 Then
+ ' Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
+ ' RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
+ ' End If
+ 'End If
+
+ 'initPdf()
+
+ ' Dim fd As New OpenFileDialog
+ ' fd.Filter = "PDF|*.PDF"
+ ' fd.DefaultExt = "pdf"
+ ' If fd.ShowDialog() = DialogResult.OK Then
+ 'Dim Filename = _TEXT_PDF
+ ' If _MULTI_FILES Then Filename &= Now.ToString("_ddMMyyyy_HHmmss")
+ ' Dim path = DATENSERVER.uploadDataToDATENSERVER(fd.FileName, "DOKUMENTE", _DATENSERVER_ORDNER, KdNr, Filename, ".pdf")
+ ' DatenserverIDCollection.ADD(DATENSERVER.LAST_ID, path, Filename)
+ ' RaiseEvent FileAdded(DATENSERVER.LAST_ID, path, Filename)
+ ' End If
+ End Sub
+
+ Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click 'NUR WENN MULTI = FALSE
+ Try
+ If vbYes = MsgBox("Möchten Sie die '" & MyListBox1.SelectedItems.Count & "' selektierte(n) Datei(en) wirklich löschen? Die Daten gehen unwiederruflich verloren.", vbYesNoCancel, "Löschen") Then
+ For Each SI In MyListBox1.SelectedItems
+ Dim DelItem As VERAG_PROG_ALLGEMEIN.MyListItem = DirectCast(SI, VERAG_PROG_ALLGEMEIN.MyListItem)
+ DS.DELETE_LIST_POS(DelItem.Value)
+ Next
+ If DS.DATA_LIST.LIST.Count = 0 Then
+ DS.DELETE_COMPLETE()
+ End If
+ initPdf()
+ End If
+ Catch ex As Exception
+ MsgBox(ex.Message)
+ End Try
+ End Sub
+
+ Private Sub picAdd_Click(sender As Object, e As EventArgs) Handles picAdd.Click
+ cntxtMulti.Show(Windows.Forms.Cursor.Position)
+ End Sub
+
+ Private Sub MyListBox1_DoubleClick(sender As Object, e As EventArgs) Handles MyListBox1.DoubleClick
+ Try
+ If _OPEN_ORIGINAL Then
+ Dim collId = DirectCast(MyListBox1.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value
+ For Each i In DS.DATA_LIST.LIST
+ If i.coll_id = collId Then
+ Process.Start(i.coll_pfad)
+ Exit Sub
+ End If
+ Next
+ Else
+ DS.OPEN(DirectCast(MyListBox1.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value,, True)
+ End If
+
+
+ ' VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung)
+
+ Catch ex As Exception
+ MsgBox("Fehler beim Öffnen!")
+ End Try
+ End Sub
+
+ Private Sub MyListBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles MyListBox1.MouseClick
+ If e.Button = Windows.Forms.MouseButtons.Right Then
+ Dim i = MyListBox1.IndexFromPoint(e.X, e.Y)
+ If i > 0 Then
+ MyListBox1.SelectedIndex = i
+ If MyListBox1.SelectedItems.Count > 0 Then cntxt.Show(Windows.Forms.Cursor.Position)
+ Else
+ cntxt.Hide()
+ End If
+ End If
+ End Sub
+
+ Private Sub UmbenennenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UmbenennenToolStripMenuItem.Click
+ Try
+ If MyListBox1.SelectedItems.Count = 1 Then
+ Dim item As MyListItem = DirectCast(MyListBox1.SelectedItems(0), MyListItem)
+ Dim bez = InputBox("Bitte geben Sie eine neue Bezeichnung ein:", , item.Text)
+ If bez <> "" Then
+ For Each i In DS.DATA_LIST.LIST
+ If i.coll_id = item.Value Then
+ i.coll_bezeichnung = bez
+ i.UPDATE()
+ initPdf()
+ Exit Sub
+ End If
+ Next
+ End If
+ End If
+ Catch ex As Exception
+ MsgBox(ex.Message)
+ End Try
+ End Sub
+
+ Dim fired = False
+ Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
+ Try
+ If keyData = (Keys.Control Or Keys.C) Then
+ KopierenZwischenablageToolStripMenuItem_Click(KopierenZwischenablageToolStripMenuItem, New EventArgs)
+ End If
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ Return False
+ End Function
+
+ Private Sub KopierenZwischenablageToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KopierenZwischenablageToolStripMenuItem.Click
+ Try
+ VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.clearTMPPath("ClipBoard_TMP")
+ Dim f(MyListBox1.SelectedItems.Count - 1) As String
+ Dim cnt = 0
+ If MyListBox1.SelectedItems.Count >= 1 Then
+ For Each SI In MyListBox1.SelectedItems
+ Dim item As MyListItem = DirectCast(SI, MyListItem) 'DirectCast(MyListBox1.SelectedItems(0), MyListItem)
+ For Each ii In DS.DATA_LIST.LIST
+ If ii.coll_id = item.Value Then
+ 'Dim f() As String = {ii.coll_pfad}
+ If ii.coll_pfad <> "" Then
+ f(cnt) = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung)
+ cnt += 1
+ 'Exit For
+ End If
+ End If
+ Next
+ Next
+ 'Zwischenablage
+ Clipboard.Clear()
+ Dim d As New DataObject(DataFormats.FileDrop, f)
+ Clipboard.SetDataObject(d, True)
+ Exit Sub
+ End If
+ Catch ex As Exception
+ MsgBox("Fehler beim Laden der Daten!")
+ End Try
+ End Sub
+
+
+ Private Sub AlsEmailSendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlsEmailSendenToolStripMenuItem.Click
+ Try
+ VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.clearTMPPath("ClipBoard_TMP")
+ If MyListBox1.SelectedItems.Count >= 1 Then
+ Try
+ Dim outl As New Outlook.Application
+ Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
+ Mail = outl.CreateItem(0)
+
+ For Each SI In MyListBox1.SelectedItems
+ Dim item As MyListItem = DirectCast(SI, MyListItem) 'DirectCast(MyListBox1.SelectedItems(0), MyListItem)
+ For Each ii In DS.DATA_LIST.LIST
+ If ii.coll_id = item.Value Then
+ If ii.coll_pfad <> "" Then
+ Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.copyToTmp_KeepFilename(ii.coll_pfad, ii.coll_bezeichnung), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
+ End If
+ End If
+ Next
+ Next
+
+ Mail.Display()
+ Catch ex As Exception
+ MsgBox("Fehler beim Öffnen der Mail!")
+ End Try
+ End If
+ Catch ex As Exception
+ MsgBox("Fehler beim Öffnen der Mail!")
+ End Try
+ End Sub
+
+
+
+ Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter ', txt.DragEnter, Me.DragEnter, picPDF.DragEnter
+ e.Effect = DragDropEffects.All
+ End Sub
+ Private Sub txt_Click(sender As Object, e As DragEventArgs) Handles Me.DragDrop ', txt.DragDrop, Me.DragDrop, picPDF.DragDrop
+ If e.Data.GetDataPresent("FileDrop", True) = True Then
+ Dim FileList As String() = CType(e.Data.GetData("FileDrop"), Object) 'Hier wird der Variable "Wert" das übergeben, was wir auf die Form gezogen haben. Bei einer Datei wäre es dann der Pfad der Datei.
+ If FileList.Count > 0 Then
+ If Not _MULTI_FILES And FileList.Count > 1 Then
+ MsgBox("Es können nicht mehrere Dateien hochgeladen werden!")
+ Exit Sub
+ End If
+ For Each W In FileList
+ If W.ToUpper.EndsWith(".PDF") Then
+ Try
+ Dim bezeichnung = System.IO.Path.GetFileName(W).ToString
+ DS.uploadDataToDATENSERVER(W, bezeichnung, ".pdf")
+ 'Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
+ 'RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
+ 'If DS.DATA_LIST.LIST.Count > 0 Then
+ ' Dim l As VERAG_PROG_ALLGEMEIN.cDatenarchiv_Collection = DS.DATA_LIST.LIST(DS.DATA_LIST.LIST.Count - 1)
+ ' RaiseEvent FileAdded(l.coll_id, l.coll_pfad, l.coll_bezeichnung)
+ 'End If
+ Catch ex As Exception
+ MsgBox("FEHLER: UserControl möglicherweise nicht initialisiert!" & ex.Message & ex.StackTrace)
+ End Try
+ End If
+ Next
+ initPdf()
+ End If
+ End If
+ End Sub
+
+ Private Sub cntxt_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles cntxt.Opening
+ UmbenennenToolStripMenuItem.Visible = (MyListBox1.SelectedItems.Count = 1)
+ End Sub
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.Designer.vb
new file mode 100644
index 0000000..ac6d4a1
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.Designer.vb
@@ -0,0 +1,104 @@
+ _
+Partial Class usrcntlSearch
+ Inherits System.Windows.Forms.UserControl
+
+ 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.dgvKundenAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
+ Me.pnl = New System.Windows.Forms.Panel()
+ Me.DirectoryEntry1 = New System.DirectoryServices.DirectoryEntry()
+ Me.lblClose = New System.Windows.Forms.Label()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.pnl.SuspendLayout()
+ Me.Panel1.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'dgvKundenAktiv
+ '
+ Me.dgvKundenAktiv.AKTUALISIERUNGS_INTERVALL = -1
+ Me.dgvKundenAktiv.BackgroundColor = System.Drawing.Color.White
+ Me.dgvKundenAktiv.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
+ Me.dgvKundenAktiv.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.dgvKundenAktiv.Location = New System.Drawing.Point(0, 0)
+ Me.dgvKundenAktiv.Name = "dgvKundenAktiv"
+ Me.dgvKundenAktiv.Size = New System.Drawing.Size(564, 358)
+ Me.dgvKundenAktiv.TabIndex = 0
+ '
+ 'pnl
+ '
+ Me.pnl.AutoSize = True
+ Me.pnl.BackColor = System.Drawing.Color.White
+ Me.pnl.Controls.Add(Me.dgvKundenAktiv)
+ Me.pnl.Controls.Add(Me.Panel1)
+ Me.pnl.Location = New System.Drawing.Point(2, 3)
+ Me.pnl.Name = "pnl"
+ Me.pnl.Size = New System.Drawing.Size(564, 374)
+ Me.pnl.TabIndex = 1
+ '
+ 'lblClose
+ '
+ Me.lblClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.lblClose.AutoSize = True
+ Me.lblClose.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.lblClose.Font = New System.Drawing.Font("Arial Black", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblClose.ForeColor = System.Drawing.Color.Red
+ Me.lblClose.Location = New System.Drawing.Point(542, -5)
+ Me.lblClose.Margin = New System.Windows.Forms.Padding(0)
+ Me.lblClose.Name = "lblClose"
+ Me.lblClose.Size = New System.Drawing.Size(22, 23)
+ Me.lblClose.TabIndex = 17
+ Me.lblClose.Text = "X"
+ '
+ 'Panel1
+ '
+ Me.Panel1.BackColor = System.Drawing.SystemColors.InactiveCaption
+ Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.Panel1.Controls.Add(Me.lblClose)
+ Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.Panel1.Location = New System.Drawing.Point(0, 358)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(564, 16)
+ Me.Panel1.TabIndex = 3
+ '
+ 'usrcntlSearch
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.SystemColors.MenuHighlight
+ Me.Controls.Add(Me.pnl)
+ Me.Name = "usrcntlSearch"
+ Me.Size = New System.Drawing.Size(570, 380)
+ CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.pnl.ResumeLayout(False)
+ Me.Panel1.ResumeLayout(False)
+ Me.Panel1.PerformLayout()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents pnl As System.Windows.Forms.Panel
+ Public WithEvents dgvKundenAktiv As MyDatagridview
+ Friend WithEvents DirectoryEntry1 As System.DirectoryServices.DirectoryEntry
+ Friend WithEvents Panel1 As System.Windows.Forms.Panel
+ Public WithEvents lblClose As System.Windows.Forms.Label
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.resx
new file mode 100644
index 0000000..c4fb810
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.vb
new file mode 100644
index 0000000..af72cdc
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlSearch.vb
@@ -0,0 +1,37 @@
+Imports System.Windows.Forms
+Imports System.Drawing
+
+Public Class usrcntlSearch
+ Public Event DGV_Click(sender As Object, e As EventArgs)
+ Public Event DGV_KeyDown(sender As Object, e As KeyEventArgs)
+ Public Event CLOSE(sender As Object, e As EventArgs)
+
+ Private Sub dgvKundenAktiv_Click(sender As Object, e As EventArgs) Handles dgvKundenAktiv.Click
+ RaiseEvent DGV_Click(sender, e)
+
+ End Sub
+
+
+ Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles dgvKundenAktiv.KeyDown
+ RaiseEvent DGV_KeyDown(sender, e)
+ End Sub
+
+
+ Private Sub usrcntlKdSearch_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
+ Me.pnl.Location = New Point(2, 2)
+ Me.pnl.Size = New Size(Me.Width - 4, Me.Height - 4)
+ End Sub
+
+ Private Sub lblClose_Click(sender As Object, e As EventArgs) Handles lblClose.Click
+ RaiseEvent CLOSE(sender, e)
+ End Sub
+
+ Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
+ Try
+ MyBase.OnPaint(e)
+ Catch ex As Exception
+ Me.Invalidate()
+ End Try
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.Designer.vb
new file mode 100644
index 0000000..899a1d6
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.Designer.vb
@@ -0,0 +1,67 @@
+ _
+Partial Class usrcntlUnterposEntry
+ Inherits System.Windows.Forms.UserControl
+
+ 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.txtAnzahl = New VERAG_PROG_ALLGEMEIN.MyTextBox()
+ Me.lblBezeichnung = New System.Windows.Forms.Label()
+ Me.SuspendLayout()
+ '
+ 'txtAnzahl
+ '
+ Me.txtAnzahl._numbersOnly = True
+ Me.txtAnzahl._Prozent = False
+ Me.txtAnzahl._ShortDateNew = False
+ Me.txtAnzahl._TimeOnly = False
+ Me.txtAnzahl._value = Nothing
+ Me.txtAnzahl._Waehrung = False
+ Me.txtAnzahl.Location = New System.Drawing.Point(3, 0)
+ Me.txtAnzahl.MaxLength = 2
+ Me.txtAnzahl.Name = "txtAnzahl"
+ Me.txtAnzahl.Size = New System.Drawing.Size(28, 20)
+ Me.txtAnzahl.TabIndex = 106
+ '
+ 'lblBezeichnung
+ '
+ Me.lblBezeichnung.AutoSize = True
+ Me.lblBezeichnung.Location = New System.Drawing.Point(37, 3)
+ Me.lblBezeichnung.Name = "lblBezeichnung"
+ Me.lblBezeichnung.Size = New System.Drawing.Size(28, 13)
+ Me.lblBezeichnung.TabIndex = 107
+ Me.lblBezeichnung.Text = "TXT"
+ '
+ 'usrcntlUnterposEntry
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.Controls.Add(Me.txtAnzahl)
+ Me.Controls.Add(Me.lblBezeichnung)
+ Me.Name = "usrcntlUnterposEntry"
+ Me.Size = New System.Drawing.Size(200, 20)
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Public WithEvents txtAnzahl As VERAG_PROG_ALLGEMEIN.MyTextBox
+ Public WithEvents lblBezeichnung As System.Windows.Forms.Label
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.resx b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.vb b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.vb
new file mode 100644
index 0000000..911ff56
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlUnterposEntry.vb
@@ -0,0 +1,15 @@
+Public Class usrcntlUnterposEntry
+ ' Property AbfertigungsartNr = -1
+ Property UnterPosArt = -1
+
+ Property Anzahl = 0
+
+ Private Sub txtAnzahl_LostFocus(sender As Object, e As EventArgs) Handles txtAnzahl.LostFocus
+ If IsNumeric(sender.text) Then
+ Anzahl = CInt(sender.text)
+ Else
+ Anzahl = 0
+ sender.text = 0
+ End If
+ End Sub
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtignunen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtignunen.vb
new file mode 100644
index 0000000..c50082f
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtignunen.vb
@@ -0,0 +1,115 @@
+Public Class cBerechtignunen
+
+
+
+ Shared BER_LIST As New cBerechtigungsObjekte_List 'NEW = Laden
+
+ ' Sub initBER()
+ ' BER_LIST = New cBerechtigungsObjekte_List
+ ' End Sub
+
+ Public Shared Function CHECK_BERECHTIGUNG(Form_Berechtigung As System.Windows.Forms.Form) As Integer ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object
+ Return CHECK_BERECHTIGUNG(Form_Berechtigung.Name, Form_Berechtigung.GetType.Module.Name.Replace(".exe", ""))
+ End Function
+
+
+ Public Shared Function CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung As String, ME_Form As System.Windows.Forms.Form) As Integer ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object
+ Return CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung, ME_Form.GetType.Module.Name.Replace(".exe", ""))
+ End Function
+
+ Public Shared Function CHECK_BERECHTIGUNG_bool(Berechtigung_Bezeichnung As String, ME_Form As System.Windows.Forms.Form) As Boolean ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object
+ Try
+
+ If ME_Form Is Nothing Then Return False
+ Dim prog = ME_Form.GetType.Module.Name.Replace(".exe", "") 'FEHLER
+ Return (CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung, prog) = 0)
+ Catch ex As Exception
+ MsgBox("BERECHTIGUNGSERR: " & Berechtigung_Bezeichnung & vbNewLine & vbNewLine & ex.Message & vbNewLine & ex.StackTrace)
+ Return False
+ End Try
+ End Function
+
+ Public Shared Function CHECK_BERECHTIGUNG_bool(Berechtigung_Bezeichnung As String, prog_Name As String) As Boolean ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object
+ Try
+ Return (CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung, prog_Name) = 0)
+ Catch ex As Exception
+ MsgBox(ex.Message & vbNewLine & ex.StackTrace)
+ Return False
+ End Try
+ End Function
+
+ Public Shared Function CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung As String, prog_Name As String) As Integer ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object
+ Dim SQL As New SQL
+ Dim prog_id = -1
+
+ Select Case prog_Name
+ Case "AVISO"
+ 'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then
+ ' prog_id = 13
+ ' Else
+ prog_id = 5
+ 'End If
+ Case "SDL"
+ prog_id = 7
+ Case Else
+ ' MsgBox("SELECT isnull([prog_id],0) FROM [tblProgramme] WHERe [prog_codename]='" & prog_Name & "'")
+ prog_id = SQL.getValueTxtBySql("SELECT isnull([prog_id],0) FROM [tblProgramme] WHERe [prog_codename]='" & prog_Name & "'", "ADMIN")
+ End Select
+
+ Return CHECK_BERECHTIGUNG(Berechtigung_Bezeichnung, prog_id)
+ End Function
+
+ Public Shared Function CHECK_BERECHTIGUNG(ber_bez As String, prog_Id As Integer) As Integer ' Klärt die Berechtigungs-Zugriffs-Stufe des Mitarbeiters für das Object
+ Try
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME = "" Then Return 0
+
+ Dim berechtigungsstufe As Integer = 99
+ Dim benutzerBer As cBerechtigungenBenutzerGruppenZuordnung_List = VERAG_PROG_ALLGEMEIN.cAllgemein.BENUTZER_BERECHTIGUNGS_GRUPPEN
+ If benutzerBer Is Nothing Then
+ MsgBox("Ihrem Benutzerkonto wurden keine Berechtigungen zugeordnet!")
+ Return 0
+ End If
+
+ Dim found = False
+ For Each l In BER_LIST.LIST
+ If l.bero_bezeichnung.ToUpper = ber_bez.ToUpper And l.bero_progId = prog_Id Then
+ found = True : Exit For
+ End If
+ Next
+ If Not found Then 'Die Berechtigungszuorgnung ist nicht gegeben --> Zugriff verwehrt
+ MsgBox("Die Berechtigung '" & ber_bez & "' existiert nicht.")
+ Return 99
+ End If
+
+ For Each l In BER_LIST.LIST
+ If l.bero_bezeichnung.ToUpper = ber_bez.ToUpper And l.bero_progId = prog_Id Then
+ For Each ll In l.BER_OBJ_ZUORD 'Liste der BerechtignungGruppen im Berechtigungsonjekt
+ For Each b In benutzerBer.LIST
+ If b.berbgz_progId = prog_Id Then 'BenutzerProg = Prog
+
+ If ll.beroz_berechtigungsstufe >= 100 Then Return ll.beroz_berechtigungsstufe 'Größer als 3 stellen --> immer priorität
+
+ If ll.beroz_art = "G" And ll.beroz_bergrId = b.berbgz_bergrId Then 'GruppenBerchtigung
+ 'gefunden!
+ If ll.beroz_berechtigungsstufe < berechtigungsstufe Then berechtigungsstufe = ll.beroz_berechtigungsstufe
+ ElseIf ll.beroz_art = "N" And ll.Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG Then
+ If ll.beroz_berechtigungsstufe < berechtigungsstufe Then berechtigungsstufe = ll.beroz_berechtigungsstufe
+ ElseIf ll.beroz_art = "A" And ll.Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG Then
+ If ll.beroz_berechtigungsstufe < berechtigungsstufe Then berechtigungsstufe = ll.beroz_berechtigungsstufe
+ ElseIf ll.beroz_art = "B" And ll.beroz_bergrId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
+ Return ll.beroz_berechtigungsstufe 'Definitiv dem Benutzer zugeordnete Berechtigung!!!!
+ End If
+ End If
+ Next
+ Next
+ End If
+ Next
+
+ Return berechtigungsstufe
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ Return 99
+ End Function
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenBenutzerGruppenZuordnung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenBenutzerGruppenZuordnung.vb
new file mode 100644
index 0000000..0afc88e
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenBenutzerGruppenZuordnung.vb
@@ -0,0 +1,107 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cBerechtigungenBenutzerGruppenZuordnung_List
+ Public LIST As New List(Of cBerechtigungenBenutzerGruppenZuordnung)
+ Dim SQL As New SQL
+ 'Dim listTodelete As New List(Of cOfferte)
+ Dim mit_Id
+ Sub New(mit_Id)
+ LOAD_LIST(mit_Id)
+ End Sub
+ Public Sub CLEAR()
+ LIST.Clear()
+ End Sub
+ Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False)
+ ' Dim l As New cOfferte
+ 'l.eb_bcc = bcc
+ 'LIST.Add(l)
+ End Sub
+
+ Public Sub LOAD_LIST(mit_Id)
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT *,(SELECT [bergr_bezeichnung] FROM tblBerechtigungenGruppen WHERE [bergr_id]=[berbgz_bergrId]) as Gruppenbezeichnung FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE berbgz_mitId=@berbgz_mitId ", conn) 'SELECT * FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE berbgz_mitId=@berbgz_mitId", conn)
+ cmd.Parameters.AddWithValue("@berbgz_mitId", mit_Id)
+ ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cBerechtigungenBenutzerGruppenZuordnung
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ ' l.LOAD_ZUORD()
+ LIST.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+End Class
+
+
+
+Public Class cBerechtigungenBenutzerGruppenZuordnung
+ Property berbgz_id As Integer
+ Property berbgz_progId As Integer
+ Property berbgz_mitId As Integer
+ Property Gruppenbezeichnung As Object = Nothing
+
+ Property berbgz_bergrId As Integer
+
+ Dim SQL As New SQL
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("berbgz_id", berbgz_id, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("berbgz_progId", berbgz_progId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("berbgz_mitId", berbgz_mitId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gruppenbezeichnung", Gruppenbezeichnung, , , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("berbgz_bergrId", berbgz_bergrId))
+ Return list
+ End Function
+
+
+ Public Function INSERT() As String
+ Try
+ Dim list As List(Of SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not (i.isPrimaryParam Or i.isonlyForLoad) Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ ' MsgBox(" INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ")
+ SQL.doSQLVarListID(berbgz_id, " INSERT INTO tblBerechtigungenBenutzerGruppenZuordnung (" & str & ") VALUES(" & values & ") ", "ADMIN", , list)
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As String
+ Try
+ ' SQL.doSQL("DELETE FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE [berbgz_bergrId]=" & Me.bergr_id, "ADMIN") 'Zuerst die Zuordnungen
+ ' SQL.doSQL("DELETE FROM tblBerechtigungsObjekteZuordnung WHERE [beroz_art]='G' AND [beroz_bergrId]=" & Me.bergr_id, "ADMIN") 'Zuerst die Zuordnungen
+ SQL.doSQL("DELETE FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE berbgz_id=" & Me.berbgz_id, "ADMIN")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenGruppen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenGruppen.vb
new file mode 100644
index 0000000..88eca1a
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungenGruppen.vb
@@ -0,0 +1,104 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+
+
+Public Class cBerechtigungenGruppen_List
+ Property KundenNr As Object = Nothing
+ Public LIST As New List(Of cBerechtigungenGruppen)
+ Dim SQL As New SQL
+ Dim bergr_progId
+
+ Sub New(bergr_progId)
+ LOAD_LIST(bergr_progId)
+ End Sub
+
+ Public Sub CLEAR()
+ LIST.Clear()
+ End Sub
+ Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False)
+ ' Dim l As New cOfferte
+ 'l.eb_bcc = bcc
+ 'LIST.Add(l)
+ End Sub
+
+ Public Sub LOAD_LIST(bergr_progId)
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungenGruppen WHERE bergr_progId=@bergr_progId ORDER BY bergr_bezeichnung", conn)
+ cmd.Parameters.AddWithValue("@bergr_progId", bergr_progId)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cBerechtigungenGruppen
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ ' l.LOAD_ZUORD()
+ LIST.Add(l)
+
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+End Class
+
+Public Class cBerechtigungenGruppen
+ Property bergr_id As Integer
+ Property bergr_progId As Integer
+ Property bergr_bezeichnung As String
+
+ Dim SQL As New SQL
+ ' Property BER_BENGR_ZUORD As List(Of cBerechtigungenBenutzerGruppenZuordnung)
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bergr_id", bergr_id, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bergr_progId", bergr_progId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bergr_bezeichnung", bergr_bezeichnung))
+ Return list
+ End Function
+
+ Public Function INSERT() As String
+ Try
+ Dim list As List(Of SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not (i.isPrimaryParam Or i.isonlyForLoad) Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ ' MsgBox(" INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ")
+ SQL.doSQLVarListID(bergr_id, " INSERT INTO tblBerechtigungenGruppen (" & str & ") VALUES(" & values & ") ", "ADMIN", , list)
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As String
+ Try
+ SQL.doSQL("DELETE FROM tblBerechtigungenBenutzerGruppenZuordnung WHERE [berbgz_bergrId]=" & Me.bergr_id, "ADMIN") 'Zuerst die Zuordnungen
+ SQL.doSQL("DELETE FROM tblBerechtigungsObjekteZuordnung WHERE [beroz_art]='G' AND [beroz_bergrId]=" & Me.bergr_id, "ADMIN") 'Zuerst die Zuordnungen
+ SQL.doSQL("DELETE FROM tblBerechtigungenGruppen WHERE bergr_id=" & Me.bergr_id, "ADMIN")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekte.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekte.vb
new file mode 100644
index 0000000..1b948d0
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekte.vb
@@ -0,0 +1,207 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+
+
+
+Public Class cBerechtigungsObjekte_List
+ Public LIST As New List(Of cBerechtigungsObjekte)
+ Dim SQL As New SQL
+ 'Dim listTodelete As New List(Of cOfferte)
+
+ Sub New()
+ LOAD_LIST()
+ End Sub
+
+ Sub New(progID)
+ LOAD_LIST(progID)
+ End Sub
+
+ Public Sub CLEAR()
+ LIST.Clear()
+ End Sub
+ Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False)
+ ' Dim l As New cOfferte
+ 'l.eb_bcc = bcc
+ 'LIST.Add(l)
+ End Sub
+
+ Public Sub LOAD_LIST()
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekte", conn)
+ ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cBerechtigungsObjekte
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ l.LOAD_ZUORD()
+ LIST.Add(l)
+
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+ Public Sub LOAD_LIST(bero_progId)
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekte WHERE bero_progId=@bero_progId", conn)
+ cmd.Parameters.AddWithValue("@bero_progId", bero_progId)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cBerechtigungsObjekte
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ l.LOAD_ZUORD()
+ LIST.Add(l)
+
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+End Class
+
+
+Public Class cBerechtigungsObjekte
+ Property bero_id As Integer
+ Property bero_progId As Integer
+ Property bero_bezeichnung As String
+ Property bero_art As String
+
+ Property BER_OBJ_ZUORD As New List(Of cBerechtigungsObjekteZuordnung)
+
+ Dim SQL As New SQL
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bero_id", bero_id, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bero_progId", bero_progId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bero_bezeichnung", bero_bezeichnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bero_art", bero_art))
+ Return list
+ End Function
+
+ Public Sub LOAD() ' Wird eig nicht benötigt, da LIST
+ Try
+ BER_OBJ_ZUORD.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekte WHERE bero_id=@bero_id ", conn)
+ cmd.Parameters.AddWithValue("@bero_id", Me.bero_id)
+ ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ 'Dim l As New cBerechtigungsObjekte
+ For Each i In Me.getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(i.Text))
+ End If
+ Next
+ Me.LOAD_ZUORD()
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Sub LOAD_ZUORD()
+ ' MsgBox("a")
+ Try
+ BER_OBJ_ZUORD.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ ' Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekteZuordnung WHERE beroz_beroId=@beroz_beroId ", conn)
+ ' MsgBox(Me.bero_id)
+ Using cmd As New SqlCommand(" SELECT *, (CASE beroz_art " &
+ " WHEN 'G' THEN (SELECT [bergr_bezeichnung] FROM [ADMIN].[dbo].[tblBerechtigungenGruppen] WHERE beroz_bergrId=bergr_id ) " &
+ " WHEN 'B' THEN (SELECT [mit_username] FROM [ADMIN].[dbo].tblMitarbeiter WHERE beroz_bergrId=mit_id ) " &
+ " WHEN 'A' THEN (SELECT [abt_kuerzel] FROM [ADMIN].[dbo].tblAbteilungen WHERE beroz_bergrId=abt_id ) " &
+ " WHEN 'N' THEN (SELECT [nl_kuerzel] FROM [ADMIN].[dbo].tblNiederlassungen WHERE beroz_bergrId=nl_id ) " &
+ " END) as Bezeichnung " &
+ " FROM tblBerechtigungsObjekteZuordnung WHERE beroz_beroId=@beroz_beroId ORDER BY [beroz_art] desc, Bezeichnung", conn)
+
+ cmd.Parameters.AddWithValue("@beroz_beroId", Me.bero_id)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cBerechtigungsObjekteZuordnung
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ BER_OBJ_ZUORD.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+
+ End Sub
+
+ Public Function INSERT() As String
+ Try
+ Dim list As List(Of SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not (i.isPrimaryParam Or i.isonlyForLoad) Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ ' MsgBox(" INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ")
+ SQL.doSQLVarListID(bero_id, " INSERT INTO tblBerechtigungsObjekte (" & str & ") VALUES(" & values & ") ", "ADMIN", , list)
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As String
+ Try
+ SQL.doSQL("DELETE FROM [tblBerechtigungsObjekteZuordnung] WHERE [beroz_beroId]=" & Me.bero_id, "ADMIN") 'Zuerst die Zuordnungen
+ SQL.doSQL("DELETE FROM tblBerechtigungsObjekte WHERE bero_id=" & Me.bero_id, "ADMIN")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekteZuordnung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekteZuordnung.vb
new file mode 100644
index 0000000..4a00cef
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/Berechtigungen/cBerechtigungsObjekteZuordnung.vb
@@ -0,0 +1,87 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cBerechtigungsObjekteZuordnung
+
+ Property beroz_id As Integer = -1
+ Property beroz_beroId As Integer
+ Property beroz_bergrId As Integer
+ Property Bezeichnung As Object = Nothing
+ 'Property BenutzerBezeichnung As Object = Nothing
+
+ Property beroz_art As String
+ Property beroz_berechtigungsstufe As Integer = -1
+ Dim SQL As New SQL
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_id", beroz_id, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_beroId", beroz_beroId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_bergrId", beroz_bergrId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_art", beroz_art))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beroz_berechtigungsstufe", beroz_berechtigungsstufe))
+
+ ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GruppenBezeichnung", GruppenBezeichnung, , , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezeichnung", Bezeichnung, , , True))
+ Return list
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblBerechtigungsObjekteZuordnung WHERE beroz_id=@beroz_id ", conn)
+ cmd.Parameters.AddWithValue("@beroz_id", beroz_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+ Next
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function INSERT() As String
+ Try
+ Dim list As List(Of SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not (i.isPrimaryParam Or i.isonlyForLoad) Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ ' MsgBox(" INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ")
+ SQL.doSQLVarListID(beroz_id, " INSERT INTO tblBerechtigungsObjekteZuordnung (" & str & ") VALUES(" & values & ") ", "ADMIN", , list)
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As String
+ Try
+ SQL.doSQL("DELETE FROM tblBerechtigungsObjekteZuordnung WHERE beroz_id=" & Me.beroz_id, "ADMIN")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb
new file mode 100644
index 0000000..928b95e
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb
@@ -0,0 +1,1213 @@
+Imports System.Data.SqlClient
+
+Public Class SQL
+ Public Const LeerDatum As Date = #12/30/1899#
+
+ Public Shared Function GetSDLConnectionString() As String
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ Return My.MySettings.Default.SDLConnectionString
+ Else
+ Return My.MySettings.Default.SDL_PRODConnectionString
+ End If
+ End Function
+ Public Shared Function GetUIDConnectionString() As String
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ Return My.MySettings.Default.UIDConnectionString
+ Else
+ Return My.MySettings.Default.UID_PRODConnectionString
+ End If
+ End Function
+
+
+ Public Shared Function GetADMINConnectionString() As String
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ Return My.MySettings.Default.ADMINConnectionString
+ Else
+ Return My.MySettings.Default.ADMINConnectionString
+ End If
+ End Function
+ Public Shared Function GetFMZOLLConnectionString() As String
+ 'Properties.Settings.Default.
+
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ Try
+ Return My.MySettings.Default.FMZOLLConnectionString
+ Catch ex As Exception
+ 'Return "Data Source=DEVELOPER.verag.ost.dmn\DEVSQL;Initial Catalog=VERAG;Integrated Security=false;User ID=sa;Password=BmWr501956;"
+ Return "Data Source=DEVELOPER.verag.ost.dmn\DEVSQL;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;"
+ End Try
+
+
+ Else
+ Try
+ Return My.MySettings.Default.FMZOLL_PRODConnectionString
+ Catch ex As Exception
+ ' Return "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=test;Password=BmWr501956;"
+ Return "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=test;Password=BmWr501956;"
+ End Try
+ End If
+
+
+ End Function
+ Public Shared Function GetWEBConnectionString() As String
+ 'Properties.Settings.Default.
+
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ Return "Data Source=192.168.0.90\DEVSQL;Initial Catalog=VERAG_HOMEPAGE;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;"
+ ' Return "Data Source=192.168.0.90\DEVSQL;Initial Catalog=VERAG_HOMEPAGE;Integrated Security=false;User ID=sa;Password=BmWr501956;"
+ Else
+ Return "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG_HOMEPAGE;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;"
+ ' Return "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG_HOMEPAGE;Integrated Security=false;User ID=sa;Password=BmWr501956;"
+ End If
+
+
+ End Function
+
+ Public Shared Function GetFMZOLLConnectionString(TESTSYSTEM) As String
+ If TESTSYSTEM Then
+ Return My.MySettings.Default.FMZOLLConnectionString
+ Else
+ Try
+ Return My.MySettings.Default.FMZOLL_PRODConnectionString
+ Catch ex As Exception
+ ' Return "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=test;Password=BmWr501956;"
+ Return "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=test;Password=BmWr501956;"
+ End Try
+ End If
+ End Function
+
+ Public Shared Function GetFDConnectionString() As String
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ Return My.MySettings.Default.FDConnectionString
+ Else
+ Return My.MySettings.Default.FD_PRODConnectionString
+ End If
+ End Function
+ Public Shared Function GetSCANCANONConnectionString() As String
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ Return My.MySettings.Default.SCANCANON_PRODConnectionString
+ Else
+ Return My.MySettings.Default.SCANCANON_PRODConnectionString
+ End If
+ End Function
+ Public Shared Function GetATLASConnectionString() As String
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ Return My.MySettings.Default.ATLASConnectionString
+ Else
+ Return My.MySettings.Default.ATLASConnectionString
+ End If
+ End Function
+
+ Public Shared Function GetATLAS_SBGConnectionString() As String
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ Return My.MySettings.Default.ATLAS_SBGConnectionString
+ Else
+ Return My.MySettings.Default.ATLAS_SBGConnectionString
+ End If
+ End Function
+
+
+ Public Shared Function GetEZOLLConnectionString() As String
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ Return My.MySettings.Default.EZOLLConnectionString
+ Else
+ Return My.MySettings.Default.EZOLLConnectionString
+ End If
+ End Function
+
+
+ Public Shared Function GetAVISOConnectionString() As String
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ Return My.MySettings.Default.AVISOConnectionStringTEST
+ Else
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then
+ Return My.MySettings.Default.AVISO_ATILLAConnectionString
+ Else
+ Try
+ Return My.MySettings.Default.AVISOConnectionString
+ Catch ex As Exception
+ Return "Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=AVISO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200"
+ End Try
+ End If
+ End If
+ End Function
+
+
+ Public Shared Function GetDISPOConnectionString() As String
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ Return My.MySettings.Default.DISPOConnectionStringTEST
+ Else
+ Return My.MySettings.Default.DISPOConnectionString
+ End If
+ End Function
+
+
+ Public Shared Function GetNewOpenConnectionSDL(Optional pooling As Boolean = True) As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ cn.ConnectionString = GetSDLConnectionString() & IIf(pooling, "", ";pooling=false")
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+ End Function
+ Public Shared Function GetNewOpenConnectionUID(Optional pooling As Boolean = True) As SqlConnection
+ Dim cn As New SqlConnection()
+ 'cn.ConnectionString = My.Resources.connStringSDL_DEV
+ ' IMMER DIE AKTUELLE CONNECTION IN MY.SETTINGS ÄNDERN!!! --> WG. BINDING
+ cn.ConnectionString = GetUIDConnectionString() & IIf(pooling, "", ";pooling=false")
+ cn.Open()
+ Return cn
+ End Function
+
+
+ Public Shared Function GetNewOpenConnectionADMIN() As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ cn.ConnectionString = GetADMINConnectionString()
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+
+ End Function
+
+
+ Public Shared Function GetNewOpenConnectionFD() As SqlConnection
+ Dim cn As New SqlConnection()
+ cn.ConnectionString = GetFDConnectionString()
+ cn.Open()
+ Return cn
+ End Function
+ Public Shared Function GetNewOpenConnectionFMZOLL(Optional pooling As Boolean = True) As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ cn.ConnectionString = GetFMZOLLConnectionString() & IIf(pooling, "", ";pooling=false")
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+ End Function
+ Public Shared Function GetNewOpenConnectionWEB(Optional pooling As Boolean = True) As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ cn.ConnectionString = GetWEBConnectionString() & IIf(pooling, "", ";pooling=false")
+
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+ End Function
+ Public Shared Function GetNewOpenConnectionFMZOLL_SYSTEM(TESTSYSTEM As Boolean, Optional pooling As Boolean = True) As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ cn.ConnectionString = GetFMZOLLConnectionString(TESTSYSTEM) & IIf(pooling, "", ";pooling=false")
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+ End Function
+ Public Shared Function GetNewOpenConnectionSCANCANON(Optional pooling As Boolean = True) As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ cn.ConnectionString = GetSCANCANONConnectionString() & IIf(pooling, "", ";pooling=false")
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+ End Function
+
+ Public Shared Function GetNewOpenConnectionATLAS() As SqlConnection
+ Dim cn As New SqlConnection()
+ cn.ConnectionString = GetATLASConnectionString()
+ cn.Open()
+ Return cn
+ End Function
+
+ Public Shared Function GetNewOpenConnectionATLAS_SBG() As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ cn.ConnectionString = GetATLAS_SBGConnectionString()
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+
+ End Function
+
+
+ Public Shared Function GetNewOpenConnectionATLAS_SUBorSBG() As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_niederlassung = "SBG" Then
+ cn.ConnectionString = GetATLAS_SBGConnectionString()
+ Else
+ cn.ConnectionString = GetATLASConnectionString()
+ End If
+
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+
+ End Function
+
+ Public Shared Function GetNewOpenConnectionEZOLL() As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ cn.ConnectionString = GetEZOLLConnectionString()
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+ End Function
+
+ Public Shared Function GetNewOpenConnectionAVISO() As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ cn.ConnectionString = GetAVISOConnectionString()
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+ End Function
+
+
+ Public Shared Function GetNewOpenConnectionDISPO() As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ cn.ConnectionString = GetDISPOConnectionString()
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+
+ End Function
+ Public Shared Function GetNewOpenConnectionAVISO_ATILLA() As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ cn.ConnectionString = My.MySettings.Default.AVISO_ATILLAConnectionString
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+
+ End Function
+
+ Public Shared Function GetNewOpenConnectionFMZOLLREAL() As SqlConnection
+ Dim cn As New SqlConnection()
+ Try
+ cn.ConnectionString = My.MySettings.Default.FMZOLL_PRODConnectionString
+ cn.Open()
+ Return cn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "SQL CONNECTION | " & cn.ConnectionString.Replace("BmWr501956", "*******").Replace("yp/THDd?xM+pZ$", "*******") & " | Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return Nothing
+
+
+ End Function
+
+
+
+ Public Shared Function isNullNothing(o) As Object
+ If o Is Nothing Then Return o
+ If o Is DBNull.Value Then Return Nothing
+ If o.ToString = "" Then Return Nothing
+ Return o
+ End Function
+
+ Function isleernothing(s) As Object
+ Return isNullNothing(s)
+ End Function
+
+ Public Shared Function isNullNothingDbl(o) As Object
+ If o Is Nothing Then Return o
+ If o.ToString = "" Then Return Nothing
+ Return CDbl(o)
+ End Function
+
+ Public Shared Function isNullDBNull(o) As Object
+ If o Is Nothing Then Return DBNull.Value
+ If o.ToString = "" Then Return DBNull.Value
+ Return o
+ End Function
+
+
+ Function IsNull(o) As Boolean
+ Try
+ If o Is Nothing Then Return True
+ If o Is DBNull.Value Then Return True
+ If o.ToString.Trim = "" Then Return True
+ Catch : End Try
+ Return False
+ End Function
+
+ Function isleernothingDateFormatstring(o) As Object
+ If o Is Nothing Then Return o
+ If o.ToString = "" Then Return Nothing
+ If IsDate(o) Then Return CDate(o).ToShortDateString
+ Return Nothing
+ End Function
+
+ Public Function loadDgvBySql(ByVal sql As String, Optional conn_art As String = "SDL", Optional timeout As Integer = 0, Optional showerror As Boolean = True) As DataTable
+ Try
+ Dim myTable = New DataTable()
+ Dim conn As New SqlConnection
+ Select Case conn_art
+ Case "SDL" : conn = GetNewOpenConnectionSDL()
+ Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL()
+ Case "ADMIN" : conn = GetNewOpenConnectionADMIN()
+ Case "DISPO" : conn = GetNewOpenConnectionDISPO()
+ Case "ATLAS" : conn = GetNewOpenConnectionATLAS()
+ Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG()
+ Case "EZOLL" : conn = GetNewOpenConnectionEZOLL()
+ Case "AVISO" : conn = GetNewOpenConnectionAVISO()
+ Case "VERAG" : conn = GetNewOpenConnectionFMZOLL()
+ Case "FD" : conn = GetNewOpenConnectionFD()
+ Case "WEB" : conn = GetNewOpenConnectionWEB()
+
+ Case "AVISO_ATILLA"
+ conn.ConnectionString = "Data Source=172.16.0.98;Initial Catalog=AVISO_ATILLA;Integrated Security=false;User ID=sa;Password=BmWr501956;Pooling=true;Min Pool Size=5;Max Pool Size=200"
+ conn.Open()
+ End Select
+ ' MsgBox(cAllgemein.TESTSYSTEM)
+ ' Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ If timeout > 0 Then cmd.CommandTimeout = timeout 'Seconds
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ conn.Close()
+ ' End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ If showerror Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , "WiedergestellungsDatum Fehler", , , sql)
+ End Try
+
+ Return Nothing
+
+ End Function
+ Public Function loadCboBySql(ByVal sql As String, Optional conn_art As String = "SDL") As List(Of Object)
+
+
+ Dim o As New List(Of Object)
+ Try
+ Dim conn As New SqlConnection
+ Select Case conn_art
+ Case "SDL" : conn = GetNewOpenConnectionSDL()
+ Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL()
+ Case "ADMIN" : conn = GetNewOpenConnectionADMIN()
+ Case "DISPO" : conn = GetNewOpenConnectionDISPO()
+ Case "ATLAS" : conn = GetNewOpenConnectionATLAS()
+ Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG()
+ Case "EZOLL" : conn = GetNewOpenConnectionEZOLL()
+ Case "AVISO" : conn = GetNewOpenConnectionAVISO()
+ Case "VERAG" : conn = GetNewOpenConnectionFMZOLL()
+ Case "WEB" : conn = GetNewOpenConnectionWEB()
+ End Select
+
+ ' Using conn As SqlConnection = GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ While dr.Read
+ o.Add(dr.Item(0))
+ End While
+ dr.Close()
+ End Using
+ conn.Close()
+ ' End Using
+ Return o 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+
+ Return Nothing
+ End Function
+
+ Public Function loadCboBySqlWithListItem(ByVal sql As String, Optional showValueInText As Boolean = True, Optional conn_art As String = "SDL") As List(Of MyListItem)
+ Dim o As New List(Of MyListItem)
+ Try
+ Dim conn As New SqlConnection
+ Select Case conn_art
+ Case "SDL" : conn = GetNewOpenConnectionSDL()
+ Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL()
+ Case "ADMIN" : conn = GetNewOpenConnectionADMIN()
+ Case "ATLAS" : conn = GetNewOpenConnectionATLAS()
+ Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG()
+ Case "EZOLL" : conn = GetNewOpenConnectionEZOLL()
+ Case "AVISO" : conn = GetNewOpenConnectionAVISO()
+ Case "VERAG" : conn = GetNewOpenConnectionFMZOLL()
+ Case "DISPO" : conn = GetNewOpenConnectionDISPO()
+ Case "WEB" : conn = GetNewOpenConnectionWEB()
+ End Select
+
+ Using cmd As New SqlCommand(sql, conn)
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ While dr.Read
+ If showValueInText Then
+ o.Add(New MyListItem(dr.Item(0) & " - " & dr.Item(1), dr.Item(0)))
+ Else
+ Try
+ Dim item1 = dr.Item(1) 'Sonst ist der fehelr im mylistitem
+ o.Add(New MyListItem(item1, dr.Item(0)))
+ Catch ex As Exception
+ o.Add(New MyListItem(dr.Item(0), dr.Item(0)))
+ End Try
+ End If
+
+ End While
+ dr.Close()
+ End Using
+ conn.Close()
+
+ Return o 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+
+ Return Nothing
+ End Function
+
+
+ Function DLookup(srchField, table, where, Optional conn_art = "SDL", Optional nullvalue = "") As Object
+ Return getValueTxtBySql("SELECT isnull(" & srchField & ",'" & nullvalue & "') FROM " & table & " WHERE " & where & "", conn_art,,, nullvalue)
+ End Function
+
+
+ Function DLookupArray(srchField, table, where, Optional conn_art = "SDL") As List(Of String)
+ Dim list As New List(Of String)
+ Dim dt = loadDgvBySql("SELECT " & srchField & " FROM " & table & " WHERE " & where & "", conn_art)
+ If dt IsNot Nothing Then
+ For Each r As DataRow In dt.Rows
+ list.Add(r(srchField))
+ Next
+ End If
+ Return list
+ End Function
+
+
+ Public Function getValueTxtBySql(ByVal sql As String, Optional conn_art As String = "SDL", Optional List As List(Of MyListItem2) = Nothing, Optional conn As SqlConnection = Nothing, Optional defaultReturn As Object = "") As String
+
+ Try
+ If conn Is Nothing Then
+ conn = New SqlConnection
+ Select Case conn_art
+ Case "SDL" : conn = GetNewOpenConnectionSDL()
+ Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL()
+ Case "ADMIN" : conn = GetNewOpenConnectionADMIN()
+ Case "DISPO" : conn = GetNewOpenConnectionDISPO()
+ Case "ATLAS" : conn = GetNewOpenConnectionATLAS()
+ Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG()
+ Case "EZOLL" : conn = GetNewOpenConnectionEZOLL()
+ Case "AVISO" : conn = GetNewOpenConnectionAVISO()
+ Case "VERAG" : conn = GetNewOpenConnectionFMZOLL()
+ Case "SCANCANON" : conn = GetNewOpenConnectionSCANCANON()
+ Case "WEB" : conn = GetNewOpenConnectionWEB()
+
+ End Select
+ End If
+
+ Using cmd As New SqlCommand(sql, conn)
+ If List IsNot Nothing Then
+ For Each i In List
+ 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ cmd.Parameters.AddWithValue("@" & i.Text.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ Next
+ End If
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ If Not dr.Item(0) Is DBNull.Value Then
+ defaultReturn = CStr(dr.Item(0))
+ End If
+ End If
+ dr.Close()
+ End Using
+ conn.Close()
+
+ Return defaultReturn
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & conn.ConnectionString, System.Reflection.MethodInfo.GetCurrentMethod.Name & sql)
+ End Try
+ 'MsgBox("3")
+ Return defaultReturn
+ End Function
+
+ Public Function getValueTxtBySqlVarList(ByVal sql As String, Optional conn_art As String = "SDL", Optional List As List(Of SQLVariable) = Nothing, Optional defaultReturn As Object = "") As String
+ Dim s As String = defaultReturn
+ Try
+ 'MsgBox("1")
+ Dim conn As New SqlConnection
+ Select Case conn_art
+ Case "SDL" : conn = GetNewOpenConnectionSDL()
+ Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL()
+ Case "ADMIN" : conn = GetNewOpenConnectionADMIN()
+ Case "ATLAS" : conn = GetNewOpenConnectionATLAS()
+ Case "DISPO" : conn = GetNewOpenConnectionDISPO()
+ Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG()
+ Case "EZOLL" : conn = GetNewOpenConnectionEZOLL()
+ Case "AVISO" : conn = GetNewOpenConnectionAVISO()
+ Case "VERAG" : conn = GetNewOpenConnectionFMZOLL()
+ Case "WEB" : conn = GetNewOpenConnectionWEB()
+ End Select
+
+ Using cmd As New SqlCommand(sql, conn)
+ If List IsNot Nothing Then
+ For Each i In List
+ 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ Next
+ End If
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ If Not dr.Item(0) Is DBNull.Value Then
+ s = CStr(dr.Item(0))
+ End If
+ End If
+ dr.Close()
+ End Using
+ conn.Close()
+
+ Return s
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ 'MsgBox("3")
+ Return defaultReturn
+
+ End Function
+ Public Function doSQL(ByVal sql As String, Optional conn_art As String = "SDL", Optional showErr As Boolean = True, Optional list As List(Of MyListItem2) = Nothing, Optional conn As SqlConnection = Nothing) As Boolean
+
+ If conn Is Nothing Then
+ conn = New SqlConnection
+ Select Case conn_art
+ Case "SDL" : conn = GetNewOpenConnectionSDL()
+ Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL()
+ Case "ADMIN" : conn = GetNewOpenConnectionADMIN()
+ Case "ATLAS" : conn = GetNewOpenConnectionATLAS()
+ Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG()
+ Case "EZOLL" : conn = GetNewOpenConnectionEZOLL()
+ Case "AVISO" : conn = GetNewOpenConnectionAVISO()
+ Case "VERAG" : conn = GetNewOpenConnectionFMZOLL()
+ Case "DISPO" : conn = GetNewOpenConnectionDISPO()
+ Case "WEB" : conn = GetNewOpenConnectionWEB()
+
+ Case "AVISO_ATILLA"
+ conn.ConnectionString = "Data Source=172.16.0.98;Initial Catalog=AVISO_ATILLA;Integrated Security=false;User ID=sa;Password=BmWr501956;Pooling=true;Min Pool Size=5;Max Pool Size=200"
+ conn.Open()
+ End Select
+ End If
+ Try
+ ' MsgBox(sql)
+ Using cmd As New SqlCommand(sql, conn)
+ If list IsNot Nothing Then
+ For Each i In list
+ 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ cmd.Parameters.AddWithValue("@" & i.Text.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ Next
+ End If
+ cmd.ExecuteNonQuery()
+ End Using
+ conn.Close()
+ Return True
+ Catch ex As Exception
+ If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql)
+ End Try
+ Return False
+ End Function
+
+
+ Public Function doSQLVarList(ByVal sql As String, Optional conn_art As String = "SDL", Optional showErr As Boolean = True, Optional list As List(Of SQLVariable) = Nothing) As Boolean
+ Dim conn As New SqlConnection
+ Select Case conn_art
+ Case "SDL" : conn = GetNewOpenConnectionSDL()
+ Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL()
+ Case "ADMIN" : conn = GetNewOpenConnectionADMIN()
+ Case "ATLAS" : conn = GetNewOpenConnectionATLAS()
+ Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG()
+ Case "EZOLL" : conn = GetNewOpenConnectionEZOLL()
+ Case "AVISO" : conn = GetNewOpenConnectionAVISO()
+ Case "DISPO" : conn = GetNewOpenConnectionDISPO()
+ Case "VERAG" : conn = GetNewOpenConnectionFMZOLL()
+ Case "WEB" : conn = GetNewOpenConnectionWEB()
+ End Select
+ Try
+ ' MsgBox(sql)
+ Using cmd As New SqlCommand(sql, conn)
+ If list IsNot Nothing Then
+ For Each i In list
+ 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ Next
+ End If
+ cmd.ExecuteNonQuery()
+ End Using
+ conn.Close()
+ Return True
+ Catch ex As Exception
+ If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql)
+ End Try
+ Return False
+ End Function
+
+ Public Function doSQLVarListID(ByVal id As Integer, ByVal sql As String, Optional conn_art As String = "SDL", Optional showErr As Boolean = True, Optional list As List(Of SQLVariable) = Nothing, Optional returnSelectID As Boolean = False, Optional errHinweis As String = "", Optional showErrTimeout As Boolean = True, Optional timeout As Integer = 0) As Integer
+
+ Dim conn As New SqlConnection
+ Select Case conn_art
+ Case "SDL" : conn = GetNewOpenConnectionSDL()
+ Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL()
+ Case "ADMIN" : conn = GetNewOpenConnectionADMIN()
+ Case "ATLAS" : conn = GetNewOpenConnectionATLAS()
+ Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG()
+ Case "EZOLL" : conn = GetNewOpenConnectionEZOLL()
+ Case "AVISO" : conn = GetNewOpenConnectionAVISO()
+ Case "DISPO" : conn = GetNewOpenConnectionDISPO()
+ Case "VERAG" : conn = GetNewOpenConnectionFMZOLL()
+ Case "WEB" : conn = GetNewOpenConnectionWEB()
+ End Select
+ Try
+ Using cmd As New SqlCommand(sql, conn)
+ If timeout > 0 Then cmd.CommandTimeout = timeout
+ If list IsNot Nothing Then
+ For Each i In list
+ 'If Not i.isonlyForLoad Then
+
+ ' End If
+ cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ Next
+ End If
+
+ If returnSelectID Then
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ If Not dr.Item(0) Is DBNull.Value Then
+ id = CStr(dr.Item(0))
+ End If
+ End If
+ dr.Close()
+ Else
+ cmd.ExecuteNonQuery()
+
+ If id <= 0 Then
+ Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn)
+ id = CInt(newcmd.ExecuteScalar)
+ End If
+
+ End If
+
+ 'Return True
+ End Using
+ conn.Close()
+ Catch ex As TimeoutException
+ If showErrTimeout Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & errHinweis, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql)
+ ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, If(showErr, ERROR_OP.SHOW, ERROR_OP.MAIL), , , , sql)
+ Return -2
+ Catch ex As Exception
+ If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & errHinweis, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql)
+ ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, If(showErr, ERROR_OP.SHOW, ERROR_OP.MAIL), , , , sql)
+ Return -1
+ End Try
+ Return id
+ End Function
+
+
+ Public Function loadDgvBySql_Param(ByVal sql As String, Optional conn_art As String = "SDL", Optional timeout As Integer = 0, Optional list As List(Of SQLVariable) = Nothing, Optional showErr As Boolean = True, Optional ByRef errOccured As Boolean = False) As DataTable
+ Try
+ Dim myTable = New DataTable()
+ Dim conn As New SqlConnection
+ Select Case conn_art
+ Case "SDL" : conn = GetNewOpenConnectionSDL()
+ Case "FMZOLL" : conn = GetNewOpenConnectionFMZOLL()
+ Case "ADMIN" : conn = GetNewOpenConnectionADMIN()
+ Case "ATLAS" : conn = GetNewOpenConnectionATLAS()
+ Case "ATLAS_SBG" : conn = GetNewOpenConnectionATLAS_SBG()
+ Case "EZOLL" : conn = GetNewOpenConnectionEZOLL()
+ Case "AVISO" : conn = GetNewOpenConnectionAVISO()
+ Case "VERAG" : conn = GetNewOpenConnectionFMZOLL()
+ Case "WEB" : conn = GetNewOpenConnectionWEB()
+ End Select
+
+ ' Using conn As SqlConnection = GetNewOpenConnection()
+ Using cmd As New SqlCommand(sql, conn)
+ If list IsNot Nothing Then
+ For Each i In list
+ 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ Next
+ End If
+ If timeout > 0 Then cmd.CommandTimeout = timeout
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ conn.Close()
+ ' End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql)
+ errOccured = True
+ End Try
+
+ Return Nothing
+ End Function
+
+ Function getFirmaWhere()
+ Dim where = ""
+ Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+ Case "IMEX" : where &= " AND [FilialenNr]='5501' "
+ Case "UNISPED" : where &= " AND [FilialenNr]='5601' "
+ Case "AMBAR" : where &= " AND [FilialenNr]='5701' "
+ Case "FRONTOFFICE" : where &= " AND [FilialenNr]='5801' "
+ Case Else : where &= " AND isnull([FilialenNr],0) NOT IN ('5501','5601','5701','5801') "
+ End Select
+ Return where
+ End Function
+ Public Function getFMZOLLKdNrFromEORI(ByVal eori As String, eoriNL As String) As String
+ Dim s As String = ""
+ Dim where = getFirmaWhere()
+
+ Try
+ Dim conn As SqlConnection = GetNewOpenConnectionFMZOLL()
+ Dim sqlStr = ""
+ If eoriNL <> "" Then
+ sqlStr = "SELECT Adressen.AdressenNr FROM Adressen INNER JOIN Kunden ON Adressen.AdressenNr = Kunden.KundenNr WHERE (([EORITIN] = '" & eori & "' AND EORITIN_NL ='" & eoriNL & "') OR ([EORITIN] + '0000' = '" & (eori & eoriNL).Replace(" ", "") & "')) " & where & " ORDER BY AdressenNr DESC"
+ Else
+ sqlStr = "SELECT Adressen.AdressenNr FROM Adressen INNER JOIN Kunden ON Adressen.AdressenNr = Kunden.KundenNr WHERE ( ([EORITIN] = '" & eori & "' AND EORITIN_NL ='" & eoriNL & "') OR [EORITIN] = '" & (eori & eoriNL).Replace(" ", "") & "') " & where & " order by EORITIN_NL desc, AdressenNr DESC"
+ End If
+ Using cmd As New SqlCommand(sqlStr, conn)
+
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ Dim dt As New DataTable
+ dt.Load(dr)
+ If dt.Rows.Count > 1 Then
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW Then
+ MsgBox("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", vbCritical)
+ End If
+ End If
+ s = dt.Rows(0).Item(0)
+ End If
+ dr.Close()
+ End Using
+ conn.Close()
+
+ Return s
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return ""
+ End Function
+
+
+
+ Public Shared Function SQLDatumZeitSekunden(dat As Date) As String
+ 'Datum inklusive Zeit für SQLAbfrage umwandeln (31.01.1998 10:15 Uhr --> #1/31/1998 10:15:00#)
+ SQLDatumZeitSekunden = ""
+ If Not IsDate(dat) Then Exit Function
+ SQLDatumZeitSekunden = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " " &
+ DateAndTime.Hour(dat) & ":" & DateAndTime.Minute(dat) & ":" & DateAndTime.Second(dat) & "'"
+ End Function
+
+ Public Shared Function SQLNullDate(d As Date) As Object
+ 'Wenn Datum 00.00.0000, dann wird dbnull zurückgegeben
+ If d = New Date Then : SQLNullDate = DBNull.Value
+ Else : SQLNullDate = d : End If
+ End Function
+
+ Public Shared Function VarToInt(ByVal wert As Object) As Integer
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value Then
+ Return 0
+ Else
+ Return CInt(wert)
+ End If
+ Catch generatedExceptionName As Exception
+ Return 0
+ End Try
+ End Function
+
+
+ Public Shared Function VarToInt2(ByVal wert As Object) As Integer
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value OrElse Not IsNumeric(wert) Then
+ Return -1
+ Else
+ Return CInt(wert)
+ End If
+ Catch generatedExceptionName As Exception
+ Return -1
+ End Try
+ End Function
+
+ Public Shared Function VarToLng(ByVal wert As Object) As Long
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value Then
+ Return 0
+ Else
+ Return CLng(wert)
+ End If
+ Catch generatedExceptionName As Exception
+ Return 0
+ End Try
+ End Function
+
+ Public Shared Function VarToDbl(ByVal wert As Object) As Double
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value Then
+ Return 0
+ Else
+ Return CDbl(wert)
+ End If
+ Catch generatedExceptionName As Exception
+ Return 0
+ End Try
+ End Function
+
+ Public Shared Function checkNullReturnValue(ByVal o As Object, ByVal returnValue As Object) As Object
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return (o)
+ Return returnValue
+ End Function
+
+ Public Shared Function checkNullIntegerZero(ByVal o As Object) As Integer
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return CInt(o)
+ Return 0
+ End Function
+ Public Shared Function checkNulDbl(ByVal o As Object) As Double
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return CDbl(o)
+ Return -1
+ End Function
+
+ Public Shared Function checkNullBool(ByVal o As Object) As Boolean
+ If o Is Nothing Or o Is DBNull.Value Then Return 0
+ Try
+ Return CBool(o)
+ Catch ex As Exception
+ End Try
+ Return 0
+ End Function
+
+ Public Shared Function checkNullDateReturnValue(ByVal o As Object, ByVal returnValue As Object) As Object
+ If o IsNot Nothing And o IsNot DBNull.Value Then
+ If o.ToString <> "" AndAlso IsDate(o) Then
+ Return CDate(o)
+ End If
+ End If
+ Return returnValue
+ End Function
+ Public Shared Function checkNullDate(ByVal o As Object) As Date
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return CDate(o)
+ Return Now
+ End Function
+ Public Shared Function checkNullDateNothing(ByVal o As Object) As Object
+ If o Is DBNull.Value Then
+ Return Nothing
+ Else
+ Return CDate(o)
+ End If
+ End Function
+ Public Shared Function checkNullInteger(ByVal o As Object) As Integer
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return CInt(o)
+ Return -1
+ End Function
+ Public Shared Function checkNullStr(ByVal o As Object) As String
+ If o IsNot Nothing And o IsNot DBNull.Value Then Return CStr(o)
+ Return ""
+ End Function
+
+
+
+
+ Public Shared Function isDbnullEmpty(o As Object, return_value As Object) As String
+ If IsDBNull(o) Then : isDbnullEmpty = return_value
+ ElseIf IsNothing(o) Then : isDbnullEmpty = return_value
+ Else : isDbnullEmpty = o.ToString
+ End If
+ End Function
+ Public Shared Function isDbnullEmptyCurr(o As Object, return_value As Object) As String
+ If IsDBNull(o) Then : isDbnullEmptyCurr = return_value
+ ElseIf IsNothing(o) Then : isDbnullEmptyCurr = return_value
+ Else : isDbnullEmptyCurr = CDbl(o).ToString("C")
+ End If
+ End Function
+ Public Shared Function isDbnullEmptyDbl(o As Object, kommastellen As Integer, return_value As Object) As String
+ If IsDBNull(o) Then : isDbnullEmptyDbl = return_value
+ ElseIf IsNothing(o) Then : isDbnullEmptyDbl = return_value
+ Else : isDbnullEmptyDbl = CDbl(o).ToString("N" & If(kommastellen > 0, kommastellen, ""))
+ End If
+ End Function
+
+
+
+ Public Shared Function VarToBool(ByVal wert As Object) As Boolean
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value Then
+ Return False
+ Else
+ Return CBool(wert)
+ End If
+ Catch generatedExceptionName As Exception
+ Return False
+ End Try
+ End Function
+
+ Public Shared Function VarToStr(ByVal wert As Object) As String
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value Then
+ Return ""
+ Else
+ Return Trim(DirectCast(wert, String))
+ End If
+ Catch generatedExceptionName As Exception
+ Return ""
+ End Try
+ End Function
+
+ Public Shared Function VarToDate(ByVal wert As Object) As Nullable(Of DateTime)
+ Try
+ If wert Is Nothing OrElse wert Is DBNull.Value Then
+ Return LeerDatum 'Nothing
+ Else
+ Return DirectCast(wert, DateTime)
+ End If
+ Catch generatedExceptionName As Exception
+ Return Nothing
+ End Try
+ End Function
+
+ Public Shared Function IstGleich(i As Integer, ParamArray list As Integer()) As Boolean
+ 'prüft, ob ein Wert in einer Liste enthalten ist - z.B. i = 5 or 7 or 11 or 29
+ For x As Integer = 0 To list.Length - 1
+ If list(x) = i Then
+ Return True
+ End If
+ On Error Resume Next
+ Next
+ Return False
+ End Function
+
+ Public Shared Function Minuten_auf_Text(hMinuten As Long) As String
+ Dim hStunden As Long
+ Dim hMinus As Boolean
+ Dim hMin As Long
+
+ Minuten_auf_Text = ""
+ hMin = hMinuten
+
+ If hMin = 0 Then
+ Minuten_auf_Text = "0:00"
+ Exit Function
+ End If
+
+ If hMin < 0 Then
+ hMinus = True
+ hMin = hMin * -1
+ End If
+
+ hStunden = CLng(Fix(hMin / 60))
+ hMin = hMin - (hStunden * 60)
+ If hMinus Then Minuten_auf_Text = "-" 'Minus wird nur bei Stunden angezeigt
+ Minuten_auf_Text = Minuten_auf_Text & hStunden & ":" & Format(hMin, "00")
+ End Function
+
+ Public Shared Function ZeitInMinuten(hDat As Date) As Long
+ ZeitInMinuten = 0
+ If Not IsDate(hDat) Then Exit Function
+ ZeitInMinuten = Hour(hDat) * 60 + Minute(hDat)
+ End Function
+
+
+
+
+
+ Public Function getATLASKdNrFromZollNr(ByVal ZollNr As String) As String
+ Dim s As String = ""
+ Dim where = getFirmaWhere()
+
+ Try
+ Dim conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL
+ Using cmd As New SqlCommand("SELECT Adressen.AdressenNr FROM Adressen INNER JOIN Kunden ON Adressen.AdressenNr = Kunden.KundenNr WHERE Zollnummer = '" & String.Format(ZollNr, "0000000") & "' " & where & " ORDER BY AdressenNr DESC", conn)
+
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ Dim dt As New DataTable
+ dt.Load(dr)
+ If dt.Rows.Count > 1 Then
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW Then
+ MsgBox("Die Zollnummer " & ZollNr & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", vbCritical)
+ End If
+ End If
+ s = dt.Rows(0).Item(0)
+ End If
+ dr.Close()
+ End Using
+ conn.Close()
+
+ Return s
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+ Return ""
+ End Function
+
+ Public Function getATLASNacherfassungAdresse(ByVal basman_nr As String, ByVal basman_nl As String, ByVal zbant_beznr As String, ByVal zbant_regnr As String, ByVal zbant_korant As String, zbadz_typ As Integer, connArt As String) As String
+ Dim s As String = ""
+
+ Try
+ Dim conn As SqlConnection
+ Select Case connArt
+ Case "ATLAS" : conn = SQL.GetNewOpenConnectionATLAS
+ Case "ATLAS_SBG" : conn = SQL.GetNewOpenConnectionATLAS_SBG
+ End Select
+ Using cmd As New SqlCommand(" SELECT zbadz_name1, baslnd_alpha, zbadz_plz, zbadz_ort " &
+ " FROM zbadz WHERE basman_nr='" & basman_nr & "' And basman_nl='" & basman_nl & "' And zbant_beznr='" & zbant_beznr & "' And zbant_regnr='" & zbant_regnr & "' And zbant_korant='" & zbant_korant & "' And zbadz_typ='" & zbadz_typ & "' " &
+ " ORDER BY basman_nr, basman_nl, zbant_beznr, zbant_regnr, zbant_korant, zbadz_typ", conn)
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ s = Left(Trim(dr.Item("zbadz_name1")) & Trim(", " & dr.Item("baslnd_alpha")) & Trim(", " & dr.Item("zbadz_plz")) & Trim(", " & dr.Item("zbadz_ort")), 50)
+ End If
+ dr.Close()
+ End Using
+ conn.Close()
+
+ Return s
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getATLASNacherfassungAdresseNCTS(ByVal basman_nr As String, ByVal basman_nl As String, ByVal veoant_beznr As String, ByVal intLfdNr As String, ByVal intPosNr As String, lngTyp As String, connArt As String) As String
+ Dim s As String = ""
+ Try
+ Dim conn As SqlConnection = Nothing
+ Select Case connArt
+ Case "ATLAS" : conn = SQL.GetNewOpenConnectionATLAS
+ Case "ATLAS_SBG" : conn = SQL.GetNewOpenConnectionATLAS_SBG
+ End Select
+ If conn IsNot Nothing Then
+
+ Using cmd As New SqlCommand("SELECT veoadr_name1, baslnd_alpha, veoadr_plz, veoadr_ort " &
+ " FROM veoadr WHERE basman_nr='" & basman_nr & "' And basman_nl='" & basman_nl & "' And veoant_beznr='" & veoant_beznr & "' " &
+ " And veoant_lfdnr=" & intLfdNr & " And veopos_posnr=" & intPosNr & " And veoadr_typ=" & lngTyp & " " &
+ " ORDER BY basman_nr, basman_nl, veoant_beznr, veoant_lfdnr, veopos_posnr, veoadr_typ ", conn)
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ s = Left(Trim(dr.Item("veoadr_name1")) & Trim(", " & dr.Item("baslnd_alpha")) & Trim(", " & dr.Item("veoadr_plz")) & Trim(", " & dr.Item("veoadr_ort")), 50)
+ End If
+ dr.Close()
+ End Using
+ conn.Close()
+
+ End If
+ Return s
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+ Return ""
+ End Function
+
+ Public Function getATLASNacherfassungAdresseFrombaskun(ByVal zollNr As String, ByVal basman_nr As String, ByVal basman_nl As String, connArt As String) As String()
+ Dim s(2) As String
+ s(0) = ""
+ s(1) = ""
+ Try
+ Dim conn As SqlConnection
+ Select Case connArt
+ Case "ATLAS" : conn = SQL.GetNewOpenConnectionATLAS
+ Case "ATLAS_SBG" : conn = SQL.GetNewOpenConnectionATLAS_SBG
+ End Select
+
+ Using cmd As New SqlCommand(" SELECT TOP 1 baskun_nr, baskun_kurz,baskun_zbnr " &
+ " FROM baskun WHERE baskun_zbnr='" & zollNr & "' And basman_nr='" & basman_nr & "' And basman_nl='" & basman_nl & "' " &
+ " ORDER BY basman_nr, basman_nl, baskun_nr, baskun_lfd", conn)
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+
+ s(0) = dr.Item("baskun_kurz").ToString
+ s(1) = dr.Item("baskun_nr").ToString
+ End If
+ dr.Close()
+ End Using
+ conn.Close()
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+ Return s
+ End Function
+
+ Public Function getATLASNacherfassungAdresseFrombaskunByKuNr(ByVal baskun_nr As String, ByVal basman_nr As String, ByVal basman_nl As String, connArt As String) As String()
+ Dim s(2) As String
+ s(0) = ""
+ s(1) = ""
+ Try
+
+ Dim conn As SqlConnection
+ Select Case connArt
+ Case "ATLAS" : conn = SQL.GetNewOpenConnectionATLAS
+ Case "ATLAS_SBG" : conn = SQL.GetNewOpenConnectionATLAS_SBG
+ End Select
+ Using cmd As New SqlCommand(" SELECT TOP 1 baskun_nr, baskun_kurz, " &
+ " FROM baskun WHERE baskun_nr='" & baskun_nr & "' And basman_nr='" & basman_nr & "' And basman_nl='" & basman_nl & "' " &
+ " ORDER BY basman_nr, basman_nl, baskun_nr, baskun_lfd DESC", conn)
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ s(0) = dr.Item("baskun_kurz").ToString
+ s(1) = dr.Item("baskun_nr").ToString
+ End If
+ dr.Close()
+ End Using
+ conn.Close()
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+ Return s
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/SendFileTo.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/SendFileTo.vb
new file mode 100644
index 0000000..b1bd569
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/SendFileTo.vb
@@ -0,0 +1,206 @@
+Imports System
+Imports System.Runtime.InteropServices
+Imports System.IO
+Imports System.Collections.Generic
+Imports System.Windows.Forms
+
+Namespace SendFileTo
+ Public Class MAPI
+ Public Function AddRecipientTo(ByVal email As String) As Boolean
+ Return AddRecipient(email, howTo.MAPI_TO)
+ End Function
+
+ Public Function AddRecipientCC(ByVal email As String) As Boolean
+ Return AddRecipient(email, howTo.MAPI_TO)
+ End Function
+
+ Public Function AddRecipientBCC(ByVal email As String) As Boolean
+ Return AddRecipient(email, howTo.MAPI_TO)
+ End Function
+
+ Public Sub AddAttachment(ByVal strAttachmentFileName As String)
+ m_attachments.Add(strAttachmentFileName)
+ End Sub
+
+ Public Function SendMailPopup(ByVal strSubject As String, ByVal strBody As String) As Integer
+ Return SendMail(strSubject, strBody, MAPI_LOGON_UI Or MAPI_DIALOG)
+ End Function
+
+ Public Function SendMailDirect(ByVal strSubject As String, ByVal strBody As String) As Integer
+ Return SendMail(strSubject, strBody, MAPI_LOGON_UI)
+ End Function
+
+
+
+ Private Shared Function MAPISendMail(ByVal sess As IntPtr, ByVal hwnd As IntPtr, ByVal message As MapiMessage, ByVal flg As Integer, ByVal rsv As Integer) As Integer
+ End Function
+
+ Private Function SendMail(ByVal strSubject As String, ByVal strBody As String, ByVal how As Integer) As Integer
+ Dim msg As MapiMessage = New MapiMessage()
+ msg.subject = strSubject
+ msg.noteText = strBody
+
+ msg.recips = GetRecipients(msg.recipCount)
+ msg.files = GetAttachments(msg.fileCount)
+
+ m_lastError = MAPISendMail(New IntPtr(0), New IntPtr(0), msg, how, 0)
+ If m_lastError > 1 Then
+ MessageBox.Show("MAPISendMail failed! " + GetLastError(), "MAPISendMail")
+ End If
+
+ Cleanup(msg)
+ Return m_lastError
+ End Function
+
+ Private Function AddRecipient(ByVal email As String, ByVal howTo As howTo) As Boolean
+ Dim recipient As MapiRecipDesc = New MapiRecipDesc()
+
+ recipient.recipClass = CType(howTo, Integer)
+ recipient.name = email
+ m_recipients.Add(recipient)
+
+ Return True
+ End Function
+
+ Private Function GetRecipients(ByRef recipCount As Integer) As IntPtr
+ recipCount = 0
+ If m_recipients.Count = 0 Then
+ Return 0
+ End If
+
+ Dim size As Integer = Marshal.SizeOf(GetType(MapiRecipDesc))
+ Dim intPtr As IntPtr = Marshal.AllocHGlobal(m_recipients.Count * size)
+
+ Dim ptr As Integer = CType(intPtr, Integer)
+ Dim mapiDesc As MapiRecipDesc
+ For Each mapiDesc In m_recipients
+ Marshal.StructureToPtr(mapiDesc, CType(ptr, IntPtr), False)
+ ptr += size
+ Next
+
+ recipCount = m_recipients.Count
+ Return intPtr
+ End Function
+
+ Private Function GetAttachments(ByRef fileCount As Integer) As IntPtr
+ fileCount = 0
+ If m_attachments Is Nothing Then
+ Return 0
+ End If
+
+ If (m_attachments.Count <= 0) Or (m_attachments.Count > maxAttachments) Then
+ Return 0
+ End If
+
+ Dim size As Integer = Marshal.SizeOf(GetType(MapiFileDesc))
+ Dim intPtr As IntPtr = Marshal.AllocHGlobal(m_attachments.Count * size)
+
+ Dim mapiFileDesc As MapiFileDesc = New MapiFileDesc()
+ mapiFileDesc.position = -1
+ Dim ptr As Integer = CType(intPtr, Integer)
+
+ Dim strAttachment As String
+ For Each strAttachment In m_attachments
+ mapiFileDesc.name = Path.GetFileName(strAttachment)
+ mapiFileDesc.path = strAttachment
+ Marshal.StructureToPtr(mapiFileDesc, CType(ptr, IntPtr), False)
+ ptr += size
+ Next
+
+ fileCount = m_attachments.Count
+ Return intPtr
+ End Function
+
+ Private Sub Cleanup(ByRef msg As MapiMessage)
+ Dim size As Integer = Marshal.SizeOf(GetType(MapiRecipDesc))
+ Dim ptr As Integer = 0
+
+ If msg.recips <> IntPtr.Zero Then
+ ptr = CType(msg.recips, Integer)
+ Dim i As Integer
+ For i = 0 To msg.recipCount - 1 Step i + 1
+ Marshal.DestroyStructure(CType(ptr, IntPtr), GetType(MapiRecipDesc))
+ ptr += size
+ Next
+ Marshal.FreeHGlobal(msg.recips)
+ End If
+
+ If msg.files <> IntPtr.Zero Then
+ size = Marshal.SizeOf(GetType(MapiFileDesc))
+
+ ptr = CType(msg.files, Integer)
+ Dim i As Integer
+ For i = 0 To msg.fileCount - 1 Step i + 1
+ Marshal.DestroyStructure(CType(ptr, IntPtr), GetType(MapiFileDesc))
+ ptr += size
+ Next
+ Marshal.FreeHGlobal(msg.files)
+ End If
+
+ m_recipients.Clear()
+ m_attachments.Clear()
+ m_lastError = 0
+ End Sub
+
+ Public Function GetLastError() As String
+ If m_lastError <= 26 Then
+ Return errors(m_lastError)
+ End If
+ Return "MAPI error [" + m_lastError.ToString() + "]"
+ End Function
+
+ ReadOnly errors() As String = New String() {"OK [0]", "User abort [1]", "General MAPI failure [2]", "MAPI login failure [3]", "Disk full [4]", "Insufficient memory [5]", "Access denied [6]", "-unknown- [7]", "Too many sessions [8]", "Too many files were specified [9]", "Too many recipients were specified [10]", "A specified attachment was not found [11]", "Attachment open failure [12]", "Attachment write failure [13]", "Unknown recipient [14]", "Bad recipient type [15]", "No messages [16]", "Invalid message [17]", "Text too large [18]", "Invalid session [19]", "Type not supported [20]", "A recipient was specified ambiguously [21]", "Message in use [22]", "Network failure [23]", "Invalid edit fields [24]", "Invalid recipients [25]", "Not supported [26]"}
+
+ Dim m_recipients As New List(Of MapiRecipDesc)
+ Dim m_attachments As New List(Of String)
+ Dim m_lastError As Integer = 0
+
+ Private Const MAPI_LOGON_UI As Integer = &H1
+ Private Const MAPI_DIALOG As Integer = &H8
+ Private Const maxAttachments As Integer = 20
+
+ Enum howTo
+ MAPI_ORIG = 0
+ MAPI_TO
+ MAPI_CC
+ MAPI_BCC
+ End Enum
+
+ End Class
+
+ _
+ Public Class MapiMessage
+ Public reserved As Integer
+ Public subject As String
+ Public noteText As String
+ Public messageType As String
+ Public dateReceived As String
+ Public conversationID As String
+ Public flags As Integer
+ Public originator As IntPtr
+ Public recipCount As Integer
+ Public recips As IntPtr
+ Public fileCount As Integer
+ Public files As IntPtr
+ End Class
+
+ _
+ Public Class MapiFileDesc
+ Public reserved As Integer
+ Public flags As Integer
+ Public position As Integer
+ Public path As String
+ Public name As String
+ Public type As IntPtr
+ End Class
+
+ _
+ Public Class MapiRecipDesc
+ Public reserved As Integer
+ Public recipClass As Integer
+ Public name As String
+ Public address As String
+ Public eIDSize As Integer
+ Public enTryID As IntPtr
+ End Class
+End Namespace
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb
new file mode 100644
index 0000000..63dc065
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb
@@ -0,0 +1,320 @@
+
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cUSTVAntrag
+
+ Property UStVAn_ID As Integer
+ Property UStVAn_KuNr As Object = Nothing ' INT Not NULL,
+ Property UStVAn_Name As Object = Nothing ' NVARCHAR(80) NULL,
+ Property UStVAn_Straße As Object = Nothing ' NVARCHAR(40) NULL,
+ Property UStVAn_LandKz As Object = Nothing ' NVARCHAR(3) NULL,
+ Property UStVAn_PLZ As Object = Nothing ' NVARCHAR(7) NULL,
+ Property UStVAn_Ort As Object = Nothing ' NVARCHAR(40) NULL,
+ Property UStVAn_Land As Object = Nothing ' NVARCHAR(22) NULL,
+ Property UStVAn_Gewerbe As Object = Nothing ' NVARCHAR(50) NULL,
+ Property UStVAn_Steuernummer As Object = Nothing ' NVARCHAR(20) NULL,
+ Property UStVAn_ReDatVon As Object = Nothing ' DATETIME Not NULL,
+ Property UStVAn_ReDatBis As Object = Nothing ' DATETIME Not NULL,
+ Property UStVAn_Bankverbindung As Object = Nothing ' NVARCHAR(50) NULL,
+ Property UStVAn_BLZ As Object = Nothing ' NVARCHAR(8) NULL,
+ Property UStVAn_KTO As Object = Nothing ' NVARCHAR(12) NULL,
+ Property UStVAn_Kontoinhaber As Object = Nothing ' NVARCHAR(50) NULL,
+ Property UStVAn_BIC As Object = Nothing ' NVARCHAR(11) NULL,
+ Property UStVAn_IBAN As Object = Nothing ' NVARCHAR(27) NULL,
+ Property UStVAn_Anlagen As Object = Nothing ' SMALLINT NULL,
+ Property UStVAn_Rechnungen As Object = Nothing ' SMALLINT NULL,
+ Property UStVAn_Einfuhrdokumente As Object = Nothing ' SMALLINT NULL,
+ Property UStVAn_Erklärung_9_a As Object = Nothing ' NVARCHAR(50) NULL,
+ Property UStVAn_Erklärung_9_b_1 As Object = Nothing ' BIT Default ((0)) Not NULL,
+ Property UStVAn_Erklärung_9_b_2 As Object = Nothing ' BIT Default ((0)) Not NULL,
+ Property UStVAn_Erklärung_9_b_3 As Object = Nothing ' BIT Default ((0)) Not NULL,
+ Property UStVAn_Ausstellungsort As Object = Nothing ' NVARCHAR(20) NULL,
+ Property UStVAn_Ausstellungsdatum As Object = Nothing ' DATETIME NULL,
+ Property UStVAn_Unterschrift As Object = Nothing ' NVARCHAR(20) NULL,
+ Property UStVAn_LandNr As Object = Nothing ' SMALLINT Default ((38)) Not NULL,
+ Property UStVAn_Beleganzahl As Object = Nothing ' SMALLINT NULL,
+ Property UStVAn_BeleganzahlRetourniert As Object = Nothing ' SMALLINT NULL,
+ Property UStVAn_Retournierungsgrund As Object = Nothing ' NVARCHAR(255) NULL,
+ Property UStVAn_AntragEingereichtAm As Object = Nothing ' DATETIME NULL,
+ Property UStVAn_BelegeWeitergeleitetAm As Object = Nothing ' DATETIME NULL,
+ Property UStVAn_Vertreter As Object = Nothing ' INT NULL,
+ Property UStVAn_BezugsNr As Object = Nothing ' NVARCHAR(35) NULL,
+ Property UStVAn_3470 As Object = Nothing ' MONEY NULL,
+ Property UStVAn_VZBetrag As Object = Nothing ' MONEY NULL,
+ Property UStVAn_VZDatum As Object = Nothing ' DATETIME NULL,
+ Property UStVAn_RZBetragVZ As Object = Nothing ' MONEY NULL,
+ Property UStVAn_RZDatumVZ As Object = Nothing ' DATETIME NULL,
+ Property FilialenNr As Object = Nothing ' SMALLINT NULL,
+ Property AbfertigungsNr As Object = Nothing ' INT NULL,
+ Property UStVAn_Währungscode As Object = Nothing ' NVARCHAR(3) NULL,
+ Property UStVAn_USteuerbetrag As Object = Nothing ' MONEY Default ((0)) NULL,
+ Property UStVAn_Erstattungsbetrag As Object = Nothing ' MONEY Default ((0)) NULL,
+ Property UStVAn_USteuerbetragEUR As Object = Nothing ' MONEY Default ((0)) NULL,
+ Property UStVAn_ErstattungsbetragEUR As Object = Nothing ' MONEY Default ((0)) NULL,
+ Property UStVAn_Sachbearbeiter As Object = Nothing ' NVARCHAR(15) NULL,
+ Property UStVAn_Zeitstempel As Object = Nothing ' DATETIME Default (getdate()) NULL,
+
+ Property POSITIONEN As New List(Of cUStVPositionen) '= Nothing
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+ Sub New(UStVAn_ID)
+ Me.UStVAn_ID = UStVAn_ID
+ LOAD(UStVAn_ID)
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID,, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_KuNr", UStVAn_KuNr)) ' INT Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Name", UStVAn_Name)) ' NVARCHAR(80) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Straße", UStVAn_Straße)) ' NVARCHAR(40) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_LandKz", UStVAn_LandKz)) ' NVARCHAR(3) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_PLZ", UStVAn_PLZ)) ' NVARCHAR(7) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Ort", UStVAn_Ort)) ' NVARCHAR(40) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Land", UStVAn_Land)) ' NVARCHAR(22) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Gewerbe", UStVAn_Gewerbe)) ' NVARCHAR(50) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Steuernummer", UStVAn_Steuernummer)) ' NVARCHAR(20) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ReDatVon", UStVAn_ReDatVon)) ' DATETIME Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ReDatBis", UStVAn_ReDatBis)) ' DATETIME Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Bankverbindung", UStVAn_Bankverbindung)) ' NVARCHAR(50) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BLZ", UStVAn_BLZ)) ' NVARCHAR(8) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_KTO", UStVAn_KTO)) ' NVARCHAR(12) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Kontoinhaber", UStVAn_Kontoinhaber)) ' NVARCHAR(50) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BIC", UStVAn_BIC)) ' NVARCHAR(11) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_IBAN", UStVAn_IBAN)) ' NVARCHAR(27) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Anlagen", UStVAn_Anlagen)) ' SMALLINT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Rechnungen", UStVAn_Rechnungen)) ' SMALLINT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Einfuhrdokumente", UStVAn_Einfuhrdokumente)) ' SMALLINT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erklärung_9_a", UStVAn_Erklärung_9_a)) ' NVARCHAR(50) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erklärung_9_b_1", UStVAn_Erklärung_9_b_1)) ' BIT Default ((0)) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erklärung_9_b_2", UStVAn_Erklärung_9_b_2)) ' BIT Default ((0)) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erklärung_9_b_3", UStVAn_Erklärung_9_b_3)) ' BIT Default ((0)) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Ausstellungsort", UStVAn_Ausstellungsort)) ' NVARCHAR(20) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Ausstellungsdatum", UStVAn_Ausstellungsdatum)) ' DATETIME NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Unterschrift", UStVAn_Unterschrift)) ' NVARCHAR(20) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_LandNr", UStVAn_LandNr)) ' SMALLINT Default ((38)) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Beleganzahl", UStVAn_Beleganzahl)) ' SMALLINT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BeleganzahlRetourniert", UStVAn_BeleganzahlRetourniert)) ' SMALLINT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Retournierungsgrund", UStVAn_Retournierungsgrund)) ' NVARCHAR(255) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_AntragEingereichtAm", UStVAn_AntragEingereichtAm)) ' DATETIME NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BelegeWeitergeleitetAm", UStVAn_BelegeWeitergeleitetAm)) ' DATETIME NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Vertreter", UStVAn_Vertreter)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_BezugsNr", UStVAn_BezugsNr)) ' NVARCHAR(35) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_3470", UStVAn_3470)) ' MONEY NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_VZBetrag", UStVAn_VZBetrag)) ' MONEY NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_VZDatum", UStVAn_VZDatum)) ' DATETIME NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_RZBetragVZ", UStVAn_RZBetragVZ)) ' MONEY NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_RZDatumVZ", UStVAn_RZDatumVZ)) ' DATETIME NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) ' SMALLINT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Währungscode", UStVAn_Währungscode)) ' NVARCHAR(3) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_USteuerbetrag", UStVAn_USteuerbetrag)) ' MONEY Default ((0)) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Erstattungsbetrag", UStVAn_Erstattungsbetrag)) ' MONEY Default ((0)) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_USteuerbetragEUR", UStVAn_USteuerbetragEUR)) ' MONEY Default ((0)) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ErstattungsbetragEUR", UStVAn_ErstattungsbetragEUR)) ' MONEY Default ((0)) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Sachbearbeiter", UStVAn_Sachbearbeiter)) ' NVARCHAR(15) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Zeitstempel", UStVAn_Zeitstempel)) ' DATETIME Default (getdate()) NULL,
+
+
+ Return list
+ End Function
+
+ Public Sub LOAD(UStVAn_ID, Optional loadPos = True)
+ Try
+ POSITIONEN.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblUStVAntrag WHERE UStVAn_ID=@UStVAn_ID ", conn)
+ cmd.Parameters.AddWithValue("@UStVAn_ID", UStVAn_ID)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ 'Dim l As New cOfferte
+ For Each i In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(i.Text))
+ End If
+ Next
+ If loadPos Then LOAD_POSITIONEN()
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Sub LOAD_POSITIONEN()
+ Try
+ POSITIONEN.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblUStVPositionen WHERE UStVAn_ID=@UStVAn_ID ", conn)
+ cmd.Parameters.AddWithValue("@UStVAn_ID", Me.UStVAn_ID)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cUStVPositionen
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ POSITIONEN.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Function INSERT() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
+ End Function
+
+ Public Function SAVE() As Boolean
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblUStVAntrag WITH(updlock,serializable) WHERE UStVAn_ID=@UStVAn_ID ) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+ 'Me.Eingegeben_am = Now
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblUStVAntrag (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblUStVAntrag] SET " & str & " WHERE UStVAn_ID=@UStVAn_ID ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getMaxPosNr() As Integer
+ Try
+ Dim maxPosNr = -1
+
+ Return SQL.getValueTxtBySql("SELECT isnull(max([UStVPo_ID]),0)+1 FROM [tblUStVPositionen] where UStVAn_ID='" & UStVAn_ID & "'", "FMZOLL",,, "1")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return -1
+ End Function
+
+
+End Class
+
+
+Public Class cUStVPositionen
+
+ Property UStVAn_ID As Integer
+ Property UStVPo_ID As Integer
+ Property UStVPo_ReDat As Object = Nothing ' DATETIME NULL,
+ Property UStVPo_ReNr As Object = Nothing ' NVARCHAR(20) NULL,
+ Property UStVPo_USteuerbetrag As Object = Nothing ' MONEY Not NULL,
+ Property UStVPo_Leistungsbezeichnung As Object = Nothing ' NVARCHAR(255) NULL,
+ Property UStVPo_Leistender As Object = Nothing ' NVARCHAR(65) NULL,
+ Property UStVPo_Schnittstelle As Object = Nothing ' BIT Default ((0)) Not NULL,
+ Property UStVPo_SchnittstellenNr As Object = Nothing ' SMALLINT Default ((0)) Not NULL,
+ Property UStVPo_Umrechnungskurs As Object = Nothing ' FLOAT(53) NULL,
+ Property UStVPo_USteuerbetragEUR As Object = Nothing ' MONEY NULL,
+ Property UStVPo_Sachbearbeiter As Object = Nothing ' NVARCHAR(15) NULL,
+ Property UStVPo_Zeitstempel As Object = Nothing ' DATETIME Default (getdate()) NULL,
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_ID", UStVPo_ID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_ReDat", UStVPo_ReDat))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_ReNr", UStVPo_ReNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_USteuerbetrag", UStVPo_USteuerbetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Leistungsbezeichnung", UStVPo_Leistungsbezeichnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Leistender", UStVPo_Leistender))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Schnittstelle", UStVPo_Schnittstelle))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_SchnittstellenNr", UStVPo_SchnittstellenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Umrechnungskurs", UStVPo_Umrechnungskurs))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_USteuerbetragEUR", UStVPo_USteuerbetragEUR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Sachbearbeiter", UStVPo_Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Zeitstempel", UStVPo_Zeitstempel))
+ Return list
+ End Function
+
+ Public Function INSERT() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblUStVPositionen (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/_BASE.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/_BASE.vb
new file mode 100644
index 0000000..a0dc3f8
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/_BASE.vb
@@ -0,0 +1,110 @@
+
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class _BASE
+ Property _BASE_id As Integer
+ Property _BASE_value As Object = Nothing
+
+
+ Public hasEntry = False
+
+ Dim SQL As New SQL
+
+ Sub New(_BASE_id)
+ Me._BASE_id = _BASE_id
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("_BASE_id", _BASE_id,, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("_BASE_value", _BASE_value))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTABLE WHERE _BASE_id=@_BASE_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ hasEntry = False
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblTABLE WHERE _BASE_id=@_BASE_id ", conn)
+ cmd.Parameters.AddWithValue("@_BASE_id", _BASE_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblTABLE] SET " & str & " WHERE _BASE_id=@_BASE_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblTABLE (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbfertigungsarten.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbfertigungsarten.vb
new file mode 100644
index 0000000..cd5bb5a
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbfertigungsarten.vb
@@ -0,0 +1,7 @@
+Public Class cAbfertigungsarten
+ Shared SQLtmp As New SQL
+ Public Shared Function getAbfertigungsartBezById(abfArt As Integer)
+ Return SQLtmp.getValueTxtBySql("SELECT [Abfertigungsbezeichnung] FROM [Abfertigungsarten] WHERE [Abfertigungsart]=" & abfArt, "FMZOLL")
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb
new file mode 100644
index 0000000..9479270
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb
@@ -0,0 +1,221 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cAbgaben
+
+ Property [Index] As Integer = -1
+
+ Property Status As Object = Nothing
+ Property ZollamtsNr As Object = Nothing
+ Property Jahr As Object = Nothing
+ Property KennNr As Object = Nothing
+ Property Nummer As Object = Nothing
+ Property Leitzahl As Object = Nothing
+ Property Belegart As Object = Nothing
+ Property LeistungsNr As Object = Nothing
+ Property Betrag As Object = Nothing
+ Property Eingabedatum As Object = Nothing
+ Property Abfertigungsdatum As Object = Nothing
+ Property Übernahmedatum As Object = Nothing
+ Property Bemerkung As Object = Nothing
+ Property Sachbearbeiter As Object = Nothing
+ Property Bezugsnummer As Object = Nothing
+ Property Registriernummer As Object = Nothing
+ Property Korrekturnummer As Object = Nothing
+ Property AOFD As Object = Nothing
+ Property AKTO As Object = Nothing
+ Property Fälligkeitsdatum As Object = Nothing
+ Property Dateiname As Object = Nothing
+ Property Mandant As Object = Nothing
+ Property Niederlassung As Object = Nothing
+ Property LeistungsBez As Object = Nothing
+
+
+ Public hasEntry As Boolean = False
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(Index)
+ If Index IsNot Nothing Then
+ Me.Index = Index
+ LOAD()
+ End If
+ End Sub
+
+ Sub New(Registriernummer, Belegart, Betrag)
+ LOAD(Registriernummer, Belegart, Betrag)
+ End Sub
+
+
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Index", [Index], , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Status", [Status]))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ZollamtsNr", ZollamtsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Jahr", Jahr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KennNr", KennNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nummer", Nummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leitzahl", Leitzahl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegart", Belegart))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag", Betrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eingabedatum", Eingabedatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsdatum", Abfertigungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Übernahmedatum", Übernahmedatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bemerkung", Bemerkung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezugsnummer", Bezugsnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Registriernummer", Registriernummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Korrekturnummer", Korrekturnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AOFD", AOFD))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AKTO", AKTO))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fälligkeitsdatum", Fälligkeitsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Dateiname", Dateiname))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mandant", Mandant))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Niederlassung", Niederlassung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE(Optional errHinweis = "") As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Zkteing WITH(updlock,serializable) WHERE [Index]=@Index) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ [Index] = SQL.doSQLVarListID([Index], sqlstr, "FMZOLL", , list,, errHinweis)
+ Return [Index] > 0
+ End Function
+
+ Shared Function EXISTS(LeistungsNr, Betrag, Registriernummer, AOFD, AKTO, Fälligkeitsdatum) As Boolean
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag", Betrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Registriernummer", Registriernummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AOFD", AOFD))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AKTO", AKTO))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fälligkeitsdatum", Fälligkeitsdatum))
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Dim count = SQL.getValueTxtBySqlVarList("SELECT count(*) FROM Zkteing WHERE LeistungsNr=@LeistungsNr AND Betrag=@Betrag AND Registriernummer=@Registriernummer AND AOFD=@AOFD AND AKTO=@AKTO AND Fälligkeitsdatum=@Fälligkeitsdatum ", "FMZOLL", list, 0)
+ Return (count > 0)
+ End Function
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Zkteing WHERE [Index]=@Index ", conn)
+ cmd.Parameters.AddWithValue("@Index", [Index])
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+ hasEntry = True
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Sub LOAD(Registriernummer, Belegart, Betrag)
+ If Betrag Is Nothing Then Betrag = 0
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Zkteing WHERE Registriernummer=@Registriernummer AND Belegart=@Belegart AND Betrag=@Betrag ", conn)
+ cmd.Parameters.AddWithValue("@Registriernummer", Registriernummer)
+ cmd.Parameters.AddWithValue("@Belegart", Belegart)
+ cmd.Parameters.AddWithValue("@Betrag", CDbl(Betrag))
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+ hasEntry = True
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [Zkteing] SET " & str & " WHERE [Index]=@Index ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO Zkteing (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [Zkteing] WITH(updlock,serializable) WHERE [Index]=" & Me.[Index]
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Shared Function DELETE(id As Integer) As Boolean
+ Dim SQL As New SQL
+ Dim sqlstr = " DELETE FROM [Zkteing] WHERE [Index]=" & id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbrechnung_NCTSBrg.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbrechnung_NCTSBrg.vb
new file mode 100644
index 0000000..c67f37f
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAbrechnung_NCTSBrg.vb
@@ -0,0 +1,149 @@
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+
+Public Class cAbrechnung_NCTSBrg_LIST
+ Public LIST As New List(Of cAbrechnung_NCTSBrg)
+
+ Sub New(abrg_Partner)
+ LOAD_LIST(abrg_Partner)
+
+ End Sub
+
+ Sub LOAD_LIST(abrg_Partner)
+ Try
+ LIST.Clear()
+
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("Select abrg_Id From [tblAbrechnung_NCTSBrg] Where [abrg_Partner] =@abrg_Partner order by abrg_GarantiewertBis", conn)
+ cmd.Parameters.AddWithValue("@abrg_Partner", abrg_Partner)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim L As New cAbrechnung_NCTSBrg(dr.Item("abrg_Id"))
+ LIST.Add(L)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+
+ End Sub
+End Class
+Public Class cAbrechnung_NCTSBrg
+ Property abrg_Id As Integer
+ Property abrg_Partner As String
+ Property abrg_artAbrechnung As String = "LKW"
+ Property abrg_GarantiewertBis As Decimal = 0
+ Property abrg_bertrag As Decimal = 0
+ Property abrg_prozent As Object = Nothing
+
+ Public _ANZAHL As Integer = 0
+ Public _BETRAG As Integer = 0
+
+ Public hasEntry = False
+
+ Dim SQL As New SQL
+
+ Sub New(abrg_Id)
+ Me.abrg_Id = abrg_Id
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrg_Id", abrg_Id,, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrg_Partner", abrg_Partner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrg_artAbrechnung", abrg_artAbrechnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrg_GarantiewertBis", abrg_GarantiewertBis))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrg_bertrag", abrg_bertrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrg_prozent", abrg_prozent))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblAbrechnung_NCTSBrg WHERE abrg_Id=@abrg_Id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ hasEntry = False
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblAbrechnung_NCTSBrg WHERE abrg_Id=@abrg_Id ", conn)
+ cmd.Parameters.AddWithValue("@abrg_Id", abrg_Id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblAbrechnung_NCTSBrg] SET " & str & " WHERE abrg_Id=@abrg_Id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblAbrechnung_NCTSBrg (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb
new file mode 100644
index 0000000..168acb4
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb
@@ -0,0 +1,296 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cAdressen
+ Property Auswahl As Object = Nothing
+ Property AdressenNr As Object = Nothing
+ Property Ordnungsbegriff As Object = Nothing
+ Property Name_1 As Object = Nothing
+ Property Name_2 As Object = Nothing
+ Property Postfach As Object = Nothing
+ Property PLZPF As Object = Nothing
+ Property Straße As Object = Nothing
+ Property LandKz As Object = Nothing
+ Property PLZ As Object = Nothing
+ Property Ort As Object = Nothing
+ Property Telefon As Object = Nothing
+ Property Telefax As Object = Nothing
+ Property Mobiltelefon As Object = Nothing
+ Property E_Mail As Object = Nothing
+ Property E_Mail2 As Object = Nothing
+ Property Anrede As Object = Nothing
+ Property Ansprechpartner As Object = Nothing
+ Property UstIdKz As Object = Nothing
+ Property UstIdNr As Object = Nothing
+ Property UstIdGeprüft As Object = Nothing
+ Property BLZ As Object = Nothing
+ Property KTO As Object = Nothing
+ Property Eingegeben_am As Object = Nothing
+ Property Geändert_am As Object = Nothing
+ Property Sachbearbeiter As Object = Nothing
+ Property Rechnungsdruck As Object = Nothing
+ Property Steuernummer As Object = Nothing
+ Property IDSKundenNr As Object = Nothing
+ Property WölflKundenNr As Object = Nothing
+ Property MSEKundenNr As Object = Nothing
+ Property MSEExportCSV As Object = Nothing
+ Property TELEPASS_Kd_Nr As Object = Nothing
+ Property ASFINAGExportCSV As Object = Nothing
+ Property UStV_GVAnfDat As Object = Nothing
+ Property UStV_GVAusDat As Object = Nothing
+ Property ExportMautberichtCSV As Object = Nothing
+ Property UTAKundenNr As Object = Nothing
+ Property UTAExportCSV As Object = Nothing
+ 'Property SSMA_TimeStamp As Object = Nothing
+ Property MWSTVorauszahlung As Object = Nothing
+ Property PLOSEKundenNr As Object = Nothing
+
+
+ Public hasEntry = False
+ Shared SQL As New SQL
+
+ Sub New(AdressenNr)
+ Me.AdressenNr = AdressenNr
+ If AdressenNr <= 0 Then
+ INIT_NEWKD_DATA()
+ Else
+ LOAD()
+ End If
+ End Sub
+
+ Public Function FullName() As String
+ Return (If(Name_1, "") & " " & If(Name_2, "")).ToString.Replace(" ", " ")
+ End Function
+
+ Public Shared Function getHoechsteKdNr(NrKr_von As Integer, NrKr_bis As Integer) As Integer
+ Try
+ Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL(False)
+
+ Using cmd As New SqlCommand("select isnull(min([AdressenNr]) +1," & NrKr_von & ") as AdressenNr from [Adressen] a INNER JOIN Kunden ON Kundennr=adressennr where AdressenNr between '" & NrKr_von & "' AND '" & NrKr_bis & "' AND not exists ( select * from [Adressen] b where AdressenNr between '" & NrKr_von & "' AND '" & NrKr_bis & "' and a.[AdressenNr] +1 = b.[AdressenNr]) AND KundenNr NOT IN (([AdressenNr]) +1) ", conn)
+ 'Using cmd As New SqlCommand("SELECT isnull(max([AdressenNr])," & NrKr_von & ") as AdressenNr FROM Adressen WHERE AdressenNr BETWEEN '" & NrKr_von & "' AND '" & NrKr_bis & "' ", conn)
+ Dim dr = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ If IsNumeric(dr.Item("AdressenNr")) Then Return (CInt(dr.Item("AdressenNr")))
+ End If
+ dr.Close()
+ End Using
+ End Using
+
+ Catch ex As Exception
+
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+ Return -1
+ End Function
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mandant", Mandant))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Auswahl", Auswahl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AdressenNr", AdressenNr, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ordnungsbegriff", Ordnungsbegriff))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Name 1", Name_1, "Name_1"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Name 2", Name_2, "Name_2"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Postfach", Postfach))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PLZPF", PLZPF))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Straße", Straße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LandKz", LandKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PLZ", PLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ort", Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Telefon", Telefon))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Telefax", Telefax))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mobiltelefon", Mobiltelefon))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("E-Mail", E_Mail, "E_Mail"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("E-Mail2", E_Mail2, "E_Mail2"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anrede", Anrede))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ansprechpartner", Ansprechpartner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstIdKz", UstIdKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstIdNr", UstIdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstIdGeprüft", UstIdGeprüft))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BLZ", BLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KTO", KTO))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eingegeben am", Eingegeben_am, "Eingegeben_am"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Geändert am", Geändert_am, "Geändert_am"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdruck", Rechnungsdruck))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuernummer", Steuernummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IDSKundenNr", IDSKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("WölflKundenNr", WölflKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MSEKundenNr", MSEKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MSEExportCSV", MSEExportCSV))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TELEPASS-Kd-Nr", TELEPASS_Kd_Nr, "TELEPASS_Kd_Nr"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ASFINAGExportCSV", ASFINAGExportCSV))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_GVAnfDat", UStV_GVAnfDat))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_GVAusDat", UStV_GVAusDat))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ExportMautberichtCSV", ExportMautberichtCSV))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UTAKundenNr", UTAKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UTAExportCSV", UTAExportCSV))
+ ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SSMA_TimeStamp", SSMA_TimeStamp))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MWSTVorauszahlung", MWSTVorauszahlung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PLOSEKundenNr", PLOSEKundenNr))
+
+ Return list
+ End Function
+
+ Sub INIT_NEWKD_DATA()
+ If Me.Sachbearbeiter Is Nothing Then Me.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
+ Me.Eingegeben_am = Now.ToShortDateString
+ Me.Auswahl = "A"
+ Me.Rechnungsdruck = 0
+ End Sub
+
+
+
+ Function VALID(ByRef ERROR_TXT) As Boolean
+ If If(Ordnungsbegriff, "") = "" Then ERROR_TXT = "Bitte geben Sie einen Ordnungsbegriff ein!" : Return False
+ If If(Name_1, "") = "" Then ERROR_TXT = "Bitte geben Sie den Firmenwortlaut ein!" : Return False
+ If If(LandKz, "") = "" Then ERROR_TXT = "Bitte geben Sie das Land an!" : Return False
+ If If(Ort, "") = "" Then ERROR_TXT = "Bitte geben Sie den Ort an!" : Return False
+ If If(PLZ, "") = "" Then ERROR_TXT = "Bitte geben Sie die PLZ an!" : Return False
+ If If(Straße, "") = "" Then ERROR_TXT = "Bitte geben Sie die Straße an!" : Return False
+ Return True
+ End Function
+
+ Public Function SAVE(Optional newFlag = False) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ If newFlag Then INIT_NEWKD_DATA()
+ If AdressenNr <= 0 Then
+ MsgBox("Fehler: KundenNr <= 0!")
+ Return False
+ End If
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Adressen WHERE AdressenNr=@AdressenNr) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+ 'MsgBox(sqlstr)
+
+ Dim id = SQL.doSQLVarListID(AdressenNr, sqlstr, "FMZOLL", , list,,, False, 2)
+ If id = -2 Then id = SQL.doSQLVarListID(AdressenNr, sqlstr, "FMZOLL", , list,,, False, 10) '2.Versuch --> Oft Timeout wg.Fmzoll
+ If id = -2 Then id = SQL.doSQLVarListID(AdressenNr, sqlstr, "FMZOLL", , list) '3.Versuch --> Oft Timeout wg.Fmzoll
+
+ ' Dim id = SQL.doSQLVarListID(, sqlstr, "FMZOLL", , list)
+ If id > 0 Then AdressenNr = id 'Sonst wird beim Speichern mit Fehler -1 in die AdressenNr übergeben
+ Return id > 0
+ End Function
+
+ Public Sub LOAD()
+ Dim test = ""
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL(False)
+ Using cmd As New SqlCommand("SELECT * FROM Adressen WHERE AdressenNr=@AdressenNr ", conn)
+ cmd.Parameters.AddWithValue("@AdressenNr", AdressenNr)
+
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ ' Me.GetType.GetProperty(l.Scalarvariable) = dr.Item(l.Text)
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+ ' MsgBox(l.Text)
+ ' MsgBox(propInfo.PropertyType.ToString)
+ ' propInfo.SetValue(GetType(Object), l.Text)
+
+ 'propInfo.SetValue(Me, l.Text)
+
+ ' Try
+ test = l.Text
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ ' Catch ex As Exception
+
+ ' End Try
+
+ ' Me.GetType.GetProperty(l.Scalarvariable).setSetValue(GetType(Object), l.Text)
+ 'If propInfo IsNot Nothing Then
+ 'propInfo.SetValue(l.Scalarvariable, l.Text)
+ ' End If
+ Next
+ Me.hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ 'Return Nothing
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox(test & "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ ' Return Nothing
+ End Sub
+
+
+
+ Public Function doesOrdnungsbegriffExist() As Boolean
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL(False)
+ Using cmd As New SqlCommand("SELECT count(*) FROM Adressen WHERE Ordnungsbegriff=@Ordnungsbegriff ", conn)
+ cmd.Parameters.AddWithValue("@Ordnungsbegriff", Ordnungsbegriff)
+
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ Return dr.Item(0) > 0
+ End If
+ dr.Close()
+ End Using
+ End Using
+ 'Return Nothing
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return False
+ End Function
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," 'Text.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [Adressen] SET " & str & " WHERE AdressenNr=@AdressenNr ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Shared Function getNewAdressenNr752000() As Integer
+ Return (New SQL).getValueTxtBySql("SELECT isnull(MAX (Adressennr),752000)+1 FROM [Adressen] where [AdressenNr]>752000 and [AdressenNr]<800000", "FMZOLL")
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isonlyForLoad Then 'And (Not i.isPrimaryParam OrElse i.Value > 0) Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," 'Text.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO Adressen (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoAnhaenge.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoAnhaenge.vb
new file mode 100644
index 0000000..4793c4a
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoAnhaenge.vb
@@ -0,0 +1,180 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cAvisoAnhaenge
+ Property anh_id As Integer
+ Property anh_AvisoId As Integer
+ Property anh_SendungsId As Object = Nothing
+ Property anh_Name As String
+ Property anh_docId As Integer
+ Property anh_Art As Object = Nothing
+ Property anh_Typ As String
+ Property anh_Reihenfolge As Integer = 99
+ Property anh_LaufzettelDruck As Boolean = False
+ Property anh_GestellungslisteAnfuegen As Boolean = False
+
+
+ Public hasEntry As Boolean = False
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(anh_id)
+ ' If anh_id IsNot Nothing Then
+ Me.anh_id = anh_id
+ LOAD()
+ ' End If
+ End Sub
+
+ Sub New(anh_AvisoId, anh_Name, anh_docId, anh_Art, anh_Typ, Optional anh_SendungsId = Nothing, Optional anh_Reihenfolge = 99)
+ Me.anh_AvisoId = anh_AvisoId
+ Me.anh_SendungsId = anh_SendungsId
+ Me.anh_Name = anh_Name
+ Me.anh_docId = anh_docId
+ Me.anh_Art = anh_Art
+ Me.anh_Typ = anh_Typ
+ Me.anh_Reihenfolge = anh_Reihenfolge
+
+ End Sub
+
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_id", anh_id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_AvisoId", anh_AvisoId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_SendungsId", anh_SendungsId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_Name", anh_Name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_docId", anh_docId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_Art", anh_Art))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_Typ", anh_Typ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_Reihenfolge", anh_Reihenfolge))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_LaufzettelDruck", anh_LaufzettelDruck))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anh_GestellungslisteAnfuegen", anh_GestellungslisteAnfuegen))
+
+ Return list
+ End Function
+
+
+ Shared Sub LOAD_LIST_ByAviso(ByRef ANH_LIST As List(Of cAvisoAnhaenge), anh_AvisoId As Integer)
+ If ANH_LIST Is Nothing Then ANH_LIST = New List(Of cAvisoAnhaenge)
+ ANH_LIST.Clear()
+ Dim SQL As New SQL
+ For Each r In SQL.loadDgvBySql("SELECT anh_id FROM tblAvisoAnhaenge WHERE anh_AvisoId=" & anh_AvisoId & " ORDER BY anh_Reihenfolge,anh_Name,anh_id", "AVISO").Rows
+ ANH_LIST.Add(New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(r("anh_id")))
+ Next
+ ' If allowchangeCurrIndex Then CURRENT_INDEX = IIf(ANH_LIST.Count > 0, 0, -1)
+ End Sub
+
+ Shared Sub LOAD_LIST_BySendung(ByRef ANH_LIST As List(Of cAvisoAnhaenge), anh_SendungsId As Integer)
+ If ANH_LIST Is Nothing Then ANH_LIST = New List(Of cAvisoAnhaenge)
+ ANH_LIST.Clear()
+ Dim SQL As New SQL
+ For Each r In SQL.loadDgvBySql("SELECT anh_id FROM tblAvisoAnhaenge WHERE anh_SendungsId=" & anh_SendungsId & " ORDER BY anh_Reihenfolge,anh_Name,anh_id", "AVISO").Rows
+ ANH_LIST.Add(New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(r("anh_id")))
+ Next
+ ' If allowchangeCurrIndex Then CURRENT_INDEX = IIf(ANH_LIST.Count > 0, 0, -1)
+ End Sub
+
+ Public Function SAVE(Optional errHinweis = "") As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblAvisoAnhaenge WITH(updlock,serializable) WHERE anh_id=@anh_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ anh_id = SQL.doSQLVarListID(anh_id, sqlstr, "AVISO", , list,, errHinweis)
+ Return anh_id > 0
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
+ Using cmd As New SqlCommand("SELECT * FROM tblAvisoAnhaenge WHERE anh_id=@anh_id ", conn)
+ cmd.Parameters.AddWithValue("@anh_id", anh_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+ hasEntry = True
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblAvisoAnhaenge] SET " & str & " WHERE anh_id=@anh_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblAvisoAnhaenge (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblAvisoAnhaenge] WITH(updlock,serializable) WHERE anh_id=" & Me.anh_id
+ Return SQL.doSQL(sqlstr, "AVISO")
+ End Function
+
+ Public Shared Function DELETE(id As Integer) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblAvisoAnhaenge] WITH(updlock,serializable) WHERE anh_id=" & id
+ Return (New VERAG_PROG_ALLGEMEIN.SQL).doSQL(sqlstr, "AVISO")
+ End Function
+
+ Public Shared Function toggleLaufzettelDruck(id As Integer) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " UPDATE [tblAvisoAnhaenge] SET [anh_LaufzettelDruck] = 1 - [anh_LaufzettelDruck] WHERE anh_id=" & id
+ Return (New VERAG_PROG_ALLGEMEIN.SQL).doSQL(sqlstr, "AVISO")
+ End Function
+
+ Public Shared Function toggleGestellungslisteAnfuegen(id As Integer) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " UPDATE [tblAvisoAnhaenge] SET [anh_GestellungslisteAnfuegen] = 1 - [anh_GestellungslisteAnfuegen] WHERE anh_id=" & id
+ Return (New VERAG_PROG_ALLGEMEIN.SQL).doSQL(sqlstr, "AVISO")
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoBenachrichtigungen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoBenachrichtigungen.vb
new file mode 100644
index 0000000..feec3b3
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cAvisoBenachrichtigungen.vb
@@ -0,0 +1,225 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cAvisoBenachrichtigungen
+
+
+ Property ab_id As Integer = -1
+ Property ab_AvisoID As Integer = -1
+ Property ab_SendungID As Object = Nothing
+ Property ab_Art As String
+ Property ab_Datum As Date
+ Property ab_Status As Integer
+ Property ab_BenachrichtigungCode As Integer
+ Property ab_Beschreibung As String
+ Property ab_Prioritaet As Integer
+ Property ab_Mitarbeiter As String
+ Property ab_MitarbeiterId As Integer
+
+ Property ab_TO_Art As Object = Nothing
+ Property ab_TO_Code As Object = Nothing
+ Property ab_Bestaetigt_MaId As Object = Nothing
+ Property ab_Bestaetigt_Datum As Object = Nothing
+
+ Property ab_Firma As Object = Nothing
+ Property ab_Cluster As Object = Nothing
+ Property ab_collAnhId As Object = Nothing
+ Property ab_Vermerk As Object = Nothing
+
+ Shared SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ ' ab_TO_Art
+ 'F..irma
+ 'N..iederlassung
+ 'A..bteilung
+ 'T..eam
+ 'B..enutzer
+
+ Sub New(ab_id)
+ Me.ab_id = ab_id
+ LOAD()
+ End Sub
+
+ Public Shared Function INSERT_BENACHRICHTIGUNG(ab_AvisoID As Integer, ab_SendungID As Object, ab_BenachrichtigungCode As Integer, Optional ab_TO_Art As Object = Nothing, Optional ab_TO_Code As Object = Nothing, Optional ab_Beschreibung As String = "", Optional ab_Prioritaet As Integer = 0, Optional ab_collAnhId As String = "", Optional ab_Vermerk As String = "") As Boolean
+ Dim AB As New cAvisoBenachrichtigungen
+
+ AB.ab_AvisoID = ab_AvisoID
+ If ab_SendungID IsNot Nothing AndAlso ab_SendungID > 0 Then
+ AB.ab_SendungID = ab_SendungID
+ AB.ab_Art = "S"
+ Else
+ AB.ab_SendungID = Nothing
+ AB.ab_Art = "A"
+ End If
+
+ AB.ab_TO_Art = ab_TO_Art
+ AB.ab_TO_Code = ab_TO_Code
+
+ AB.ab_Datum = Now
+ AB.ab_Status = 0
+ AB.ab_BenachrichtigungCode = ab_BenachrichtigungCode
+ If ab_Beschreibung = "" Then ab_Beschreibung = SQL.getValueTxtBySql("SELECT abc_Bezeichnung FROM tblAvisoBenachrichtigungenCodes WHERE abc_id=" & ab_BenachrichtigungCode, "AVISO")
+ AB.ab_Beschreibung = ab_Beschreibung
+ AB.ab_Prioritaet = ab_Prioritaet
+ AB.ab_Mitarbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
+ AB.ab_MitarbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+
+ AB.ab_Firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+ AB.ab_Cluster = VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER
+ AB.ab_Vermerk = ab_Vermerk
+ AB.ab_collAnhId = ab_collAnhId
+ Return AB.SAVE
+ End Function
+
+ Public Shared Function BESTAETIGEN_BENACHRICHTIGUNG_ALL(ab_AvisoID, onlytype) As Boolean
+ Dim sqlstr = " Update [tblAvisoBenachrichtigungen] SET ab_Status = 1,ab_Bestaetigt_MaId=-1,ab_Bestaetigt_Datum=getDate() WHERE ab_AvisoID=" & ab_AvisoID & If(onlytype, " and ab_art='A' ", "")
+ Return SQL.doSQL(sqlstr, "AVISO")
+ End Function
+
+ Public Shared Function BESTAETIGEN_BENACHRICHTIGUNG_SND([ab_SendungID], onlytype) As Boolean
+ Dim sqlstr = " Update [tblAvisoBenachrichtigungen] SET ab_Status = 1,ab_Bestaetigt_MaId=-1,ab_Bestaetigt_Datum=getDate() WHERE [ab_SendungID]=" & [ab_SendungID]
+ Return SQL.doSQL(sqlstr, "AVISO")
+ End Function
+
+ Public Function BESTAETIGEN_BENACHRICHTIGUNG() As Boolean
+ Me.ab_Status = 1
+ Me.ab_Bestaetigt_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ Me.ab_Bestaetigt_Datum = Now
+
+ Return Me.SAVE
+ End Function
+
+
+ Public Shared Function BESTAETIGEN_BENACHRICHTIGUNG(ab_id As Integer) As Boolean
+ Dim AB As New cAvisoBenachrichtigungen(ab_id)
+
+ AB.ab_Status = 1
+ AB.ab_Bestaetigt_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ AB.ab_Bestaetigt_Datum = Now
+
+ Return AB.SAVE
+ End Function
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_id", ab_id, , True, True))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_AvisoID", ab_AvisoID)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_SendungID", ab_SendungID)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Art", ab_Art)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Datum", ab_Datum)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Status", ab_Status)) ' VARCHAR(200) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_BenachrichtigungCode", ab_BenachrichtigungCode)) ' VARCHAR(40) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Beschreibung", ab_Beschreibung)) ' VARCHAR(40) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Prioritaet", ab_Prioritaet)) 'VARCHAR(40) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Mitarbeiter", ab_Mitarbeiter)) 'VARCHAR(60) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_MitarbeiterId", ab_MitarbeiterId))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_TO_Art", ab_TO_Art))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_TO_Code", ab_TO_Code))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Bestaetigt_MaId", ab_Bestaetigt_MaId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Bestaetigt_Datum", ab_Bestaetigt_Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Firma", ab_Firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Cluster", ab_Cluster))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_collAnhId", ab_collAnhId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Vermerk", ab_Vermerk))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblAvisoBenachrichtigungen WITH(updlock,serializable) WHERE ab_id=@ab_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ ab_id = SQL.doSQLVarListID(ab_id, sqlstr, "AVISO", , list)
+ Return ab_id > 0
+ End Function
+
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO
+ Using cmd As New SqlCommand("SELECT * FROM tblAvisoBenachrichtigungen WHERE ab_id=@ab_id ", conn)
+ cmd.Parameters.AddWithValue("@ab_id", ab_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblAvisoBenachrichtigungen] SET " & str & " WHERE ab_id=@ab_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblAvisoBenachrichtigungen (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblAvisoBenachrichtigungen] WITH(updlock,serializable) WHERE ab_id=" & Me.ab_id
+ Return SQL.doSQL(sqlstr, "AVISO")
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cBonitaetsauskunft.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cBonitaetsauskunft.vb
new file mode 100644
index 0000000..864c494
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cBonitaetsauskunft.vb
@@ -0,0 +1,182 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cBonitaetsauskunft
+
+ Property ba_id As Integer = -1
+ Property ba_KundenNr As Integer
+ Property ba_Datum As Date
+ Property ba_MaId As Integer
+ Property ba_Sachbearbeiter As String = ""
+ Property ba_CRArt As String = ""
+ Property ba_CRAnsprechpartnerHerrFrau As String = ""
+ Property ba_CRAnsprechpartner As String = ""
+ Property ba_Firma As String = ""
+ Property ba_Adresse1 As String = ""
+ Property ba_Adresse2 As String = ""
+ Property ba_LetztesBearbeitungsDatum As Object = Nothing
+ Property ba_BonitaetsIndex As Integer
+ Property ba_GruendundsDatum As Object = Nothing
+ Property ba_Umsatz As Object = Nothing
+ Property ba_Mitarbeiter As Object = Nothing
+ Property ba_Bankverbindung As Object = Nothing
+ Property ba_Hoechstkredit As Object = Nothing
+ Property ba_Zahlungsweise As Object = Nothing
+ Property ba_GFName As Object = Nothing
+ Property ba_Sonstiges As Object = Nothing
+ Property ba_Risikostufe As Object = Nothing
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(ba_id)
+ Me.ba_id = ba_id
+ LOAD()
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_id", ba_id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_KundenNr", ba_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Datum", ba_Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_MaId", ba_MaId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Sachbearbeiter", ba_Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_CRArt", ba_CRArt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_CRAnsprechpartnerHerrFrau", ba_CRAnsprechpartnerHerrFrau))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_CRAnsprechpartner", ba_CRAnsprechpartner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Firma", ba_Firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Adresse1", ba_Adresse1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Adresse2", ba_Adresse2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_LetztesBearbeitungsDatum", ba_LetztesBearbeitungsDatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_BonitaetsIndex", ba_BonitaetsIndex))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_GruendundsDatum", ba_GruendundsDatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Umsatz", ba_Umsatz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Mitarbeiter", ba_Mitarbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Bankverbindung", ba_Bankverbindung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Hoechstkredit", ba_Hoechstkredit))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Zahlungsweise", ba_Zahlungsweise))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_GFName", ba_GFName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Sonstiges", ba_Sonstiges))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ba_Risikostufe", ba_Risikostufe))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblBonitaetsauskunft WITH(updlock,serializable) WHERE ba_id=@ba_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ ba_id = SQL.doSQLVarListID(ba_id, sqlstr, "FMZOLL", , list)
+ Return ba_id > 0
+ End Function
+
+ Public Shared Function LOADByKdNrDate(ba_KundenNr As Integer, ba_Datum As Date) As cBonitaetsauskunft
+ Try
+ Dim BONI As New cBonitaetsauskunft
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblBonitaetsauskunft WHERE ba_KundenNr=@ba_KundenNr AND cast(ba_Datum as date)=@ba_Datum ", conn)
+ cmd.Parameters.AddWithValue("@ba_KundenNr", ba_KundenNr)
+ cmd.Parameters.AddWithValue("@ba_Datum", ba_Datum.ToShortDateString)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In BONI.getParameterList()
+ Dim propInfo As PropertyInfo = BONI.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(BONI, Nothing)
+ Else
+ propInfo.SetValue(BONI, dr.Item(l.Text))
+ End If
+
+ Next
+ dr.Close()
+ Return BONI
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblBonitaetsauskunft WHERE ba_id=@ba_id ", conn)
+ cmd.Parameters.AddWithValue("@ba_id", ba_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblBonitaetsauskunft] SET " & str & " WHERE ba_id=@ba_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblBonitaetsauskunft (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cClasses.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cClasses.vb
new file mode 100644
index 0000000..bebff68
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cClasses.vb
@@ -0,0 +1,127 @@
+
+
+Public Class MyListItem
+ Private mText As String
+ Private mValue As String
+
+ Public Sub New(ByVal pText As String, ByVal pValue As String)
+ mText = pText
+ mValue = pValue
+ End Sub
+
+ Public ReadOnly Property Text() As String
+ Get
+ Return mText
+ End Get
+ End Property
+
+ Public ReadOnly Property Value() As String
+ Get
+ Return mValue
+ End Get
+ End Property
+
+ Public Overrides Function ToString() As String
+ Return mText
+ End Function
+
+
+End Class
+
+
+
+Public Class MyListItem2
+ Private mText As Object
+ Private mValue As Object
+
+ Public Sub New(ByVal pText As Object, ByVal pValue As Object)
+ mText = pText
+ mValue = pValue
+ End Sub
+
+ Public ReadOnly Property Text() As Object
+ Get
+ Return mText
+ End Get
+ End Property
+
+ Public ReadOnly Property Value() As Object
+ Get
+ Return mValue
+ End Get
+ End Property
+
+ ' Public Overrides Function ToString() As Object
+ ' Return mText
+ ' End Function
+
+
+
+
+
+End Class
+
+
+
+Public Class SQLVariable
+ Private TextSQLName As String
+ Private ValueSQLVALUE As Object
+ Private Scalarvariablename As String
+ Private primaryParam As Boolean
+ Private onlyForLoad As Boolean
+ Private onlyForSave As Boolean
+
+ Public Sub New(ByVal Text As String, ByVal Value As Object, Optional Scalarvariablename As String = "", Optional primaryParam As Boolean = False, Optional onlyForLoad As Boolean = False, Optional onlyForSave As Boolean = False)
+ Me.TextSQLName = Text
+ Me.ValueSQLVALUE = Value
+ Me.primaryParam = primaryParam
+ Me.onlyForLoad = onlyForLoad
+ Me.onlyForSave = onlyForSave
+
+ If Scalarvariablename <> "" Then Me.Scalarvariablename = Scalarvariablename Else Me.Scalarvariablename = Text
+ End Sub
+
+ Public ReadOnly Property Text() As String
+ Get
+ Return TextSQLName
+ End Get
+ End Property
+
+ Public ReadOnly Property Value() As Object
+ Get
+ Return ValueSQLVALUE
+ End Get
+ End Property
+
+ Public ReadOnly Property Scalarvariable() As Object
+ Get
+ Return Scalarvariablename
+ End Get
+ End Property
+
+ Public ReadOnly Property isPrimaryParam() As Boolean
+ Get
+ Return primaryParam
+ End Get
+ End Property
+
+ Public ReadOnly Property isonlyForLoad() As Boolean
+ Get
+ Return onlyForLoad
+ End Get
+ End Property
+
+ Public ReadOnly Property isonlyForSave() As Boolean
+ Get
+ Return onlyForSave
+ End Get
+ End Property
+
+
+ ' Public Overrides Function ToString() As Object
+ ' Return mText
+ ' End Function
+
+
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cCryptography.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cCryptography.vb
new file mode 100644
index 0000000..fa43997
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cCryptography.vb
@@ -0,0 +1,155 @@
+Imports System.IO
+Imports System.Security.Cryptography
+Imports System.Text
+
+Public Class cCryptography
+
+ 'Dim EncryptionKey As String = "$kldfKFSAK37236780!!*+++hHUDO723BNU!$hask+*jhds7!2929j$+jP*!hWrT$kldfKFSAK37236780!!*+++hHUDO723BNU!$hask+*jhds7!2929j$+jP*!hWrT"
+ Shared EncryptionKey As String = "$kldfKFSAK37236780!!*+++hHUDO723BNU!$hask+*jhds7!2929j$+jP*!hWrT$kldfKFSAK37236780!!*+++hHUDO723BNU!$hask+*jhds7!2929j$+jP*!hWrT"
+
+ Public Shared Function Encrypt(clearText As String) As String
+ Dim clearBytes As Byte() = Encoding.Unicode.GetBytes(clearText)
+ Using encryptor As Aes = Aes.Create()
+ Dim pdb As New Rfc2898DeriveBytes(EncryptionKey, New Byte() {&H49, &H76, &H61, &H6E, &H20, &H4D, &H65, &H64, &H76, &H65, &H64, &H65, &H76})
+ encryptor.Key = pdb.GetBytes(32)
+ encryptor.IV = pdb.GetBytes(16)
+ Using ms As New MemoryStream()
+ Using cs As New CryptoStream(ms, encryptor.CreateEncryptor(), CryptoStreamMode.Write)
+ cs.Write(clearBytes, 0, clearBytes.Length)
+ cs.Close()
+ End Using
+ clearText = Convert.ToBase64String(ms.ToArray())
+ End Using
+ End Using
+ Return clearText
+ End Function
+ Public Shared Function Decrypt(cipherText As String) As String
+ Dim cipherBytes As Byte() = Convert.FromBase64String(cipherText)
+ Using encryptor As Aes = Aes.Create()
+ Dim pdb As New Rfc2898DeriveBytes(EncryptionKey, New Byte() {&H49, &H76, &H61, &H6E, &H20, &H4D, &H65, &H64, &H76, &H65, &H64, &H65, &H76})
+ encryptor.Key = pdb.GetBytes(32)
+ encryptor.IV = pdb.GetBytes(16)
+ Using ms As New MemoryStream()
+ Using cs As New CryptoStream(ms, encryptor.CreateDecryptor(), CryptoStreamMode.Write)
+ cs.Write(cipherBytes, 0, cipherBytes.Length)
+ cs.Close()
+ End Using
+ cipherText = Encoding.Unicode.GetString(ms.ToArray())
+ End Using
+ End Using
+ Return cipherText
+ End Function
+
+
+
+
+End Class
+
+Public Class cCryptography2
+ Shared _key As String = "!#$a54?3"
+ Public Shared Function Encrypt(ByVal strQueryString As String) As String
+ Dim oES As New Encryption64()
+ Return oES.Encrypt(strQueryString, _key)
+ End Function
+
+ Public Shared Function Decrypt(ByVal strQueryString As String) As String
+ Dim oES As New Encryption64()
+ Return oES.Decrypt(strQueryString, _key)
+ End Function
+
+End Class
+
+
+Public Class Encryption64
+ Private key() As Byte = {}
+ Private IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
+
+ Public Function Decrypt(ByVal stringToDecrypt As String,
+ ByVal sEncryptionKey As String) As String
+ Dim inputByteArray(stringToDecrypt.Length) As Byte
+ Try
+ key = System.Text.Encoding.UTF8.GetBytes(Left(sEncryptionKey, 8))
+ Dim des As New DESCryptoServiceProvider()
+ inputByteArray = Convert.FromBase64String(stringToDecrypt)
+ Dim ms As New MemoryStream()
+ Dim cs As New CryptoStream(ms, des.CreateDecryptor(key, IV),
+ CryptoStreamMode.Write)
+ cs.Write(inputByteArray, 0, inputByteArray.Length)
+ cs.FlushFinalBlock()
+ Dim encoding As System.Text.Encoding = System.Text.Encoding.UTF8
+ Return encoding.GetString(ms.ToArray())
+ Catch e As Exception
+ Return e.Message
+ End Try
+ End Function
+
+ Public Function Encrypt(ByVal stringToEncrypt As String,
+ ByVal SEncryptionKey As String) As String
+ Try
+ key = System.Text.Encoding.UTF8.GetBytes(Left(SEncryptionKey, 8))
+ Dim des As New DESCryptoServiceProvider()
+ Dim inputByteArray() As Byte = Encoding.UTF8.GetBytes(
+ stringToEncrypt)
+ Dim ms As New MemoryStream()
+ Dim cs As New CryptoStream(ms, des.CreateEncryptor(key, IV),
+ CryptoStreamMode.Write)
+ cs.Write(inputByteArray, 0, inputByteArray.Length)
+ cs.FlushFinalBlock()
+ Return Convert.ToBase64String(ms.ToArray())
+ Catch e As Exception
+ Return e.Message
+ End Try
+ End Function
+
+End Class
+
+
+Public Class cCryptography3
+ Shared _key As String = "!#?"
+
+
+ 'Public Shared Function Encrypt(ByVal strQueryString As String) As String
+
+ ' Using hasher As MD5 = MD5.Create() ' create hash object
+
+ ' ' Convert to byte array and get hash
+ ' Dim dbytes As Byte() =
+ ' hasher.ComputeHash(Encoding.UTF8.GetBytes(strQueryString & _key))
+
+ ' ' sb to create string from bytes
+ ' Dim sBuilder As New StringBuilder()
+
+ ' ' convert byte data to hex string
+ ' For n As Integer = 0 To dbytes.Length - 1
+ ' sBuilder.Append(dbytes(n).ToString("X2"))
+ ' Next n
+
+ ' Return sBuilder.ToString()
+ ' End Using
+
+ 'End Function
+
+ Public Shared Function Encrypt(ByVal input As String) As String
+ Dim stringBytes As Byte() = System.Text.Encoding.Unicode.GetBytes(input & _key)
+ Dim sbBytes As StringBuilder = New StringBuilder(stringBytes.Length * 2)
+
+ For Each b As Byte In stringBytes
+ sbBytes.AppendFormat("{0:X2}", b)
+ Next
+
+ Return sbBytes.ToString()
+ End Function
+
+
+ Public Shared Function Decrypt(ByVal hexInput As String) As String
+ Dim numberChars As Integer = hexInput.Length
+ Dim bytes As Byte() = New Byte(numberChars / 2 - 1) {}
+
+ For i As Integer = 0 To numberChars - 1 Step 2
+ bytes(i / 2) = Convert.ToByte(hexInput.Substring(i, 2), 16)
+ Next
+
+ Return System.Text.Encoding.Unicode.GetString(bytes).Replace(_key, "")
+ End Function
+End Class
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cDEBundeslaenderPLZ.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cDEBundeslaenderPLZ.vb
new file mode 100644
index 0000000..fe37de5
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cDEBundeslaenderPLZ.vb
@@ -0,0 +1,175 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cDEBundeslaenderPLZ
+
+ Property PLZ As Integer
+ Property Bundesland As String = ""
+ Property Kreis As String = ""
+ Property Typ As String = ""
+ Property Code As String = ""
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(PLZ)
+ Me.PLZ = PLZ
+ LOADByPLZ(PLZ)
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PLZ", PLZ)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bundesland", Bundesland)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreis", Kreis)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Typ", Typ)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Code", Code)) ' VARCHAR(200) Not NULL,
+ Return list
+ End Function
+
+
+
+ Public Shared Function LOADByPLZ(PLZ As Integer) As cDEBundeslaenderPLZ
+ Try
+ Dim VK As New cDEBundeslaenderPLZ
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblDEBundeslaenderPLZ WHERE PLZ=@PLZ ", conn)
+ cmd.Parameters.AddWithValue("@PLZ", PLZ)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In VK.getParameterList()
+ Dim propInfo As PropertyInfo = VK.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(VK, Nothing)
+ Else
+ propInfo.SetValue(VK, dr.Item(l.Text))
+ End If
+ Next
+ dr.Close()
+ Return VK
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+
+
+ Public Shared Function LOADBundeslandCode_ByPLZ(PLZ As Integer) As String
+ Try
+ Dim VK As New cDEBundeslaenderPLZ
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT Code FROM tblDEBundeslaenderPLZ WHERE PLZ=@PLZ ", conn)
+ cmd.Parameters.AddWithValue("@PLZ", PLZ)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ Return dr.Item("Code")
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ 'Public Function SAVE() As Boolean
+ ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ ' Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblDEBundeslaenderPLZ WITH(updlock,serializable) WHERE post_id=@post_id) " &
+ ' " BEGIN " & getUpdateCmd() & " END " &
+ ' " Else " &
+ ' " BEGIN " & getInsertCmd() & " END " &
+ ' " commit tran "
+
+ ' post_id = SQL.doSQLVarListID(post_id, sqlstr, "FMZOLL", , list)
+ ' Return post_id > 0
+ 'End Function
+
+
+
+ 'Public Sub LOAD()
+ ' Try
+ ' Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ ' Using cmd As New SqlCommand("SELECT * FROM tblDEBundeslaenderPLZ WHERE post_id=@post_id ", conn)
+ ' cmd.Parameters.AddWithValue("@post_id", post_id)
+ ' Dim dr = cmd.ExecuteReader()
+ ' If dr.Read Then
+ ' For Each l In getParameterList()
+ ' Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ ' If dr.Item(l.Text) Is DBNull.Value Then
+ ' propInfo.SetValue(Me, Nothing)
+ ' Else
+ ' propInfo.SetValue(Me, dr.Item(l.Text))
+ ' End If
+
+ ' Next
+
+ ' End If
+ ' dr.Close()
+ ' End Using
+ ' End Using
+ ' Catch ex As Exception
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ ' End Try
+ 'End Sub
+
+
+ 'Public Function getUpdateCmd() As String
+ ' Try
+ ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ ' Dim str As String = ""
+ ' For Each i In list
+ ' If Not i.isPrimaryParam Then
+ ' str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ ' End If
+ ' Next
+ ' str = str.Substring(0, str.Length - 1) 'wg. ','
+ ' Return (" UPDATE [tblDEBundeslaenderPLZ] SET " & str & " WHERE post_id=@post_id ")
+
+ ' Catch ex As Exception
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ ' End Try
+ ' Return ""
+ 'End Function
+
+
+ 'Public Function getInsertCmd() As String
+ ' Try
+ ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ ' Dim str As String = ""
+ ' Dim values As String = ""
+ ' For Each i In list
+ ' If Not i.isPrimaryParam Then
+ ' str &= "[" & i.Text & "],"
+ ' values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ ' End If
+ ' Next
+ ' str = str.Substring(0, str.Length - 1) 'wg. ','
+ ' values = values.Substring(0, values.Length - 1) 'wg. ','
+ ' Return (" INSERT INTO tblDEBundeslaenderPLZ (" & str & ") VALUES(" & values & ") ")
+ ' Catch ex As Exception
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ ' End Try
+ ' Return ""
+ 'End Function
+
+
+ 'Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ ' Dim sqlstr = " DELETE FROM [tblDEBundeslaenderPLZ] WITH(updlock,serializable) WHERE post_id=" & Me.post_id
+ ' Return SQL.doSQL(sqlstr, "FMZOLL")
+ 'End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cDHF_Anhaenge.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cDHF_Anhaenge.vb
new file mode 100644
index 0000000..52fbe2c
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cDHF_Anhaenge.vb
@@ -0,0 +1,174 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cDHF_Anhaenge
+
+ Property dhfanh_id As Integer
+ Property LizenzNr As String
+ Property Operatorid As Integer
+ Property AnmID As Integer
+ Property MsgTyp As String
+ Property ErstelltAm As DateTime
+ Property pfad As String
+ Property LRN As String
+ Property CRN As String
+ Property docID As Integer
+
+ Public hasEntry As Boolean = False
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(dhfanh_id)
+ If dhfanh_id IsNot Nothing Then
+ Me.dhfanh_id = dhfanh_id
+ LOAD()
+ End If
+ End Sub
+
+ Sub New(AnmID, MsgTyp)
+ LOAD(AnmID, MsgTyp)
+ End Sub
+
+
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("dhfanh_id", dhfanh_id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LizenzNr", LizenzNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Operatorid", Operatorid))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnmID", AnmID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MsgTyp", MsgTyp))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErstelltAm", ErstelltAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pfad", pfad))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LRN", LRN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CRN", CRN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("docID", docID))
+ Return list
+ End Function
+
+
+
+ Public Function SAVE(Optional errHinweis = "") As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblDHF_Anhaenge WITH(updlock,serializable) WHERE dhfanh_id=@dhfanh_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ dhfanh_id = SQL.doSQLVarListID(dhfanh_id, sqlstr, "FMZOLL", , list,, errHinweis)
+ Return dhfanh_id > 0
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblDHF_Anhaenge WHERE dhfanh_id=@dhfanh_id ", conn)
+ cmd.Parameters.AddWithValue("@dhfanh_id", dhfanh_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+ hasEntry = True
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Sub LOAD(AnmID, MsgTyp)
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblDHF_Anhaenge WHERE AnmID=@AnmID AND MsgTyp=@MsgTyp ", conn)
+ cmd.Parameters.AddWithValue("@AnmID", AnmID)
+ cmd.Parameters.AddWithValue("@MsgTyp", MsgTyp)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+ hasEntry = True
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "" & i.Text & " = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE tblDHF_Anhaenge SET " & str & " WHERE dhfanh_id=@dhfanh_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "" & i.Text & ","
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblDHF_Anhaenge (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM tblDHF_Anhaenge WITH(updlock,serializable) WHERE dhfanh_id=" & Me.dhfanh_id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Shared Function DELETE(id As Integer) As Boolean
+ Dim SQL As New SQL
+ Dim sqlstr = " DELETE FROM tblDHF_Anhaenge WHERE dhfanh_id=" & id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cERS.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cERS.vb
new file mode 100644
index 0000000..f944dc3
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cERS.vb
@@ -0,0 +1,168 @@
+
+
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cERS
+ Property ers_id As Integer
+ Property ers_progId As Integer
+ Property ers_progName As Object = Nothing
+ Property ers_progVersion As Object = Nothing
+ Property ers_datetime As DateTime = Now
+ Property ers_Testsystem As Boolean
+ Property ers_Type As Object = Nothing
+ Property ers_EMail As Object = Nothing
+ Property ers_maId As Integer = -1
+ Property ers_userName As Object = Nothing
+ Property ers_Firma As Object = Nothing
+ Property ers_errCode As Object = Nothing
+ Property ers_errStack As Object = Nothing
+ Property ers_errMessage As Object = Nothing
+ Property ers_errMethodName As Object = Nothing
+ Property ers_infotext As Object = Nothing
+
+ Public hasEntry = False
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+ Sub New(ers_id)
+ Me.ers_id = ers_id
+ LOAD()
+ End Sub
+
+ Shared Function saveErr(ers_Type, ers_errMessage, ers_errStack, ers_errCode, ers_errMethodName, Optional ers_EMail = Nothing, Optional ers_infotext = Nothing) As Boolean
+ Try
+ Dim ERS As New cERS
+ ERS.ers_progId = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID
+ ERS.ers_userName = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
+ ERS.ers_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ ERS.ers_Testsystem = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
+ ERS.ers_progName = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGNAME
+ ERS.ers_progVersion = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGVERSION
+
+ ERS.ers_Type = ers_Type
+ ERS.ers_EMail = ers_EMail
+ ERS.ers_Firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+ ERS.ers_errMessage = ers_errMessage
+ ERS.ers_errStack = ers_errStack
+ ERS.ers_errCode = ers_errCode
+ ERS.ers_errMethodName = ers_errMethodName
+ ERS.ers_infotext = ers_infotext
+
+ Return ERS.SAVE()
+
+ Catch ex As Exception
+ 'was soll hier noch helfen??
+ End Try
+ End Function
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_id", ers_id,, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_progId", ers_progId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_progVersion", ers_progVersion))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_progName", ers_progName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_datetime", ers_datetime))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_Testsystem", ers_Testsystem))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_Type", ers_Type))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_EMail", ers_EMail))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_maId", ers_maId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_userName", ers_userName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_Firma", ers_Firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_errCode", ers_errCode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_errStack", ers_errStack))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_errMessage", ers_errMessage))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_errMethodName", ers_errMethodName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ers_infotext", ers_infotext))
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblERS WHERE ers_id=@ers_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "ADMIN", False, list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ hasEntry = False
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblERS WHERE ers_id=@ers_id ", conn)
+ cmd.Parameters.AddWithValue("@ers_id", ers_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblERS] SET " & str & " WHERE ers_id=@ers_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblERS (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZB_Waehrungskurse.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZB_Waehrungskurse.vb
new file mode 100644
index 0000000..f6d42d5
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZB_Waehrungskurse.vb
@@ -0,0 +1,149 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cEZB_Waehrungskurse
+
+ ' Property ezb_id As Integer
+ Property ezb_waehrungscode As String = ""
+ Property ezb_waehrungsschluessel As Object = Nothing
+ Property ezb_datum As Date
+ Property ezb_kurs As Double
+
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+
+ ' Sub New(ezb_id As Integer)
+ ' Me.ezb_id = ezb_id
+ ' LOAD_ById(ezb_id)
+ ' End Sub
+
+ Sub New(ezb_waehrungscode As String)
+ Me.ezb_waehrungscode = ezb_waehrungscode
+ LOAD_ByWaehrungscode(ezb_waehrungscode)
+
+ End Sub
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ 'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezb_id", ezb_id, , True, True))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezb_waehrungscode", ezb_waehrungscode))
+ If Me.ezb_waehrungsschluessel Is Nothing Then
+ Me.ezb_waehrungsschluessel = SQL.getValueTxtBySql(" Select TOP 1 isnull([Währungsschlüssel] ,'') FROM [Währungstabelle] where [Währungscode]='" & Me.ezb_waehrungscode.Replace("TRY", "TRL") & "' ", "FMZOLL")
+ End If
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezb_waehrungsschluessel", ezb_waehrungsschluessel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezb_datum", ezb_datum))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezb_kurs", ezb_kurs))
+
+ Return list
+ End Function
+
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblEZB_Waehrungskurse WITH(updlock,serializable) WHERE ezb_waehrungscode=@ezb_waehrungscode AND ezb_datum=@ezb_datum) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ ' ezb_id = SQL.doSQLVarListID(ezb_id, sqlstr, "FMZOLL", , list)
+ ' Return ezb_id > 0
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+
+
+ Public Sub LOAD_ByWaehrungscode(ezb_waehrungscode As String)
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblEZB_Waehrungskurse WHERE ezb_waehrungscode=@ezb_waehrungscode ORDER BY ezb_datum DeSC ", conn)
+ cmd.Parameters.AddWithValue("@ezb_waehrungscode", ezb_waehrungscode)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblEZB_Waehrungskurse] SET " & str & " WHERE ezb_waehrungscode=@ezb_waehrungscode AND ezb_datum=@ezb_datum ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblEZB_Waehrungskurse (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblEZB_Waehrungskurse] WITH(updlock,serializable) WHERE ezb_waehrungscode='" & ezb_waehrungscode & "' AND ezb_datum='" & ezb_datum & "' "
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+ Shared Function UPDATE_Waehrungstabelle(datum As Date) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " UPDATE [Währungstabelle] SET [Währungstabelle].Eurokurs=tblEZB_Waehrungskurse.ezb_kurs
+ FROM [Währungstabelle] inner join tblEZB_Waehrungskurse on [Währungstabelle].Währungsschlüssel=tblEZB_Waehrungskurse.ezb_waehrungsschluessel where tblEZB_Waehrungskurse.ezb_datum='" & datum.ToShortDateString & "' "
+ Return (New SQL).doSQL(sqlstr, "FMZOLL")
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZT_ImportCodenummern.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZT_ImportCodenummern.vb
new file mode 100644
index 0000000..114c81a
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEZT_ImportCodenummern.vb
@@ -0,0 +1,181 @@
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+
+Public Class cEZT_ImportCodenummern
+ Property ezt_id As Integer
+ Property ezt_Land As String = ""
+ Property ezt_Codenummer As String = ""
+ Property ezt_BesMasseinheit As String = ""
+ Property ezt_BesMasseinheit2 As String = ""
+ Property ezt_Start As Date
+ Property ezt_Ende As Date
+ Property ezt_Sprache As String = ""
+ Property ezt_Text As String = ""
+
+ Dim SQL As New SQL
+
+ Public Shared Function delWholeDB()
+ Dim SQL As New SQL
+ Return SQL.doSQL("DELETE FROM [tblEZT_Importcodenummern]", "FMZOLL")
+ End Function
+
+
+ Sub New()
+ End Sub
+
+ Sub New(ezt_id)
+ Me.ezt_id = ezt_id
+ LOAD()
+ End Sub
+
+ Sub New(ezt_Land, ezt_Codenummer, ezt_BesMasseinheit, ezt_BesMasseinheit2, ezt_Start, ezt_Ende, ezt_Sprache, ezt_Text)
+ Me.ezt_Land = ezt_Land
+ Me.ezt_BesMasseinheit = ezt_BesMasseinheit
+ Me.ezt_Codenummer = ezt_Codenummer
+ Me.ezt_BesMasseinheit = ezt_BesMasseinheit
+ Me.ezt_BesMasseinheit2 = ezt_BesMasseinheit2
+ Me.ezt_Start = ezt_Start
+ Me.ezt_Ende = ezt_Ende
+ Me.ezt_Sprache = ezt_Sprache
+ Me.ezt_Text = ezt_Text
+
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_id", ezt_id, , True, True))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_Land", ezt_Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_Codenummer", ezt_Codenummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_BesMasseinheit", ezt_BesMasseinheit))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_BesMasseinheit2", ezt_BesMasseinheit2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_Start", ezt_Start))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_Ende", ezt_Ende))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_Sprache", ezt_Sprache))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezt_Text", ezt_Text))
+
+
+ Return list
+ End Function
+
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblEZT_Importcodenummern WHERE ezt_id=@ezt_id ", conn)
+ cmd.Parameters.AddWithValue("@ezt_id", ezt_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function SAVE_ByID() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblEZT_Importcodenummern WITH(updlock,serializable) WHERE ezt_id=@ezt_id) " &
+ " BEGIN " & getUpdateCmd_ByID() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ ezt_id = SQL.doSQLVarListID(ezt_id, sqlstr, "FMZOLL", , list)
+ Return ezt_id > 0
+ End Function
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblEZT_Importcodenummern WITH(updlock,serializable) WHERE ezt_Codenummer=@ezt_Codenummer AND ezt_Start=@ezt_Start AND ezt_Ende=@ezt_Ende) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+
+ End Function
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblEZT_Importcodenummern] SET " & str & " WHERE ezt_Codenummer=@ezt_Codenummer AND ezt_Start=@ezt_Start AND ezt_Ende=@ezt_Ende ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblEZT_Importcodenummern (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function getUpdateCmd_ByID() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblEZT_Importcodenummern] SET " & str & " WHERE ezt_id=@ezt_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEasyBinding.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEasyBinding.vb
new file mode 100644
index 0000000..15ee127
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEasyBinding.vb
@@ -0,0 +1,117 @@
+Imports System.Data.SqlClient
+Imports Gemeinsames
+Imports System.ComponentModel
+Imports System.Windows.Forms
+
+Public Class cEasyBinding
+ Public WithEvents bindingDataAdapter As New SqlDataAdapter
+ Public WithEvents bindingdataTable As New DataTable
+ Public bindingdataSet As New DataSet
+ Public WithEvents bindingSource As New BindingSource
+
+ Dim connection As SqlConnection
+ Dim initialized = False
+
+ Public updateImmediately = False
+
+ Sub New(Optional conn As String = "SDL")
+ Select Case conn
+ Case "SDL" : connection = cSqlDb.GetNewOpenConnection(False)
+ Case "FMZOLL" : connection = cSqlDb.GetNewOpenConnectionFMZOLL(False)
+ Case "ADMIN" : connection = cSqlDb.GetNewOpenConnectionLogin()
+ Case "AVISO" : connection = cSqlDb.GetNewOpenConnectionAVISO()
+ End Select
+ End Sub
+
+
+
+ Public Sub initBinding(sql, table, Optional List = Nothing)
+ Try
+ bindingSource.CancelEdit()
+ bindingSource = New BindingSource
+ bindingdataTable.Clear()
+ bindingdataTable = New DataTable(table)
+ bindingdataTable.TableName = table
+ bindingdataSet.Clear()
+
+ Try
+
+ If List IsNot Nothing Then
+ Dim cmd As New SqlCommand(sql, connection)
+
+ For Each i In List
+ 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value))
+ Next
+ Me.bindingDataAdapter = New SqlDataAdapter(cmd)
+ Else
+ Me.bindingDataAdapter = New SqlDataAdapter(sql, connection)
+ End If
+
+
+ Catch ex As SqlException
+ MessageBox.Show("Der Connection-String kann nicht verarbeitet werden. Wenden Sie sich an den Programmbetreuer.")
+ End Try
+ Me.bindingDataAdapter.FillSchema(bindingdataSet, SchemaType.Source, table)
+ Me.bindingDataAdapter.Fill(bindingdataSet, table)
+ Me.bindingdataTable = Me.bindingdataSet.Tables(table)
+ Me.bindingSource.DataSource = Me.bindingdataTable
+
+ Me.bindingdataTable.Locale = System.Globalization.CultureInfo.InvariantCulture
+ initialized = True
+ Catch ex As Exception
+ MsgBox("BindingERR01: " & ex.Message)
+ End Try
+ End Sub
+
+ Sub setARITHABORTOn()
+ Try
+ Using cmd As New SqlCommand("SET ARITHABORT ON", connection)
+ cmd.ExecuteNonQuery()
+ End Using
+ Catch ex As Exception
+ MsgBox("BindingERR02: " & "Fehler in setARITHABORTOn: " & ex.Message)
+ End Try
+ End Sub
+
+
+ Public Function updateBinding(Optional tablename As String = "", Optional ContinueUpdateOnError As Boolean = False) As Boolean
+ If Not initialized Then Return True
+ Try
+ bindingSource.EndEdit()
+ Dim builder As New SqlCommandBuilder(bindingDataAdapter)
+ bindingDataAdapter.Update(bindingdataSet, bindingdataTable.TableName)
+ Me.bindingdataSet.AcceptChanges()
+
+ Return True
+ Catch ex As Exception
+ MsgBox("Es ist ein SQL-Fehler beim Updaten der Daten aufgetreten:" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & "Die Werte werden zurückgesetzt!", MsgBoxStyle.OkCancel, "Datenbank-Fehler")
+ Me.bindingSource.ResumeBinding()
+ End Try
+ Return False
+ End Function
+
+
+ Sub binddata(o As Object, bindingParam As String, bindingSource As BindingSource, dataName As String, Optional bindingNullValue As String = "", Optional formatString As String = "")
+ o.DataBindings.Clear()
+ o.DataBindings.Add(New Binding(bindingParam, bindingSource, dataName, True, DataSourceUpdateMode.OnPropertyChanged, bindingNullValue, formatString))
+ End Sub
+
+
+ Private Sub bindingSource_DataError(sender As Object, e As BindingManagerDataErrorEventArgs) Handles bindingSource.DataError
+ ' If the data source raises an exception when a cell value is
+ ' commited, display an error message.
+ If e.Exception IsNot Nothing Then ' AndAlso e. = DataGridViewDataErrorContexts.Commit Then
+ MessageBox.Show("Daten-Fehler: " & vbNewLine & vbNewLine & e.Exception.Message)
+ End If
+ End Sub
+
+
+ 'Private Sub bindingdataTable_ColumnChanged(sender As Object, e As DataColumnChangeEventArgs) Handles bindingdataTable.ColumnChanged
+
+ ' If updateImmediately Then updateBinding()
+
+ 'End Sub
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb
new file mode 100644
index 0000000..d9ab8c3
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb
@@ -0,0 +1,262 @@
+
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cEmailBenachrichtigungList
+ Property eb_KundenNr As Object = Nothing
+ Property eb_ebartId As Object = Nothing
+ Public LIST As New List(Of cEmailBenachrichtigung)
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+
+
+ Sub New(eb_KundenNr, eb_ebartId)
+ Me.eb_KundenNr = eb_KundenNr
+ Me.eb_ebartId = eb_ebartId
+ LOAD(Me.eb_KundenNr, Me.eb_ebartId)
+ End Sub
+ Public Sub CLEAR()
+ LIST.Clear()
+ End Sub
+ Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False)
+ Dim l As New cEmailBenachrichtigung
+ l.eb_KundenNr = eb_KundenNr
+ l.eb_ebartId = eb_ebartId
+ l.eb_EMail = eb_EMail
+ l.eb_cc = cc
+ l.eb_bcc = bcc
+ LIST.Add(l)
+ End Sub
+ Public Sub LOAD(eb_KundenNr, eb_ebartId)
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblEmailBenachrichtigung WHERE eb_KundenNr=@eb_KundenNr and eb_ebartId=@eb_ebartId ", conn)
+ cmd.Parameters.AddWithValue("@eb_KundenNr", eb_KundenNr)
+ cmd.Parameters.AddWithValue("@eb_ebartId", eb_ebartId)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cEmailBenachrichtigung
+ l.eb_KundenNr = dr.Item("eb_KundenNr")
+ l.eb_ebartId = dr.Item("eb_ebartId")
+ l.eb_EMail = dr.Item("eb_EMail")
+ l.eb_cc = dr.Item("eb_cc")
+ l.eb_bcc = dr.Item("eb_bcc")
+ LIST.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+ Function SAVE()
+ If SQL.doSQLVarList("DELETE FROM tblEmailBenachrichtigung WHERE eb_KundenNr=" & Me.eb_KundenNr & " and eb_ebartId=" & Me.eb_ebartId & " ", "FMZOLL") Then
+ For Each l In LIST
+ If Not l.INSERT() Then Return False
+ Next
+ Return True
+ Else
+ Return False
+ End If
+ End Function
+End Class
+Public Class cEmailBenachrichtigung
+ Property eb_KundenNr As Object = Nothing
+ Property eb_ebartId As Object = Nothing
+ Property eb_EMail As Object = Nothing
+ Property eb_cc As Boolean = False
+ Property eb_bcc As Boolean = False
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eb_KundenNr", eb_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eb_ebartId", eb_ebartId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eb_EMail", eb_EMail))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eb_cc", eb_cc))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eb_bcc", eb_bcc))
+ Return list
+ End Function
+
+ Public Function INSERT() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblEmailBenachrichtigung (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Shared Sub eMails_einlesen(Kdnr As String, art As Integer, ByRef Emails As String, ByRef Emails_CC As String, ByRef Emails_BCC As String, Emails_list_sent As VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList)
+ 'ART:
+ '1=Ankunft
+ '2=Freigabe
+ '3=Ankunft Export
+ '4=Freigabe Export
+ Dim Firmen As New cFirmenDAL
+ Dim Firma As New cFirma
+
+ Emails = ""
+ Emails_CC = ""
+ Emails_BCC = ""
+
+ If Kdnr Is Nothing OrElse Not IsNumeric(Kdnr) Then Exit Sub
+ ' Dim Avisierer As New cKunde(hAuftraggeber_kdnr)
+ ' Dim Fraechter As New cKunde(hFrächter_kdnr)
+ Dim Kdnr_Mails As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(Kdnr, art)
+ ' Dim Fraechter_Mails As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(hFrächter_kdnr, art)
+ ' If hAuftraggeber_kdnr <> hFrächter_kdnr Then Fraechter_Mails = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(hFrächter_kdnr, art)
+
+ Dim Emails_list As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList
+ Dim Emails_CC_list As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList
+ Dim Emails_BCC_list As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList
+
+ 'Dim Emails As String
+ For Each i In Kdnr_Mails.LIST
+ If i.eb_bcc Then
+ If Not existing(Kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(Kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_BCC_list.LIST.Add(i) ' &= i.eb_EMail & ";"
+ ElseIf i.eb_cc Then
+ If Not existing(Kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(Kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_CC_list.LIST.Add(i) ' &= i.eb_EMail & ";"
+ Else
+ If Not existing(Kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(Kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_list.LIST.Add(i) ' &= i.eb_EMail & ";"
+ End If
+ Next
+ 'For Each i In Fraechter_Mails.LIST
+ ' If i.eb_bcc Then
+ ' If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_BCC_list.LIST.Add(i) ' &= i.eb_EMail & ";"
+ ' ElseIf i.eb_cc Then
+ ' If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_CC_list.LIST.Add(i) ' &= i.eb_EMail & ";"
+ ' Else
+ ' If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_list.LIST.Add(i) ' &= i.eb_EMail & ";"
+ ' End If
+ 'Next
+
+ For Each i In Emails_list.LIST
+ Emails &= i.eb_EMail & ";"
+ Next
+ For Each i In Emails_CC_list.LIST
+ Emails_CC &= i.eb_EMail & ";"
+ Next
+ For Each i In Emails_BCC_list.LIST
+ Emails_BCC &= i.eb_EMail & ";"
+ Next
+
+ For Each i In Emails_list.LIST : Emails_list_sent.LIST.Add(i) : Next
+ For Each i In Emails_CC_list.LIST : Emails_list_sent.LIST.Add(i) : Next
+ For Each i In Emails_BCC_list.LIST : Emails_list_sent.LIST.Add(i) : Next
+
+ End Sub
+
+ Public Shared Function getAbsenderEmail() As String
+ Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+ Case "IMEX" : Return "noreply@imex-group.at"
+ Case "ATILLA" : Return "noreply@verag.ag"
+ Case "UNISPED" : Return "No-Reply@unisped.at"
+ Case "FRONTOFFICE" : Return "noreply@front-office.eu"
+ Case "AMBAR" : Return "import@ambarlog.com"
+ Case Else : Return "noreply@verag.ag"
+ End Select
+ End Function
+
+ Shared Sub eMails_einlesenOLD(hFrächter_kdnr As String, hAuftraggeber_kdnr As String, art As Integer, ByRef Emails As String, ByRef Emails_CC As String, ByRef Emails_BCC As String, Emails_list_sent As VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList)
+ 'ART:
+ '1=Ankunft
+ '2=Freigabe
+ '3=Ankunft Export
+ '4=Freigabe Export
+ Dim Firmen As New cFirmenDAL
+ Dim Firma As New cFirma
+
+ Emails = ""
+ Emails_CC = ""
+ Emails_BCC = ""
+
+ ' Dim Avisierer As New cKunde(hAuftraggeber_kdnr)
+ ' Dim Fraechter As New cKunde(hFrächter_kdnr)
+ Dim Avisierer_Mails As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(hAuftraggeber_kdnr, art)
+ Dim Fraechter_Mails As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(hFrächter_kdnr, art)
+ If hAuftraggeber_kdnr <> hFrächter_kdnr Then Fraechter_Mails = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(hFrächter_kdnr, art)
+
+ Dim Emails_list As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList
+ Dim Emails_CC_list As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList
+ Dim Emails_BCC_list As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList
+
+ 'Dim Emails As String
+ For Each i In Avisierer_Mails.LIST
+ If i.eb_bcc Then
+ If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_BCC_list.LIST.Add(i) ' &= i.eb_EMail & ";"
+ ElseIf i.eb_cc Then
+ If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_CC_list.LIST.Add(i) ' &= i.eb_EMail & ";"
+ Else
+ If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_list.LIST.Add(i) ' &= i.eb_EMail & ";"
+ End If
+ Next
+ For Each i In Fraechter_Mails.LIST
+ If i.eb_bcc Then
+ If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_BCC_list.LIST.Add(i) ' &= i.eb_EMail & ";"
+ ElseIf i.eb_cc Then
+ If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_CC_list.LIST.Add(i) ' &= i.eb_EMail & ";"
+ Else
+ If Not existing(hFrächter_kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(hFrächter_kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_list.LIST.Add(i) ' &= i.eb_EMail & ";"
+ End If
+ Next
+
+ For Each i In Emails_list.LIST
+ Emails &= i.eb_EMail & ";"
+ Next
+ For Each i In Emails_CC_list.LIST
+ Emails_CC &= i.eb_EMail & ";"
+ Next
+ For Each i In Emails_BCC_list.LIST
+ Emails_BCC &= i.eb_EMail & ";"
+ Next
+
+ For Each i In Emails_list.LIST : Emails_list_sent.LIST.Add(i) : Next
+
+ End Sub
+ Shared Function existing(KundenNr As Integer, Email As String, Emails_list As List(Of VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung), Optional ListEmails_CC_list As List(Of VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung) = Nothing, Optional ListEmails_BCC_list As List(Of VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung) = Nothing) As Boolean
+ If Emails_list IsNot Nothing Then
+ For Each i In Emails_list
+ If i.eb_EMail = Email And i.eb_KundenNr = KundenNr Then Return True
+ Next
+ End If
+ If ListEmails_CC_list IsNot Nothing Then
+ For Each i In ListEmails_CC_list
+ If i.eb_EMail = Email And i.eb_KundenNr = KundenNr Then Return True
+ Next
+ End If
+ If ListEmails_BCC_list IsNot Nothing Then
+ For Each i In ListEmails_BCC_list
+ If i.eb_EMail = Email And i.eb_KundenNr = KundenNr Then Return True
+ Next
+ End If
+ Return False
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb
new file mode 100644
index 0000000..56f0b5d
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb
@@ -0,0 +1,107 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cFirmen
+ Property Firma_ID As Integer
+ Property Firma_Bez As String
+ Property Firma_BackColor As Object = Nothing ' INT DEFAULT ((16777215)) NOT NULL,
+ Property Firma_Logo As Object = Nothing ' VARBINARY (MAX) NULL,
+ Property Firma_Firmenbuch As Object = Nothing ' NVARCHAR (22) NULL,
+ Property Firma_UID As Object = Nothing ' NVARCHAR (16) NULL,
+ Property Firma_EORI As Object = Nothing ' NVARCHAR (21) NULL,
+ Property Firma_Bankverbindung1 As Object = Nothing ' NVARCHAR (50) NULL,
+ Property Firma_BLZ1 As Object = Nothing ' NVARCHAR (33) NULL,
+ Property Firma_KTO1 As Object = Nothing ' NVARCHAR (18) NULL,
+ Property Firma_IBAN1 As Object = Nothing ' NVARCHAR (38) NULL,
+ Property Firma_BIC1 As Object = Nothing ' NVARCHAR (16) NULL,
+ Property Firma_Bankverbindung2 As Object = Nothing ' NVARCHAR (50) NULL,
+ Property Firma_BLZ2 As Object = Nothing ' NVARCHAR (33) NULL,
+ Property Firma_KTO2 As Object = Nothing ' NVARCHAR (18) NULL,
+ Property Firma_IBAN2 As Object = Nothing ' NVARCHAR (38) NULL,
+ Property Firma_BIC2 As Object = Nothing ' NVARCHAR (16) NULL,
+ Property SSMA_TimeStamp As Object = Nothing ' ROWVERSION NOT NULL,
+ Property Firma_Ort As Object = Nothing ' NVARCHAR (40) NULL,
+ Property Firma_Straße As Object = Nothing ' NVARCHAR (40) NULL,
+ Property Firma_Telefon As Object = Nothing ' NVARCHAR (40) NULL,
+ Property Firma_Telefax As Object = Nothing ' NVARCHAR (40) NULL,
+ Property Firma_E_Mail As Object = Nothing ' NVARCHAR (40) NULL, -----
+ Property Firma_Webadresse As Object = Nothing ' NVARCHAR (40) NULL,
+ Property Firma_LandKz As Object = Nothing ' NVARCHAR (40) NULL,
+
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(Firma_ID)
+ Me.Firma_ID = Firma_ID
+ LOAD()
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID, , True, True))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Bez", Firma_Bez))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_BackColor", Firma_BackColor))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Logo", Firma_Logo))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Firmenbuch", Firma_Firmenbuch))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_UID", Firma_UID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_EORI", Firma_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Bankverbindung1", Firma_Bankverbindung1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_BLZ1", Firma_BLZ1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_KTO1", Firma_KTO1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_IBAN1", Firma_IBAN1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_BIC1", Firma_BIC1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Bankverbindung2", Firma_Bankverbindung2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_BLZ2", Firma_BLZ2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_KTO2", Firma_KTO2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_IBAN2", Firma_IBAN2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_BIC2", Firma_BIC2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SSMA_TimeStamp", SSMA_TimeStamp))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Ort", Firma_Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Straße", Firma_Straße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Telefon", Firma_Telefon))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Telefax", Firma_Telefax))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_E-Mail", Firma_E_Mail, "Firma_E_Mail"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Webadresse", Firma_Webadresse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_LandKz", Firma_LandKz))
+
+
+ Return list
+ End Function
+
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblFirma WHERE Firma_ID=@Firma_ID ", conn)
+ cmd.Parameters.AddWithValue("@Firma_ID", Firma_ID)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cFremdSpeditionenZuordnung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cFremdSpeditionenZuordnung.vb
new file mode 100644
index 0000000..9b9d30f
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cFremdSpeditionenZuordnung.vb
@@ -0,0 +1,139 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cFremdSpeditionenZuordnung
+
+
+ Property fremdz_Id As Integer
+ Property fremdz_firma As Object = Nothing
+ Property fremdz_KundenNr As Object = Nothing
+ Property fremdz_plz As Object = Nothing
+ Property fremdz_ort As Object = Nothing
+ Property fremdz_verzolltBei As Object = Nothing
+ Property fremdz_bemerkung As Object = Nothing
+ Property fremdz_SpeditionKundenNr As Object = Nothing
+ Property fremdz_Datum As Object = Nothing
+ Property fremdz_Sachbearbeiter As Object = Nothing
+
+
+ Public hasEntry As Boolean = False
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(fremdz_Id)
+ Me.fremdz_Id = fremdz_Id
+ LOAD()
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_Id", fremdz_Id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_firma", fremdz_firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_KundenNr", fremdz_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_plz", fremdz_plz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_ort", fremdz_ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_verzolltBei", fremdz_verzolltBei))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_bemerkung", fremdz_bemerkung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fremdz_SpeditionKundenNr", fremdz_SpeditionKundenNr))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblFremdSpeditionenZuordnung WITH(updlock,serializable) WHERE fremdz_Id=@fremdz_Id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ fremdz_Id = SQL.doSQLVarListID(fremdz_Id, sqlstr, "FMZOLL", , list)
+ Return fremdz_Id > 0
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblFremdSpeditionenZuordnung WHERE fremdz_Id=@fremdz_Id ", conn)
+ cmd.Parameters.AddWithValue("@fremdz_Id", fremdz_Id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+ hasEntry = True
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblFremdSpeditionenZuordnung] SET " & str & " WHERE fremdz_Id=@fremdz_Id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblFremdSpeditionenZuordnung (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblFremdSpeditionenZuordnung] WITH(updlock,serializable) WHERE fremdz_Id=" & Me.fremdz_Id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Shared Function DELETE(id As Integer) As Boolean
+ Dim SQL As New SQL
+ Dim sqlstr = " DELETE FROM [tblFremdSpeditionenZuordnung] WHERE fremdz_Id=" & id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+End Class
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGelangensbestaetigung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGelangensbestaetigung.vb
new file mode 100644
index 0000000..27e277b
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGelangensbestaetigung.vb
@@ -0,0 +1,131 @@
+
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cGelangensbestaetigung
+
+ Property gb_nr As Integer
+ Property gb_firma As Object = Nothing
+ Property gb_KdNr As Object = Nothing
+ Property gb_datetime As Date
+ Property gb_sachbearbeiter As Object = Nothing
+ Property gb_sachbearbeiterid As Integer
+
+
+
+ Dim SQL As New SQL
+
+ Sub New(gb_nr As Integer)
+ Me.gb_nr = gb_nr
+ Me.gb_sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
+ Me.gb_sachbearbeiterid = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ Me.gb_datetime = Now
+ LOAD()
+ End Sub
+
+
+ Sub New(gb_firma As String, gb_KdNr As Object)
+ Me.gb_nr = SQL.getValueTxtBySqlVarList("SELECT isnull(MAX([gb_nr])+1,( YEAR( GETDATE() ) % 100 ) * 1000000) FROM [tblGelangensbestaetigung] WHERE left(cast([gb_nr] as VARCHAR),2) = ( YEAR( GETDATE() ) % 100 )", "FMZOLL")
+ Me.gb_firma = gb_firma
+ Me.gb_KdNr = gb_KdNr
+ Me.gb_sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
+ Me.gb_sachbearbeiterid = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ Me.gb_datetime = Now
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gb_nr", gb_nr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gb_firma", gb_firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gb_KdNr", gb_KdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gb_datetime", gb_datetime))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gb_sachbearbeiter", gb_sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gb_sachbearbeiterid", gb_sachbearbeiterid))
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblGelangensbestaetigung WITH(updlock,serializable) WHERE gb_nr=@gb_nr) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblGelangensbestaetigung WHERE gb_nr=@gb_nr ", conn)
+ cmd.Parameters.AddWithValue("@gb_nr", gb_nr)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblGelangensbestaetigung] SET " & str & " WHERE gb_nr=@gb_nr ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblGelangensbestaetigung (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ End Class
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsgarantien.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsgarantien.vb
new file mode 100644
index 0000000..ffe1004
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsgarantien.vb
@@ -0,0 +1,133 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cGestellungsgarantien
+ Property gg_Id As Integer
+ Property gg_KundenNr As Integer
+ Property gg_erhalten_Datum As Date
+ Property gg_Zollamt As String
+ Property gg_Info As Object = Nothing
+ Property gg_datenarchivId As Object = Nothing
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+ Sub New(gg_Id)
+ Me.gg_Id = gg_Id
+ LOAD()
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gg_Id", gg_Id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gg_KundenNr", gg_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gg_erhalten_Datum", gg_erhalten_Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gg_Zollamt", gg_Zollamt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gg_Info", gg_Info))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gg_datenarchivId", gg_datenarchivId))
+
+ Return list
+ End Function
+
+ Public Shared Function LOAD_LIST(KundenNr As Integer) As DataTable
+ Return (New SQL).loadDgvBySql("SELECT * FROM tblGestellungsgarantien WHERE gg_KundenNr=" & KundenNr, "FMZOLL")
+ End Function
+
+ Public Shared Function ENTRY_Exists(KundenNr As Integer, Zollamt As String) As Boolean
+ Return (CInt((New SQL).getValueTxtBySql("SELECT count(*) FROM tblGestellungsgarantien WHERE gg_KundenNr=" & KundenNr & " AND gg_Zollamt='" & Zollamt & "'", "FMZOLL")) > 0)
+ End Function
+ Public Shared Function ENTRY_Exists(KundenNr As Integer, Zollamt As String, gg_erhalten_Datum As Date) As Boolean
+ Return (CInt((New SQL).getValueTxtBySql("SELECT count(*) FROM tblGestellungsgarantien WHERE gg_KundenNr=" & KundenNr & " AND gg_Zollamt='" & Zollamt & "' AND gg_erhalten_Datum='" & gg_erhalten_Datum.ToShortDateString & "'", "FMZOLL")) > 0)
+ End Function
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblGestellungsgarantien With(updlock, serializable) WHERE gg_Id=@gg_Id) " &
+ " BEGIN " & getUpdateCmd() & " End " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " End " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("Select * FROM tblGestellungsgarantien WHERE gg_Id=@gg_Id ", conn)
+ cmd.Parameters.AddWithValue("@gg_Id", gg_Id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblGestellungsgarantien] SET " & str & " WHERE gg_Id=@gg_Id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblGestellungsgarantien (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblGestellungsgarantien] WITH(updlock,serializable) WHERE gg_Id=" & Me.gg_Id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsmitteilung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsmitteilung.vb
new file mode 100644
index 0000000..9917157
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cGestellungsmitteilung.vb
@@ -0,0 +1,313 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cGestellungsmitteilung
+
+
+ Property gstm_id As Integer
+ Property gstm_AvisoId As Integer
+ Property gstm_T1Gestellung_ATB As String = ""
+ Property gstm_BezugsNrSumA As String = ""
+ Property gstm_LKWKennzeichen As String = ""
+ Property gstm_GesamtColli As String = ""
+ Property gstm_GesamtGewicht As String = ""
+
+
+ Public hasEntry As Boolean = False
+
+ Public POSITIONEN As New List(Of cGestellungsmitteilungPositionen)
+ Shared SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(gstm_id)
+ Me.gstm_id = gstm_id
+ LOAD() : LOAD_POSITIONEN()
+ End Sub
+
+
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_id", gstm_id, , True, True))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_AvisoId", gstm_AvisoId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_T1Gestellung_ATB", gstm_T1Gestellung_ATB))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_BezugsNrSumA", gstm_BezugsNrSumA))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_LKWKennzeichen", gstm_LKWKennzeichen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_GesamtColli", gstm_GesamtColli))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstm_GesamtGewicht", gstm_GesamtGewicht))
+ Return list
+ End Function
+
+
+
+
+ Public Function SAVE(Optional saveAll As Boolean = True) As Boolean
+
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblGestellungsmitteilung WHERE gstm_id=@gstm_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ gstm_id = SQL.doSQLVarListID(-1, sqlstr, "FMZOLL", , list)
+
+ If gstm_id > 0 Then
+ If saveAll Then SAVE_POSITIONEN(gstm_id) ' positionen speicehrn
+ End If
+ Return gstm_id > 0
+ End Function
+
+
+ Public Function SAVE_POSITIONEN(gstm_id) As Boolean
+ If DELETE_POSITIONEN() Then ' zuerst Einträge löschen...
+ For Each p In POSITIONEN
+ If Not p.INSERT(gstm_id) Then Return False ' ... dann insert
+ Next
+ Else : Return False
+ End If
+ Return True
+ End Function
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblGestellungsmitteilung WHERE gstm_id=@gstm_id ", conn)
+ cmd.Parameters.AddWithValue("@gstm_id", gstm_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasEntry = True
+ LOAD_POSITIONEN()
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+ Public Sub LOADFromAvisoId(gstm_AvisoId)
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblGestellungsmitteilung WHERE gstm_AvisoId=@gstm_AvisoId ", conn)
+ cmd.Parameters.AddWithValue("@gstm_AvisoId", gstm_AvisoId)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasEntry = True
+ LOAD_POSITIONEN()
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblGestellungsmitteilung] SET " & str & " WHERE gstm_id=@gstm_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblGestellungsmitteilung (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE(Optional delPos = True) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ If delPos Then DELETE_POSITIONEN()
+ Dim sqlstr = " DELETE FROM [tblGestellungsmitteilung] WHERE gstm_id=" & Me.gstm_id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Function DELETE_AVISOID(gstm_AvisoId, Optional delPos = True) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ If delPos Then DELETE_POSITIONEN_AVISOID(gstm_AvisoId)
+ Dim sqlstr = " DELETE FROM [tblGestellungsmitteilung] WHERE gstm_AvisoId=" & gstm_AvisoId
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+ Public Function DELETE_POSITIONEN() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblGestellungsmitteilung_Positionen] WHERE gstmp_GstmID=" & Me.gstm_id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Function DELETE_POSITIONEN_AVISOID([gstmp_AvisoID]) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblGestellungsmitteilung_Positionen] WHERE [gstmp_AvisoID]=" & [gstmp_AvisoID]
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Sub LOAD_POSITIONEN()
+ Try
+ POSITIONEN.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("Select * FROM tblGestellungsmitteilung_Positionen WHERE gstmp_GstmID=@gstmp_GstmID order by gstmp_T1Nr", conn)
+ cmd.Parameters.AddWithValue("@gstmp_GstmID", Me.gstm_id)
+
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cGestellungsmitteilungPositionen(gstm_id, gstm_AvisoId)
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ POSITIONEN.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+
+ Catch ex As Exception
+ MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+End Class
+
+
+
+Public Class cGestellungsmitteilungPositionen
+
+ Property gstmp_id As Integer
+ Property gstmp_GstmID As Integer
+ Property gstmp_SendungID As Integer
+ Property gstmp_T1Nr As Object = Nothing
+ Property gstmp_AvisoID As Integer
+ Property gstmp_Abfertigungsart_ID As Object = Nothing
+ Property gstmp_Abfertigungsart As String = ""
+ Property gstmp_Empfaenger As String = ""
+ Property gstmp_Bemerkung As String = ""
+ Property gstmp_FilialenNr As Object = Nothing
+ Property gstmp_AbfertigungsNr As Object = Nothing
+ Property gstmp_UnterNr As Object = Nothing
+ Property gstmp_Colli As String = ""
+ Property gstmp_Gewicht As String = ""
+ Property gstmp_Warenbezeichnung As String = ""
+ Property gstmp_Absender As String = ""
+ Property gstmp_ATANr As String = ""
+
+
+ 'FROM [VERAG].[dbo].[tblGestellungsmitteilung_Positionen]
+
+
+ Dim SQL As New SQL
+
+ Sub New(gstmp_GstmID, gstmp_AvisoID, Optional gstmp_SendungID = 0)
+ Me.gstmp_GstmID = gstmp_GstmID
+ Me.gstmp_AvisoID = gstmp_AvisoID
+ Me.gstmp_SendungID = gstmp_SendungID
+ End Sub
+
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_id", gstmp_id,, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_GstmID", gstmp_GstmID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_SendungID", gstmp_SendungID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_T1Nr", gstmp_T1Nr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_AvisoID", gstmp_AvisoID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Abfertigungsart_ID", gstmp_Abfertigungsart_ID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Abfertigungsart", gstmp_Abfertigungsart))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Empfaenger", gstmp_Empfaenger))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Bemerkung", gstmp_Bemerkung))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_FilialenNr", gstmp_FilialenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_AbfertigungsNr", gstmp_AbfertigungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_UnterNr", gstmp_UnterNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Colli", gstmp_Colli))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Gewicht", gstmp_Gewicht)) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Warenbezeichnung", gstmp_Warenbezeichnung))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_Absender", gstmp_Absender))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gstmp_ATANr", gstmp_ATANr))
+ Return list
+ End Function
+
+ Public Function INSERT(gstmp_GstmID) As Boolean
+ Me.gstmp_GstmID = gstmp_GstmID
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+ 'Me.Eingegeben_am = Now
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblGestellungsmitteilung_Positionen (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cHandlingssaetzeIntern.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cHandlingssaetzeIntern.vb
new file mode 100644
index 0000000..a3be93c
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cHandlingssaetzeIntern.vb
@@ -0,0 +1,88 @@
+
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+
+Public Class cHandlingssaetzeInternLIST
+ Property hs_Bezeichnung As Object = Nothing
+ ' Property OffertenNr As Object = Nothing
+ Public LIST As New List(Of cHandlingssaetzeIntern)
+ Dim SQL As New SQL
+ 'Dim listTodelete As New List(Of cHandlingssaetzeIntern)
+
+ Sub New(hs_Bezeichnung)
+ Me.hs_Bezeichnung = hs_Bezeichnung
+ ' Me.OffertenNr = OffertenNr
+ LOAD_LIST(Me.hs_Bezeichnung)
+ End Sub
+ Public Sub CLEAR()
+ LIST.Clear()
+ End Sub
+
+
+ Public Sub LOAD_LIST(hs_Bezeichnung)
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblHandlingssaetzeIntern WHERE hs_Bezeichnung=@hs_Bezeichnung ", conn)
+ cmd.Parameters.AddWithValue("@hs_Bezeichnung", hs_Bezeichnung)
+ ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cHandlingssaetzeIntern
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+
+ LIST.Add(l)
+
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+ 'Function SAVE()
+ ' If SQL.doSQLVarList("DELETE FROM tblEmailBenachrichtigung WHERE eb_KundenNr=" & Me.eb_KundenNr & " and eb_ebartId=" & Me.eb_ebartId & " ", "FMZOLL") Then
+ ' For Each l In LIST
+ ' If Not l.INSERT() Then Return False
+ ' Next
+ ' Return True
+ ' Else
+ ' Return False
+ ' End If
+ 'End Function
+End Class
+
+Public Class cHandlingssaetzeIntern
+
+ Property hs_Bezeichnung As Object = Nothing
+ Property hs_RgVon As Object = Nothing
+ Property hs_RgAn As Object = Nothing
+ Property hs_Abfertigungsart As Object = Nothing
+ Property hs_Preis As Object = Nothing
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("hs_Bezeichnung", hs_Bezeichnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("hs_RgVon", hs_RgVon))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("hs_RgAn", hs_RgAn))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("hs_Abfertigungsart", hs_Abfertigungsart))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("hs_Preis", hs_Preis))
+ Return list
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKunde.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKunde.vb
new file mode 100644
index 0000000..adab127
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKunde.vb
@@ -0,0 +1,349 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cKunde
+ Property KundenNr As Object = Nothing
+ Property KundenNrZentrale As Object = Nothing
+ Property FilialenNr As Object = Nothing
+ Property Einmalige_Abfertigung As Boolean = False
+ Property Neutralisierung As Object = Nothing
+ Property Avis As Object = Nothing
+ Property Zollvollmacht As Boolean = False
+ Property Zollvollmacht_vom As Object = Nothing
+ Property Lastschrift As Boolean = False
+ Property Lastschrift_von As Object = Nothing
+ Property Lastschrift_bis As Object = Nothing
+ Property Rabattstaffel As Boolean = False
+ Property SVS As Boolean = False
+ Property Vorlageprovision As Object = Nothing
+ Property Kreditaufwendungen As Object = Nothing
+ Property Bankspesen As Object = Nothing
+ Property Bankspesen_Mindestbetrag As Object = Nothing
+ Property Besonderheiten As Object = Nothing
+ Property Sammelrechnung As Object = Nothing
+ Property Steuerschlüssel As Object = Nothing
+ Property Referenznummer As Object = Nothing
+ Property Antragssumme As Object = Nothing
+ Property Antrag_vom As Object = Nothing
+ Property Versicherungssumme As Object = Nothing
+ Property Entscheidung_vom As Object = Nothing
+ Property Kreditlimit As Object = Nothing
+ Property Kreditlimit_vom As Object = Nothing
+ Property Info As Object = Nothing
+ Property Überwachungskunde As Boolean = False
+ Property Abfertigungsverbot As Boolean = False
+ Property Abfertigungsverbot_seit As Object = Nothing
+ Property Abfertigungsverbot_Grund As Object = Nothing
+ Property Rechtsanwalt As Boolean = False
+ Property Rechtsanwalt_seit As Object = Nothing
+ Property Eingegeben_am As Object = Nothing
+ Property Geändert_am As Object = Nothing
+ Property Sachbearbeiter As Object = Nothing
+ Property LfdSaldo As Object = Nothing
+ Property Erste_Abfertigung As Object = Nothing
+ Property Vorkasse As Boolean = False
+ Property Zahlungsinformationen As Object = Nothing
+ Property EORITIN As Object = Nothing
+ Property EORITIN_NL As Object = Nothing
+ Property Zollnummer As Object = Nothing
+ Property ZulassungsNr_ZnV As Object = Nothing
+ Property Aufschubkonto_EUSt As Object = Nothing
+ Property Aufschubkonto_Zoll As Object = Nothing
+ Property Währungscode As Object = Nothing
+ Property Euroeinführung As Object = Nothing
+ Property LetzteRechnungsNr As Object = Nothing
+ Property LetztesRechnungsDatum As Object = Nothing
+ Property Konzernkonto As Boolean = False
+ Property FiBuSchnittstelle As Boolean = False
+ Property Planzahl As Object = Nothing
+ Property Gesprächsbericht As Object = Nothing
+ Property Bonität As Object = Nothing
+ Property Bonitätsdatum As Object = Nothing
+ Property Zahlungsziel As Object = Nothing
+ Property UStV_SummeUmsatzsteuerbetragEUR As Object = Nothing
+ Property UStV_SummeErstattungsbetragEUR As Object = Nothing
+ Property UStV_Summe3470BetragEUR As Object = Nothing
+ Property UStV_SummeVZBetragEUR As Object = Nothing
+ Property UStV_SummeVorschaubetragEUR As Object = Nothing
+ Property UStV_SummeVorschaubetragEUR_VERAG As Object = Nothing
+ Property UStV_SummeVorschaubetragEUR_IDS As Object = Nothing
+ Property Fiskal As Boolean = False
+ Property Ausfuhr As Boolean = False
+ Property BankgarantieBetrag As Object = Nothing
+ Property BankgarantieGültigBis As Object = Nothing
+ Property KD_Korrespondenz As Object = Nothing
+ Property Fiskal_Aktiv As Object = Nothing
+ Property DokumenteLKWFreigabe As Object = Nothing
+ Property EmailAnkunft As Boolean = False
+ Property EmailFreigabe As Boolean = False
+
+ Property Höchstkredit As Object = Nothing
+ Property DakosyExport As Object = Nothing
+ Property FiBuSchnittstelleNr As Object = Nothing
+
+
+
+
+
+
+ Public hasEntry As Boolean = False
+ Dim SQL As New SQL
+
+ Sub New(KundenNr)
+ Me.KundenNr = KundenNr
+ If KundenNr <= 0 Then
+ INIT_NEWKD_DATA()
+ Else
+ LOAD()
+ End If
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mandant", Mandant))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNrZentrale", KundenNrZentrale))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Einmalige Abfertigung", Einmalige_Abfertigung, "Einmalige_Abfertigung"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Neutralisierung", Neutralisierung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Avis", Avis))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zollvollmacht", Zollvollmacht))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zollvollmacht vom", Zollvollmacht_vom, "Zollvollmacht_vom"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lastschrift", Lastschrift))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lastschrift von", Lastschrift_von, "Lastschrift_von"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lastschrift bis", Lastschrift_bis, "Lastschrift_bis"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rabattstaffel", Rabattstaffel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SVS", SVS))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorlageprovision %", Vorlageprovision, "Vorlageprovision"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreditaufwendungen %", Kreditaufwendungen, "Kreditaufwendungen"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bankspesen %", Bankspesen, "Bankspesen"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bankspesen Mindestbetrag", Bankspesen_Mindestbetrag, "Bankspesen_Mindestbetrag"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Besonderheiten", Besonderheiten))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sammelrechnung", Sammelrechnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerschlüssel", Steuerschlüssel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Referenznummer", Referenznummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Antragssumme", Antragssumme))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Antrag vom", Antrag_vom, "Antrag_vom"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Versicherungssumme", Versicherungssumme))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Entscheidung vom", Entscheidung_vom, "Entscheidung_vom"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreditlimit", Kreditlimit))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreditlimit vom", Kreditlimit_vom, "Kreditlimit_vom"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Info", Info))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Überwachungskunde", Überwachungskunde))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsverbot", Abfertigungsverbot))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsverbot seit", Abfertigungsverbot_seit, "Abfertigungsverbot_seit"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsverbot Grund", Abfertigungsverbot_Grund, "Abfertigungsverbot_Grund"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechtsanwalt", Rechtsanwalt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechtsanwalt seit", Rechtsanwalt_seit, "Rechtsanwalt_seit"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eingegeben am", Eingegeben_am, "Eingegeben_am"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Geändert am", Geändert_am, "Geändert_am"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LfdSaldo", LfdSaldo))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erste Abfertigung", Erste_Abfertigung, "Erste_Abfertigung"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorkasse", Vorkasse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsinformationen", Zahlungsinformationen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EORITIN", EORITIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EORITIN_NL", EORITIN_NL))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zollnummer", Zollnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ZulassungsNr ZnV", ZulassungsNr_ZnV, "ZulassungsNr_ZnV"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Aufschubkonto EUSt", Aufschubkonto_EUSt, "Aufschubkonto_EUSt"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Aufschubkonto Zoll", Aufschubkonto_Zoll, "Aufschubkonto_Zoll"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Währungscode", Währungscode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Euroeinführung", Euroeinführung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LetzteRechnungsNr", LetzteRechnungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LetztesRechnungsDatum", LetztesRechnungsDatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Konzernkonto", Konzernkonto))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FiBuSchnittstelle", FiBuSchnittstelle))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FiBuSchnittstelleNr", FiBuSchnittstelleNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Planzahl", Planzahl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesprächsbericht", Gesprächsbericht))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bonität", Bonität))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bonitätsdatum", Bonitätsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsziel", Zahlungsziel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_SummeUmsatzsteuerbetragEUR", UStV_SummeUmsatzsteuerbetragEUR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_SummeErstattungsbetragEUR", UStV_SummeErstattungsbetragEUR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_Summe3470BetragEUR", UStV_Summe3470BetragEUR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_SummeVZBetragEUR", UStV_SummeVZBetragEUR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_SummeVorschaubetragEUR", UStV_SummeVorschaubetragEUR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_SummeVorschaubetragEUR_VERAG", UStV_SummeVorschaubetragEUR_VERAG))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_SummeVorschaubetragEUR_IDS", UStV_SummeVorschaubetragEUR_IDS))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fiskal", Fiskal))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ausfuhr", Ausfuhr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BankgarantieBetrag", BankgarantieBetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BankgarantieGültigBis", BankgarantieGültigBis))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KD_Korrespondenz", KD_Korrespondenz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fiskal_Aktiv", Fiskal_Aktiv))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DokumenteLKWFreigabe", DokumenteLKWFreigabe))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailAnkunft", EmailAnkunft))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe", EmailFreigabe))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Höchstkredit", Höchstkredit))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DakosyExport", DakosyExport))
+
+
+ Return list
+ End Function
+
+
+
+ Function VALID(ByRef ERROR_TXT) As Boolean
+ ' If If(FilialenNr Is Nothing, "", FilialenNr).ToString = "" Then ERROR_TXT = "Bitte geben Sie die zuständige Filiale an!" : Return False 'Es gibt alte Einträge ohne FilialenNr
+
+ Return True
+ End Function
+
+
+ Sub INIT_NEWKD_DATA()
+
+ ' Me.KundenNrZentrale = Me.KundenNr
+
+ If Me.FilialenNr Is Nothing Then Me.FilialenNr = 4803
+ If Me.Sachbearbeiter Is Nothing Then Me.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
+
+ Me.Währungscode = "EUR"
+ Me.Eingegeben_am = Now.ToShortDateString
+
+ Me.Vorlageprovision = 0.01
+ Me.Kreditaufwendungen = 0.02
+ Me.Bankspesen = 0
+ Me.Bankspesen_Mindestbetrag = 0
+
+ Me.Zahlungsziel = 10
+ Me.Sammelrechnung = 0
+ Me.Steuerschlüssel = 10
+ Me.Kreditlimit = 2600
+ Me.Überwachungskunde = 0
+ Me.Abfertigungsverbot = 0
+ Me.Rechtsanwalt = 0
+ Me.Euroeinführung = CDate("01.01.2002")
+ Me.UStV_Summe3470BetragEUR = 0
+ Me.UStV_SummeErstattungsbetragEUR = 0
+ Me.UStV_SummeVorschaubetragEUR = 0
+ Me.UStV_SummeVorschaubetragEUR_IDS = 0
+ Me.UStV_SummeVorschaubetragEUR_VERAG = 0
+ Me.UStV_SummeUmsatzsteuerbetragEUR = 0
+ Me.UStV_SummeVZBetragEUR = 0
+ Me.Fiskal_Aktiv = 0
+ Me.SVS = 1
+
+ End Sub
+
+ Public Function SAVE(Optional newFlag = False) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ If newFlag Then INIT_NEWKD_DATA()
+ If EORITIN IsNot Nothing Then EORITIN = EORITIN.ToString.Replace(" ", "") 'Falls NL-Nr. mit leer einegegeben wird
+
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ If KundenNr <= 0 Then
+ MsgBox("Fehler: KundenNr <= 0!")
+ Return False
+ End If
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Kunden WHERE KundenNr=@KundenNr) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+ ' MsgBox(sqlstr)
+ Dim id = SQL.doSQLVarListID(KundenNr, sqlstr, "FMZOLL", , list,,, False, 2)
+ If id = -2 Then id = SQL.doSQLVarListID(KundenNr, sqlstr, "FMZOLL", , list,,, False, 10) '2.Versuch --> Oft Timeout wg.Fmzoll
+ If id = -2 Then id = SQL.doSQLVarListID(KundenNr, sqlstr, "FMZOLL", , list) '3.Versuch --> Oft Timeout wg.Fmzoll
+
+ If id > 0 Then
+ KundenNr = id 'Sonst wird beim Speichern mit Fehler -1 in die KundenNr übergeben
+ If If(Me.KundenNrZentrale, 0) <= 0 Then SQL.doSQL("UPDATE Kunden SET KundenNrZentrale=KundenNr WHERE KundenNr=" & id, "FMZOLL")
+ End If
+ Return id > 0
+ End Function
+
+ Public Sub LOAD()
+ Dim test = ""
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Kunden WHERE KundenNr=@KundenNr ", conn)
+ cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
+
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ ' Me.GetType.GetProperty(l.Scalarvariable) = dr.Item(l.Text)
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+ ' MsgBox(l.Text)
+ ' MsgBox(propInfo.PropertyType.ToString)
+ ' propInfo.SetValue(GetType(Object), l.Text)
+
+ 'propInfo.SetValue(Me, l.Text)
+
+ ' Try
+ test = l.Text
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ ' Catch ex As Exception
+
+ ' End Try
+
+ ' Me.GetType.GetProperty(l.Scalarvariable).setSetValue(GetType(Object), l.Text)
+ 'If propInfo IsNot Nothing Then
+ 'propInfo.SetValue(l.Scalarvariable, l.Text)
+ ' End If
+ Next
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ 'Return Nothing
+ Catch ex As Exception
+ MsgBox(test & "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ ' Return Nothing
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [Kunden] SET " & str & " WHERE KundenNr=@KundenNr ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isonlyForLoad Then 'And (Not i.isPrimaryParam OrElse i.Value > 0) Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO Kunden (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenAufschubkonten.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenAufschubkonten.vb
new file mode 100644
index 0000000..c6a039f
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenAufschubkonten.vb
@@ -0,0 +1,245 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cKundenAufschubkonten
+
+ Property kdAkto_id As Integer = -1
+ Property kdAkto_KundenNr As Integer
+ Property kdAkto_art As Integer
+ Property kdAkto_hauptzollamt As Object = Nothing
+ Property kdAkto_kontonummer As Object = Nothing
+ Property kdAkto_bin As Object = Nothing
+ Property kdAkto_eori As Object = Nothing
+ Property kdAkto_eoriNL As Object = Nothing
+
+ Dim SQL As New SQL
+
+
+
+ Public Shared Function SAVE_LIST(KundenNr As Integer, LIST As List(Of cKundenAufschubkonten)) As Boolean
+ SAVE_LIST = DELETE_NOT_EXIST(KundenNr, LIST)
+ For Each l In LIST
+ If Not l.SAVEByKdNrArt() Then SAVE_LIST = False
+ Next
+ End Function
+
+ Public Shared Function DELETE_NOT_EXIST(KundenNr As Integer, LIST As List(Of cKundenAufschubkonten)) As Boolean
+ Dim SQL As New SQL
+ Dim ktoNr = ""
+ For Each a In LIST
+ ktoNr &= a.kdAkto_art & ","
+ Next
+ If ktoNr.EndsWith(",") Then ktoNr = ktoNr.Substring(0, ktoNr.Length - 1)
+
+ Dim sqlstr = " DELETE FROM [tblKundenAufschubkonten] WHERE kdAkto_KundenNr='" & KundenNr & "' "
+ If ktoNr <> "" Then sqlstr &= " AND [kdAkto_art] NOT IN (" & ktoNr & ") "
+
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+ Sub New()
+
+ End Sub
+
+ Sub New(kdAkto_id)
+ Me.kdAkto_id = kdAkto_id
+ LOAD()
+ End Sub
+
+ Sub New(kdAkto_KundenNr, kdAkto_art)
+ Me.kdAkto_KundenNr = kdAkto_KundenNr
+ Me.kdAkto_art = kdAkto_art
+ LOADByKdNrArt(kdAkto_KundenNr, kdAkto_art)
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_id", kdAkto_id, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_KundenNr", kdAkto_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_art", kdAkto_art))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_hauptzollamt", kdAkto_hauptzollamt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_kontonummer", kdAkto_kontonummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_bin", kdAkto_bin))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_eori", kdAkto_eori))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdAkto_eoriNL", kdAkto_eoriNL))
+ Return list
+ End Function
+
+
+ Shared Function LOAD_ListAufschubKTOByKdNr(kdAkto_KundenNr) As List(Of cKundenAufschubkonten)
+ Try
+ LOAD_ListAufschubKTOByKdNr = New List(Of cKundenAufschubkonten)
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblKundenAufschubkonten WHERE kdAkto_KundenNr=@kdAkto_KundenNr ", conn)
+ cmd.Parameters.AddWithValue("@kdAkto_KundenNr", kdAkto_KundenNr)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim KTO As New cKundenAufschubkonten
+ For Each l In KTO.getParameterList()
+ Dim propInfo As PropertyInfo = KTO.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(KTO, Nothing)
+ Else
+ propInfo.SetValue(KTO, dr.Item(l.Text))
+ End If
+
+ Next
+ LOAD_ListAufschubKTOByKdNr.Add(KTO)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ LOAD_ListAufschubKTOByKdNr = Nothing
+ End Try
+ End Function
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenAufschubkonten WITH(updlock,serializable) WHERE kdAkto_id=@kdAkto_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ kdAkto_id = SQL.doSQLVarListID(kdAkto_id, sqlstr, "FMZOLL", , list)
+ Return kdAkto_id > 0
+
+ End Function
+
+
+ Public Function SAVEByKdNrArt() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenAufschubkonten WITH(updlock,serializable) WHERE kdAkto_KundenNr=@kdAkto_KundenNr and kdAkto_art=@kdAkto_art) " &
+ " BEGIN " & getUpdateCmd2() & " " &
+ " (SELECT kdAkto_id FROM tblKundenAufschubkonten WITH(updlock,serializable) WHERE kdAkto_KundenNr=@kdAkto_KundenNr and kdAkto_art=@kdAkto_art)" &
+ " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ kdAkto_id = SQL.doSQLVarListID(kdAkto_id, sqlstr, "FMZOLL", , list, True)
+ Return kdAkto_id > 0
+
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblKundenAufschubkonten WHERE kdAkto_id=@kdAkto_id ", conn)
+ cmd.Parameters.AddWithValue("@kdAkto_id", kdAkto_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Sub LOADByKdNrArt(kdAkto_KundenNr, kdAkto_art)
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblKundenAufschubkonten WHERE kdAkto_KundenNr=@kdAkto_KundenNr AND kdAkto_art=@kdAkto_art ", conn)
+ cmd.Parameters.AddWithValue("@kdAkto_KundenNr", kdAkto_KundenNr)
+ cmd.Parameters.AddWithValue("@kdAkto_art", kdAkto_art)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblKundenAufschubkonten] SET " & str & " WHERE kdAkto_id=@kdAkto_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function getUpdateCmd2() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblKundenAufschubkonten] SET " & str & " WHERE kdAkto_KundenNr=@kdAkto_KundenNr AND kdAkto_art=@kdAkto_art ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam And Not i.isonlyForLoad Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblKundenAufschubkonten (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenBesonderheiten.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenBesonderheiten.vb
new file mode 100644
index 0000000..6dc6d9f
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenBesonderheiten.vb
@@ -0,0 +1,135 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cKundenBesonderheiten
+ Property kdb_id As Integer
+ Property kdb_KundenNr As Integer
+ Property kdb_kategorie As String
+ Property kdb_text As String
+ Property kdb_mitId As Integer
+ Property kdb_mitName As String
+ Property kdb_EingetragenAm As Date
+ Property kdb_AenderungAm As Date
+ Property kdb_visible As Boolean = True
+ Property kdb_hervorheben As Boolean = False
+ Property kdb_history As Boolean = False
+
+ Public hasEntry = False
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+ Sub New(kdb_id)
+ Me.kdb_id = kdb_id
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_id", kdb_id,, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_KundenNr", kdb_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_kategorie", kdb_kategorie))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_text", kdb_text))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_mitId", kdb_mitId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_mitName", kdb_mitName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_EingetragenAm", kdb_EingetragenAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_AenderungAm", kdb_AenderungAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_visible", kdb_visible))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_hervorheben", kdb_hervorheben))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_history", kdb_history))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenBesonderheiten WHERE kdb_id=@kdb_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ hasEntry = False
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblKundenBesonderheiten WHERE kdb_id=@kdb_id ", conn)
+ cmd.Parameters.AddWithValue("@kdb_id", kdb_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Shared Function DELETE_ALL_KD(kdb_KundenNr As Integer) As Boolean
+ Dim SQL As New SQL
+ Dim sqlstr = " DELETE FROM tblKundenBesonderheiten WHERE kdb_KundenNr=" & kdb_KundenNr
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblKundenBesonderheiten] SET " & str & " WHERE kdb_id=@kdb_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblKundenBesonderheiten (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenDatenblatt.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenDatenblatt.vb
new file mode 100644
index 0000000..fd5a85f
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenDatenblatt.vb
@@ -0,0 +1,132 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cKundenDatenblatt
+ Property kdb_KundenNr As Integer
+ Property kdb_route As Object = Nothing
+ Property kdb_buergschaftsgeber As Object = Nothing
+ Property kdb_anzahlLKW As Object = Nothing
+ Property kdb_anzahlMA As Object = Nothing
+ Property kdb_bestimmungslandEU As Object = Nothing
+ Property kdb_grosskunden As Object = Nothing
+ Property kdb_gueter As Object = Nothing
+ Property kdb_grenzen As Object = Nothing
+ Property kdb_verhaltenAvisierung As Object = Nothing
+ Property kdb_sonstiges As Object = Nothing
+
+ Dim SQL As New SQL
+
+ Sub New(kdb_KundenNr)
+ Me.kdb_KundenNr = kdb_KundenNr
+ LOAD()
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_KundenNr", kdb_KundenNr))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_route", kdb_route))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_buergschaftsgeber", kdb_buergschaftsgeber))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_anzahlLKW", kdb_anzahlLKW))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_anzahlMA", kdb_anzahlMA))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_bestimmungslandEU", kdb_bestimmungslandEU))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_grosskunden", kdb_grosskunden))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_gueter", kdb_gueter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_grenzen", kdb_grenzen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_verhaltenAvisierung", kdb_verhaltenAvisierung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kdb_sonstiges", kdb_sonstiges))
+
+
+ Return list
+ End Function
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenDatenblatt WHERE kdb_KundenNr=@kdb_KundenNr) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ kdb_KundenNr = SQL.doSQLVarListID(kdb_KundenNr, sqlstr, "FMZOLL", , list)
+ Return kdb_KundenNr > 0
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblKundenDatenblatt WHERE kdb_KundenNr=@kdb_KundenNr ", conn)
+ cmd.Parameters.AddWithValue("@kdb_KundenNr", kdb_KundenNr)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblKundenDatenblatt] SET " & str & " WHERE kdb_KundenNr=@kdb_KundenNr ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblKundenDatenblatt (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblKundenDatenblatt] WHERE kdb_KundenNr=" & Me.kdb_KundenNr
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenErweitert.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenErweitert.vb
new file mode 100644
index 0000000..29bf05c
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenErweitert.vb
@@ -0,0 +1,220 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cKundenErweitert
+ Property kde_KundenNr As Integer
+ Property kde_FirmenwortlautFiskal As Object = Nothing
+ Property kde_VerwendetAuftragsNr As Boolean = False
+
+ Property kde_FixeAuftragsNr As Object = Nothing
+ Property kde_qsTeamId As Object = Nothing
+ Property kde_qsTeamMAId As Object = Nothing
+ Property kde_qsTeamMAName As Object = Nothing
+ Property kde_qsTeamName As Object = Nothing
+ Property kde_TeamId As Object = Nothing
+ Property kde_TeamMAId As Object = Nothing
+
+ 'Property kde_Hoechstkredit As Object = Nothing
+ Property kde_Versicherung_Deckungsstopp As Boolean = False
+ Property kde_Versicherung_DeckungsstoppDatum As Object = Nothing
+
+ Property kde_Versicherung_Uebergeben As Boolean = False
+ Property kde_Versicherung_UebergebenAm As Object = Nothing
+ Property kde_Versicherung_AnerkennungVersicherungsfall As Boolean = False
+ Property kde_Versicherung_AnerkennungVersicherungsfallAm As Object = Nothing
+ Property kde_Versicherung_AnerkennungVersicherungsfallAb As Object = Nothing
+ Property kde_txtVersicherungDeckungsquote As Object = Nothing
+ Property kde_txtVersicherungNichtVersicherbar As Object = Nothing
+ Property kde_Versicherung_GemeldeterBetrag As Object = Nothing
+ Property kde_txtVersicherungEHNr As Object = Nothing
+
+
+ Property kde_Leihgeld_Provision As Object = Nothing
+ Property kde_Leihgeld_ProvisionPreisstaffel As Object = Nothing
+ Property kde_Leihgeld_ProvisionAuftraggeber As Object = Nothing
+ Property EmailFreigabeSendungsListe As Boolean = False
+ Property EmailFreigabe_SteuerbescheidPDF As Boolean = False
+ Property EmailFreigabe_SteuerbescheidPDF_Bedingung As Integer
+
+ Property EmailFreigabe_Art As String = "FG" ' STB/VBD/.. bei Freigabe ; BLG --> wenn Beleg da ist.
+ Property EmailFreigabe_VBDPDF As Boolean = False
+ Property EmailFreigabe_ABDPDF As Boolean = False
+ Property Email_AVM As Boolean = False
+ Property Depot_Kunde As Boolean = False
+ Property FiBuSchnittstelleLG As Boolean = False
+
+ Property Zahlungsziel2 As Object = Nothing
+ Property Zahlungsziel3 As Object = Nothing
+ Property EmailAnkunft_Export As Boolean = False
+ Property EmailFreigabe_Export As Boolean = False
+ Property kde_BonitaetsStufe As Object = Nothing
+
+ Property kde_Inkasso_Uebergeben As Boolean = False
+ Property kde_Inkasso_UebergebenAm As Object = Nothing
+ Property kde_Inkasso_GemeldeterBetrag As Object = Nothing
+ Property AutoFakturierung As Boolean = False
+ Property Veranlagungskunde As Boolean = False
+ Property Anmerkungen_Warnhinweis As Object = Nothing
+ Property kde_VERAG_INTERFACE_ID As Object = Nothing
+ Property kde_BesonderheitenNeu As Boolean = False
+
+ Property kde_InfoAuftragsNr As Object = Nothing
+ Property kde_KundeFremdspedition As Boolean = False
+ Property kde_verzolltBei As Object = Nothing
+ Property kde_API_Tradeshift As Boolean = False
+ Property kde_FakturierungSR_Details As Boolean = False
+ Property kde_Fakturierung_Sprache As Object = Nothing
+ Property kde_TOBB_KundenNr As Object = Nothing
+
+ Dim SQL As New SQL
+
+ Sub New(KundenNr)
+ Me.kde_KundenNr = KundenNr
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_KundenNr", kde_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_FirmenwortlautFiskal", kde_FirmenwortlautFiskal))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_VerwendetAuftragsNr", kde_VerwendetAuftragsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_FixeAuftragsNr", kde_FixeAuftragsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_qsTeamId", kde_qsTeamId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_qsTeamMAId", kde_qsTeamMAId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_qsTeamMAName", kde_qsTeamMAName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_qsTeamName", kde_qsTeamName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_TeamId", kde_TeamId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_TeamMAId", kde_TeamMAId))
+ ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Hoechstkredit", kde_Hoechstkredit))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_Deckungsstopp", kde_Versicherung_Deckungsstopp))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_DeckungsstoppDatum", kde_Versicherung_DeckungsstoppDatum))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_Uebergeben", kde_Versicherung_Uebergeben))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_UebergebenAm", kde_Versicherung_UebergebenAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_AnerkennungVersicherungsfall", kde_Versicherung_AnerkennungVersicherungsfall))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_AnerkennungVersicherungsfallAm", kde_Versicherung_AnerkennungVersicherungsfallAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_AnerkennungVersicherungsfallAb", kde_Versicherung_AnerkennungVersicherungsfallAb))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_txtVersicherungDeckungsquote", kde_txtVersicherungDeckungsquote))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_txtVersicherungNichtVersicherbar", kde_txtVersicherungNichtVersicherbar))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_GemeldeterBetrag", kde_Versicherung_GemeldeterBetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_txtVersicherungEHNr", kde_txtVersicherungEHNr))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Leihgeld_Provision", kde_Leihgeld_Provision))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Leihgeld_ProvisionPreisstaffel", kde_Leihgeld_ProvisionPreisstaffel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Leihgeld_ProvisionAuftraggeber", kde_Leihgeld_ProvisionAuftraggeber))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabeSendungsListe", EmailFreigabeSendungsListe))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_SteuerbescheidPDF", EmailFreigabe_SteuerbescheidPDF))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_SteuerbescheidPDF_Bedingung", EmailFreigabe_SteuerbescheidPDF_Bedingung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_Art", EmailFreigabe_Art))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_VBDPDF", EmailFreigabe_VBDPDF))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_ABDPDF", EmailFreigabe_ABDPDF))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Email_AVM", Email_AVM))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Depot_Kunde", Depot_Kunde))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FiBuSchnittstelleLG", FiBuSchnittstelleLG))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsziel2", Zahlungsziel2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsziel3", Zahlungsziel3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailAnkunft_Export", EmailAnkunft_Export))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_Export", EmailFreigabe_Export))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_BonitaetsStufe", kde_BonitaetsStufe))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Inkasso_Uebergeben", kde_Inkasso_Uebergeben))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Inkasso_UebergebenAm", kde_Inkasso_UebergebenAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Inkasso_GemeldeterBetrag", kde_Inkasso_GemeldeterBetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AutoFakturierung", AutoFakturierung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Veranlagungskunde", Veranlagungskunde))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anmerkungen_Warnhinweis", Anmerkungen_Warnhinweis))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_VERAG_INTERFACE_ID", kde_VERAG_INTERFACE_ID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_BesonderheitenNeu", kde_BesonderheitenNeu))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_InfoAuftragsNr", kde_InfoAuftragsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_KundeFremdspedition", kde_KundeFremdspedition))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_verzolltBei", kde_verzolltBei))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_API_Tradeshift", kde_API_Tradeshift))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_FakturierungSR_Details", kde_FakturierungSR_Details))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Fakturierung_Sprache", kde_Fakturierung_Sprache))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_TOBB_KundenNr", kde_TOBB_KundenNr))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenErweitert WHERE kde_KundenNr=@kde_KundenNr) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblKundenErweitert WHERE kde_KundenNr=@kde_KundenNr ", conn)
+ cmd.Parameters.AddWithValue("@kde_KundenNr", kde_KundenNr)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblKundenErweitert] SET " & str & " WHERE kde_KundenNr=@kde_KundenNr ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblKundenErweitert (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenKontakte.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenKontakte.vb
new file mode 100644
index 0000000..84cdcb3
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenKontakte.vb
@@ -0,0 +1,271 @@
+
+
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cKundenKontakteList
+ Property kkd_KundenNr As Object = Nothing
+ Property firma As Object = Nothing
+ Public LIST As New List(Of cKundenKontakte)
+ Dim SQL As New SQL
+ 'Dim listTodelete As New List(Of cOfferte)
+
+ Sub New(kkd_KundenNr)
+ Me.kkd_KundenNr = kkd_KundenNr
+ ' Me.OffertenNr = OffertenNr
+ LOAD_LIST(Me.kkd_KundenNr)
+ End Sub
+
+ Sub New(kkd_KundenNr, firma)
+ Me.kkd_KundenNr = kkd_KundenNr
+ Me.firma = firma
+ LOAD_LIST(Me.kkd_KundenNr, firma)
+ End Sub
+
+ Public Sub CLEAR()
+ LIST.Clear()
+ End Sub
+ Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False)
+ ' Dim l As New cOfferte
+ 'l.eb_bcc = bcc
+ 'LIST.Add(l)
+ End Sub
+
+ Public Sub LOAD_LIST(kkd_KundenNr, Optional firma = "")
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL(False)
+ Using cmd As New SqlCommand("SELECT * FROM [tblKundenKontakt] WHERE kkd_KundenNr=@kkd_KundenNr " & If(firma <> "", " AND kkd_firma=@firma", ""), conn)
+ cmd.Parameters.AddWithValue("@kkd_KundenNr", kkd_KundenNr)
+ cmd.Parameters.AddWithValue("@firma", firma)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cKundenKontakte
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ LIST.Add(l)
+
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ 'Public Function GET_KundenKontakte_VALUE(param As String) As String
+ ' For Each p In LIST
+ ' If p.bezeichnung = param Then
+ ' Return p.wert
+ ' End If
+ ' Next
+ ' Return ""
+ 'End Function
+
+ 'Public Function GET_KundenKontakte_VALUE_BOOL(param As String) As String
+ ' For Each p In LIST
+ ' If p.bezeichnung = param Then
+ ' Return (p.wert = "1" Or p.wert = "true")
+ ' End If
+ ' Next
+ ' Return False
+ 'End Function
+
+End Class
+
+Public Class cKundenKontakte
+ Property kkd_id As Integer
+
+ Property kkd_KundenNr As Integer
+ Property kkd_kkaId As Object = Nothing
+ Property kkd_kkaBez As Object = Nothing
+ Property kkd_Tel As Object = Nothing
+ Property kkd_Email As Object = Nothing
+ Property kkd_Fax As Object = Nothing
+ Property kkd_Homepage As Object = Nothing
+ Property kkd_Mobil As Object = Nothing
+ Property kkd_AnsprechpartnerAnrede As Object = Nothing
+ Property kkd_AnsprechpartnerVorname As Object = Nothing
+ Property kkd_AnsprechpartnerNachname As Object = Nothing
+
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+
+ Sub New()
+
+ End Sub
+
+ Sub New(kkd_id)
+ Me.kkd_id = kkd_id
+ LOAD(kkd_id)
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_id", kkd_id,, True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_KundenNr", kkd_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_kkaId", kkd_kkaId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_kkaBez", kkd_kkaBez))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Tel", kkd_Tel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Email", kkd_Email))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Fax", kkd_Fax))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Homepage", kkd_Homepage))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Mobil", kkd_Mobil))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_AnsprechpartnerAnrede", kkd_AnsprechpartnerAnrede))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_AnsprechpartnerVorname", kkd_AnsprechpartnerVorname))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_AnsprechpartnerNachname", kkd_AnsprechpartnerNachname))
+
+ Return list
+ End Function
+
+
+
+
+
+ Public Sub LOAD(kkd_id)
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM [tblKundenKontakt] WHERE kkd_id=@kkd_id ", conn)
+ cmd.Parameters.AddWithValue("@kkd_id", kkd_id)
+
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ End If
+ dr.Close()
+ End Using
+ End Using
+ 'Return Nothing
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ ' Return Nothing
+ End Sub
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenKontakt WHERE kkd_id=@kkd_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ kkd_id = SQL.doSQLVarListID(kkd_id, sqlstr, "FMZOLL", , list)
+ Return (kkd_id > 0)
+ End Function
+
+ Public Function INSERT() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ kkd_id = SQL.doSQLVarListID(kkd_id, getInsertCmd, "FMZOLL", , list)
+ Return (kkd_id > 0)
+ End Function
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblKundenKontakt] SET " & str & " WHERE kkd_id=@kkd_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblKundenKontakt] WITH(updlock,serializable) WHERE kkd_id=" & Me.kkd_id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Shared Function DELETE_ALL_KONTAKTE(kkd_KundenNr, Optional kkd_kkaId = -1) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Dim sqlstr = " DELETE FROM [tblKundenKontakt] WITH(updlock,serializable) WHERE kkd_KundenNr=" & kkd_KundenNr & If(kkd_kkaId > 0, " AND kkd_kkaId='" & kkd_kkaId & "'", "")
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblKundenKontakt (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Shared Function getMailAdress(KdNr As Integer, bez As String) As String
+ If KdNr < 0 Then Return ""
+ Dim KD_LIST = New cKundenKontakteList(KdNr)
+ If KD_LIST IsNot Nothing Then
+ For Each l In KD_LIST.LIST
+ If l.kkd_kkaBez = bez Then Return l.kkd_Email
+ Next
+ End If
+ Return ""
+ End Function
+
+ Shared Function getKdNrFromMailAdress(KMail As String, Optional serchInKd As Boolean = True) As Integer
+ getKdNrFromMailAdress = -1
+ If KMail = "" Then Return -1
+ If Not KMail.Contains("@") Then Return -1
+
+ Dim whereFiliale = ""
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "VERAG" And VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "ATILLA" Then
+ whereFiliale = " AND [FilialenNr]='" & VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE & "' "
+ Else
+ 'SQLstr &= " AND isnull([FilialenNr],0)<>'5501' "
+ whereFiliale = " AND isnull([FilialenNr],0) NOT IN ('5501','5601','5701','5801') "
+ End If
+
+ Dim SQL As New SQL
+ getKdNrFromMailAdress = SQL.getValueTxtBySql("SELECT TOP 1 [kkd_KundenNr] FROM [tblKundenKontakt] INNER JOIN Kunden ON KundenNr=kkd_KundenNr where kkd_Email LIKE ('%" & KMail & "%') AND kkd_kkaBez='OUTLOOK_AVISO_Eingang' " & whereFiliale, "FMZOLL",,, -1)
+
+ If serchInKd AndAlso getKdNrFromMailAdress < 0 Then
+ getKdNrFromMailAdress = SQL.getValueTxtBySql("SELECT TOP 1 AdressenNr FROM Adressen INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [E-Mail] LIKE ('%" & KMail & "%') " & whereFiliale, "FMZOLL",,, -1)
+
+ If getKdNrFromMailAdress < 0 Then
+ Dim sp = KMail.Split("@")
+ getKdNrFromMailAdress = SQL.getValueTxtBySql("SELECT TOP 1 AdressenNr FROM Adressen INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [E-Mail] LIKE ('%" & sp(1) & "%') " & whereFiliale, "FMZOLL",,, -1)
+ End If
+ End If
+ End Function
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenSDL.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenSDL.vb
new file mode 100644
index 0000000..aa8b95a
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenSDL.vb
@@ -0,0 +1,141 @@
+
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+
+Public Class cKundenSDL
+ Property KundenNr As Integer
+ Property SDLNr As Integer
+ Property Sperre As Integer
+ Property Sperrdatum As Object = Nothing
+ Property Vertretungsvollmacht As Object = Nothing
+ Property Auszahlungsvollmacht As Object = Nothing
+ Property Finanzamtbestätigung As Object = Nothing
+ Property Vermerk As Object = Nothing
+ Property Antragsdatum As Object = Nothing
+ Property Erfassungsdatum As Object = Nothing
+ Property Änderungsdatum As Object = Nothing
+ Property Sachbearbeiter As Object = Nothing
+ Property MautDE_FlottenPIN As Object = Nothing
+ Property MautDE_MasterPIN As Object = Nothing
+ Property MautDE_BenutzerNr As Object = Nothing
+ Property MautAT_KartenNr As Object = Nothing
+
+
+ Public hasEntry = False
+
+ Dim SQL As New SQL
+
+ Sub New(KundenNr, SDLNr)
+ Me.KundenNr = KundenNr
+ Me.SDLNr = SDLNr
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SDLNr", SDLNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sperre", Sperre))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sperrdatum", Sperrdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vertretungsvollmacht", Vertretungsvollmacht))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Auszahlungsvollmacht", Auszahlungsvollmacht))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Finanzamtbestätigung", Finanzamtbestätigung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermerk", Vermerk))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Antragsdatum", Antragsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erfassungsdatum", Erfassungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Änderungsdatum", Änderungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MautDE_FlottenPIN", MautDE_FlottenPIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MautDE_MasterPIN", MautDE_MasterPIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MautDE_BenutzerNr", MautDE_BenutzerNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MautAT_KartenNr", MautAT_KartenNr))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM KundenSDL WHERE KundenNr=@KundenNr and SDLNr=@SDLNr) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "SDL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ hasEntry = False
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionSDL()
+ Using cmd As New SqlCommand("SELECT * FROM KundenSDL WHERE KundenNr=@KundenNr and SDLNr=@SDLNr ", conn)
+ cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
+ cmd.Parameters.AddWithValue("@SDLNr", SDLNr)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [KundenSDL] SET " & str & " WHERE KundenNr=@KundenNr and SDLNr=@SDLNr ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO KundenSDL (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVermerk.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVermerk.vb
new file mode 100644
index 0000000..cb586da
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVermerk.vb
@@ -0,0 +1,280 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cKundenVermerke
+ Property LIST As New List(Of cKundenVermerkItem)
+ Dim kvm_KundenNr As Integer
+
+ Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Sub New(kvm_KundenNr)
+ LOAD_LIST(kvm_KundenNr)
+ End Sub
+
+ Sub New(kvm_KundenNr, kvm_art)
+ LOAD_LIST(kvm_KundenNr, kvm_art)
+ End Sub
+
+
+ Public Shared Function getDT(kvm_KundenNr As Integer, Optional kvm_art() As String = Nothing) As DataTable
+ Try
+ Dim art As String = ""
+ If kvm_art IsNot Nothing Then
+ For Each s In kvm_art
+ art &= "'" & s & "',"
+ Next
+ If art.EndsWith(",") Then art = art.Substring(0, art.Length - 1)
+ End If
+
+ Dim myTable = New DataTable()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL
+ Using cmd As New SqlCommand("SELECT * FROM [tblKundenVermerke] WHERE [kvm_KundenNr] =@kvm_KundenNr " & If(art <> "", "AND kvm_art IN (" & art & ") ", "") & " ORDER BY [kvm_datum] desc ", conn)
+ cmd.Parameters.AddWithValue("@kvm_KundenNr", kvm_KundenNr)
+ Dim dr As SqlDataReader = cmd.ExecuteReader()
+ myTable.Load(dr)
+ dr.Close()
+ End Using
+ End Using
+ Return myTable 'While Schleife wird hier verlassen
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+ Return Nothing
+ End Function
+
+ Public Sub LOAD_LIST(kvm_KundenNr As Integer, Optional kvm_art() As String = Nothing)
+ Try
+ Dim art As String = ""
+ If kvm_art IsNot Nothing Then
+ For Each s In kvm_art
+ art &= "'" & art & "',"
+ Next
+ If art.EndsWith(",") Then art = art.Substring(0, art.Length - 1)
+ End If
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM [tblKundenVermerke] WHERE [kvm_KundenNr] =@kvm_KundenNr " & If(art <> "", "AND kvm_art IN (" & art & ") ", "") & " ORDER BY [kvm_datum] desc ", conn)
+ cmd.Parameters.AddWithValue("@kvm_KundenNr", kvm_KundenNr)
+
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cKundenVermerkItem()
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+
+ LIST.Add(l)
+
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ End Sub
+
+ Shared Function INSERT(kvm_KundenNr, kvm_art, kvm_text) As Boolean
+ Try
+ Dim KDV As New cKundenVermerkItem
+ KDV.kvm_art = kvm_art
+ KDV.kvm_text = kvm_text
+ KDV.kvm_KundenNr = kvm_KundenNr
+ KDV.kvm_datum = Now
+ KDV.kvm_sb = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
+ KDV.kvm_sbId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ Return KDV.SAVE()
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return False
+ End Function
+
+ Public Function ADD(kvm_art, kvm_text) As Boolean
+ Try
+ Dim KDV As New cKundenVermerkItem
+ KDV.kvm_art = kvm_art
+ KDV.kvm_text = kvm_text
+ KDV.kvm_datum = Now
+ KDV.kvm_KundenNr = Me.kvm_KundenNr
+ KDV.kvm_sb = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
+ KDV.kvm_sbId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ If KDV.SAVE() Then
+ LIST.Add(KDV)
+ Return True
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return False
+ End Function
+
+
+ Public Shared Function DELETE(id) As Boolean
+ Try
+ Dim KDV As New cKundenVermerkItem(id)
+ Return KDV.DELETE()
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return False
+ End Function
+ Public Function REMOVE(kvm_id) As Boolean
+ Try
+ For Each i In LIST
+ If i.kvm_id = kvm_id Then
+ If i.DELETE() Then
+ LIST.Remove(i)
+ Return True
+ End If
+ End If
+ Next
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return False
+ End Function
+
+
+
+End Class
+
+Public Class cKundenVermerkItem
+
+
+ Property kvm_id As Integer
+ Property kvm_KundenNr As Integer
+ Property kvm_art As String = ""
+ Property kvm_datum As Date = Now
+ Property kvm_text As String = ""
+ Property kvm_sbId As Integer
+ Property kvm_sb As String = ""
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(kvm_id)
+ Me.kvm_id = kvm_id
+ LOAD()
+ End Sub
+
+ 'Shared Sub ADD(kvm_art, kvm_text)
+ ' Me.kvm_datum = Now
+ ' Me.kvm_sbId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ ' Me.kvm_sb = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
+ ' LOAD()
+
+ ' End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_id", kvm_id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_KundenNr", kvm_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_art", kvm_art))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_datum", kvm_datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_text", kvm_text))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_sbId", kvm_sbId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kvm_sb", kvm_sb))
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenVermerke WHERE kvm_id=@kvm_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ kvm_id = SQL.doSQLVarListID(kvm_id, sqlstr, "FMZOLL", , list)
+ Return kvm_id > 0
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblKundenVermerke] WHERE kvm_id=" & Me.kvm_id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblKundenVermerke WHERE kvm_id=@kvm_id ", conn)
+ cmd.Parameters.AddWithValue("@kvm_id", kvm_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblKundenVermerke] SET " & str & " WHERE kvm_id=@kvm_id ")
+
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblKundenVermerke (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVertraege.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVertraege.vb
new file mode 100644
index 0000000..fd207aa
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenVertraege.vb
@@ -0,0 +1,134 @@
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+
+Public Class cKundenVertraege
+ Property kv_Id As Integer
+ Property kv_KundenNr As Integer
+ Property kv_erhalten_Datum As Date
+ Property kv_vertragArtId As Integer
+ Property kv_Info As Object = Nothing
+ Property kv_datenarchivId As Object = Nothing
+ Property kv_gueltig As Boolean = True
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+ Sub New(kv_Id)
+ Me.kv_Id = kv_Id
+ LOAD()
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_Id", kv_Id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_KundenNr", kv_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_erhalten_Datum", kv_erhalten_Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_vertragArtId", kv_vertragArtId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_Info", kv_Info))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_datenarchivId", kv_datenarchivId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kv_gueltig", kv_gueltig))
+
+ Return list
+ End Function
+
+ Public Shared Function LOAD_LIST(KundenNr As Integer) As DataTable
+ Return (New SQL).loadDgvBySql("SELECT [kv_Id],[kv_KundenNr],[kv_erhalten_Datum],[kv_vertragArtId],kva_Bezeichnung,[kv_Info],[kv_datenarchivId],[kv_gueltig] FROM tblKundenVertraege INNER JOIN tblKundenVertraegeArten ON kv_vertragArtId=kva_id WHERE kv_KundenNr=" & KundenNr, "FMZOLL")
+ End Function
+
+ Public Shared Function ENTRY_Exists(KundenNr As Integer, kv_vertragArtId As Integer) As Boolean
+ Return (CInt((New SQL).getValueTxtBySql("SELECT count(*) FROM tblKundenVertraege WHERE kv_KundenNr=" & KundenNr & " AND kv_vertragArtId='" & kv_vertragArtId & "'", "FMZOLL")) > 0)
+ End Function
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblKundenVertraege With(updlock, serializable) WHERE kv_Id=@kv_Id) " &
+ " BEGIN " & getUpdateCmd() & " End " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " End " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("Select * FROM tblKundenVertraege WHERE kv_Id=@kv_Id ", conn)
+ cmd.Parameters.AddWithValue("@kv_Id", kv_Id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblKundenVertraege] SET " & str & " WHERE kv_Id=@kv_Id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblKundenVertraege (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblKundenVertraege] WITH(updlock,serializable) WHERE kv_Id=" & Me.kv_Id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLanguageText.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLanguageText.vb
new file mode 100644
index 0000000..29c3b41
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLanguageText.vb
@@ -0,0 +1,172 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cLanguageText_LIST
+ Dim LIST As New List(Of cLanguageText)
+
+ Sub New(tlan_kategorie, tlan_ukategorie1, tlan_ukategorie2, tlan_ukategorie3)
+ LOAD_LIST(tlan_kategorie, tlan_ukategorie1, tlan_ukategorie2, tlan_ukategorie3)
+ End Sub
+ Public Sub LOAD_LIST(tlan_kategorie, tlan_ukategorie1, tlan_ukategorie2, tlan_ukategorie3)
+ Try
+ List.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionWEB()
+ Using cmd As New SqlCommand("SELECT * FROM tblLanguageText WHERE tlan_kategorie=@tlan_kategorie AND tlan_ukategorie1=@tlan_ukategorie1 AND tlan_ukategorie2=@tlan_ukategorie2 AND tlan_ukategorie3=@tlan_ukategorie3 ", conn)
+ cmd.Parameters.AddWithValue("@tlan_kategorie", tlan_kategorie)
+ cmd.Parameters.AddWithValue("@tlan_ukategorie1", tlan_ukategorie1)
+ cmd.Parameters.AddWithValue("@tlan_ukategorie2", tlan_ukategorie2)
+ cmd.Parameters.AddWithValue("@tlan_ukategorie3", tlan_ukategorie3)
+
+ ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cLanguageText
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ LIST.Add(l)
+
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Function getTxt(tlan_Id, tlan_language, defaultTXT) As String
+ For Each l In LIST
+ If l.tlan_Id = tlan_Id And l.tlan_language = tlan_language Then
+ Return l.tlan_TEXT
+ End If
+ Next
+ Return defaultTXT
+ End Function
+
+End Class
+
+
+Public Class cLanguageText
+ Property tlan_Id As Integer
+ Property tlan_kategorie As String = ""
+ Property tlan_ukategorie1 As String = ""
+ Property tlan_ukategorie2 As String = ""
+ Property tlan_ukategorie3 As String = ""
+ Property tlan_language As String = ""
+ Property tlan_TEXT As String = ""
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+ Sub New(tlan_Id, tlan_language)
+ Me.tlan_Id = tlan_Id
+ Me.tlan_language = tlan_language
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_Id", tlan_Id))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_kategorie", tlan_kategorie))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_ukategorie1", tlan_ukategorie1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_ukategorie2", tlan_ukategorie2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_ukategorie3", tlan_ukategorie3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_language", tlan_language))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tlan_TEXT", tlan_TEXT))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblLanguageText WHERE tlan_Id=@tlan_Id AND tlan_language=@tlan_language) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "WEB", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionWEB()
+ Using cmd As New SqlCommand("SELECT * FROM tblLanguageText WHERE tlan_Id=@tlan_Id AND tlan_language=@tlan_language ", conn)
+ cmd.Parameters.AddWithValue("@tlan_Id", tlan_Id)
+ cmd.Parameters.AddWithValue("@tlan_language", tlan_language)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblLanguageText] SET " & str & " WHERE tlan_Id=@tlan_Id AND tlan_language=@tlan_language ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblLanguageText (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungen.vb
new file mode 100644
index 0000000..34328a5
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungen.vb
@@ -0,0 +1,163 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cLeistungen
+
+ Property LeistungsNr As Object = Nothing
+ Property LeistungsBez As Object = Nothing
+ Property BezeichnungAusListe As Object = Nothing
+ Property BerechnungsartNr As Object = Nothing
+ Property Steuerpflichtig As Object = Nothing
+ Property SKR As Object = Nothing
+ Property Vorlageprovision As Object = Nothing
+ Property Kreditaufwendungen As Object = Nothing
+ Property FixeTaxe As Object = Nothing
+ Property Abfertigungskosten As Object = Nothing
+ Property Preissperre As Object = Nothing
+ Property Kostenstelle As Object = Nothing
+ Property AufschubkontoNr As Object = Nothing
+ Property Gl_account As Object = Nothing
+ Property Analysis_type As Object = Nothing
+ Property Analysis_code As Object = Nothing
+ Property SachkontoInlandSteuerpflichtig As Object = Nothing
+ Property SachkontoInlandSteuerfrei As Object = Nothing
+ Property SachkontoEUSteuerpflichtig As Object = Nothing
+ Property SachkontoEUSteuerfrei As Object = Nothing
+ Property Sachkonto3Land As Object = Nothing
+ Property BS415 As Object = Nothing
+ Property BGebUStV As Object = Nothing
+
+ Property IMEX_Gl_account As Object = Nothing
+ Property IMEX_SachkontoInlandSteuerpflichtig As Object = Nothing
+ Property IMEX_SachkontoInlandSteuerfrei As Object = Nothing
+ Property IMEX_SachkontoEUSteuerpflichtig As Object = Nothing
+ Property IMEX_SachkontoEUSteuerfrei As Object = Nothing
+ Property IMEX_Sachkonto3Land As Object = Nothing
+
+ Dim SQL As New SQL
+
+ Sub New(LeistungsNr)
+ Me.LeistungsNr = LeistungsNr
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BezeichnungAusListe", BezeichnungAusListe))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartNr", BerechnungsartNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerpflichtig", Steuerpflichtig))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SKR", SKR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorlageprovision", Vorlageprovision))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreditaufwendungen", Kreditaufwendungen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FixeTaxe", FixeTaxe))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungskosten", Abfertigungskosten))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preissperre", Preissperre))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kostenstelle", Kostenstelle))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AufschubkontoNr", AufschubkontoNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gl_account", Gl_account))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Analysis_type", Analysis_type))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Analysis_code", Analysis_code))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoInlandSteuerpflichtig", SachkontoInlandSteuerpflichtig))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoInlandSteuerfrei", SachkontoInlandSteuerfrei))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoEUSteuerpflichtig", SachkontoEUSteuerpflichtig))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoEUSteuerfrei", SachkontoEUSteuerfrei))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachkonto3Land", Sachkonto3Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BS415", BS415))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebUStV", BGebUStV))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IMEX_Gl_account", IMEX_Gl_account))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IMEX_SachkontoInlandSteuerpflichtig", IMEX_SachkontoInlandSteuerpflichtig))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IMEX_SachkontoInlandSteuerfrei", IMEX_SachkontoInlandSteuerfrei))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IMEX_SachkontoEUSteuerpflichtig", IMEX_SachkontoEUSteuerpflichtig))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IMEX_SachkontoEUSteuerfrei", IMEX_SachkontoEUSteuerfrei))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IMEX_Sachkonto3Land", IMEX_Sachkonto3Land))
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Leistungen WITH(updlock,serializable) WHERE LeistungsNr=@LeistungsNr) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Leistungen WHERE LeistungsNr=@LeistungsNr ", conn)
+ cmd.Parameters.AddWithValue("@LeistungsNr", LeistungsNr)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [Leistungen] SET " & str & " WHERE LeistungsNr=@LeistungsNr ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO Leistungen (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungenBUKonten.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungenBUKonten.vb
new file mode 100644
index 0000000..d569c65
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cLeistungenBUKonten.vb
@@ -0,0 +1,127 @@
+
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+
+Public Class cLeistungenBUKonten
+
+
+ Property LeistungsNr As Integer
+ Property Firma_ID As Integer
+ Property Gl_account As Object = Nothing
+
+ Property SachkontoInlandSteuerpflichtig As Object = Nothing
+ Property SachkontoInlandSteuerfrei As Object = Nothing
+ Property SachkontoEUSteuerpflichtig As Object = Nothing
+ Property SachkontoEUSteuerfrei As Object = Nothing
+ Property Sachkonto3Land As Object = Nothing
+
+ Public hasEntry = False
+
+ Dim SQL As New SQL
+
+ Sub New(LeistungsNr, Firma_ID)
+ Me.LeistungsNr = LeistungsNr
+ Me.Firma_ID = Firma_ID
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gl_account", Gl_account))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoInlandSteuerpflichtig", SachkontoInlandSteuerpflichtig))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoInlandSteuerfrei", SachkontoInlandSteuerfrei))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoEUSteuerpflichtig", SachkontoEUSteuerpflichtig))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SachkontoEUSteuerfrei", SachkontoEUSteuerfrei))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachkonto3Land", Sachkonto3Land))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM LeistungenBUKonten WHERE LeistungsNr=@LeistungsNr and Firma_ID=@Firma_ID) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ hasEntry = False
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM LeistungenBUKonten WHERE LeistungsNr=@LeistungsNr and Firma_ID=@Firma_ID ", conn)
+ cmd.Parameters.AddWithValue("@LeistungsNr", LeistungsNr)
+ cmd.Parameters.AddWithValue("@Firma_ID", Firma_ID)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [LeistungenBUKonten] SET " & str & " WHERE LeistungsNr=@LeistungsNr and Firma_ID=@Firma_ID ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO LeistungenBUKonten (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessangerListender.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessangerListender.vb
new file mode 100644
index 0000000..2896273
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessangerListender.vb
@@ -0,0 +1,482 @@
+
+
+Imports System.Net, System.Net.Sockets
+Imports System.Text
+Imports System.Threading
+Imports VERAG_PROG_ALLGEMEIN
+
+
+Public Class cMessangerListender
+ Dim serverSocket As Socket = Nothing
+ Dim clientSocket As Socket
+ Dim byteData(1023) As Byte
+
+ Public Shared boolInitAufschub As Boolean = False
+ Public Shared boolFSSAtlas As Boolean = False
+ Public Shared boolDatenserver As Boolean = False
+
+ Dim splitPanelDefaultHeight As Integer = 0
+
+ Public Sub START()
+ DIENST_InitSocket() 'initialisieren
+ End Sub
+
+ Sub DIENST_InitSocket()
+ Try
+
+ If serverSocket IsNot Nothing AndAlso serverSocket.IsBound Then
+ Else
+ If serverSocket IsNot Nothing Then Exit Sub 'Falls es schon läuft
+ serverSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
+ Dim IpEndPoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 8800)
+ serverSocket.Bind(IpEndPoint)
+ serverSocket.Listen(5)
+ serverSocket.BeginAccept(New AsyncCallback(AddressOf OnAccept), Nothing)
+
+ End If
+
+ Catch ex As Exception
+ 'LEIDER KEINE ANDRES LÖSUNG
+ End Try
+ End Sub
+
+ Private Sub OnAccept(ByVal ar As IAsyncResult)
+ clientSocket = serverSocket.EndAccept(ar)
+ serverSocket.BeginAccept(New AsyncCallback(AddressOf OnAccept), Nothing)
+ AddClient(clientSocket)
+ End Sub
+
+ Delegate Sub _AddClient(ByVal client As Socket)
+ Private Sub AddClient(ByVal client As Socket) ' Neunen Client hinzufügen
+ 'If InvokeRequired Then
+ ' Invoke(New _AddClient(AddressOf AddClient), client)
+ ' Exit Sub
+ 'End If
+ ' writeToFrmLog(client, "", "Verbindungsaufbau.. ")
+ Send("ConSuccess", client) ' Der Client bekommt die Nachricht, dass die Verbindung steht...
+ '... jetzt kann der Client senden, der Server horcht...
+ clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None,
+ New AsyncCallback(AddressOf OnRecieve), clientSocket)
+ End Sub
+
+ Private Sub Send(ByVal msg As String, ByVal client As Socket) 'An den Client senden
+ Dim sendBytes As Byte() = Encoding.BigEndianUnicode.GetBytes(msg)
+ client.BeginSend(sendBytes, 0, sendBytes.Length, SocketFlags.None, New AsyncCallback(AddressOf OnSend), client)
+ End Sub
+ Private Sub OnSend(ByVal ar As IAsyncResult)
+ Dim client As Socket = ar.AsyncState
+ client.EndSend(ar)
+ End Sub
+
+ Private Sub OnRecieve(ByVal ar As IAsyncResult) ' Wenn ein Task-Befehl vom Client empfangen wurde
+ Dim client As Socket = ar.AsyncState
+ Try
+ client.EndReceive(ar)
+ Dim bytesRec As Byte() = byteData
+ Dim message As String = Encoding.BigEndianUnicode.GetString(bytesRec) '.Replace(Convert.ToChar(0), "")
+ Dim s As String = Read(message, client)
+ If s <> "" Then Send(s, client) ' Die Aufgabe wird abgearbeitet, der Client bekommt bei Fehler eine Antwort...
+ Catch ex As Exception
+ client.Shutdown(SocketShutdown.Both)
+ client.Close()
+ End Try
+ End Sub
+ Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs)
+
+ End Sub
+
+ Delegate Function _Read(ByVal msg As String, client As Socket, messageFile() As Byte, fileName As String)
+ Private Function Read(ByVal msg As String, client As Socket, Optional messageFile() As Byte = Nothing, Optional fileName As String = "") As String
+ 'If InvokeRequired Then
+ ' Invoke(New _Read(AddressOf Read), msg, client, messageFile, fileName)
+ ' Return ""
+ 'End If
+ msg = msg.Replace(Convert.ToChar(0), "")
+ ' MsgBox("MESSSSS:::::::::::: " & msg)
+ Select Case msg
+ Case "test" 'nur ein Test, des Ergbnis ist immer Positiv
+ ' writeToFrmLog(client, "test", "test ")
+ ' Return "Task successful"
+ Send("Task successful", client) 'Client-Mittelung
+ Case "NEW_MESSAGE" 'der Task initAufschubkonten wird aufgerufen
+ ' MsgBox("NEW_MESSAGE!!!!!")
+ ' If Not boolInitAufschub Then Me.writeToFrmLog(client, "initAufschubkonten", "Abgebrochen - Task nicht aktiv " & msg) : Return "Task inactive"
+
+ ' die eigentliche Funktion wird in einem Tread aufgrufen
+ Dim thread As New Thread(AddressOf NEW_MESSAGE)
+ thread.IsBackground = True
+ 'thread.Start(client)
+ thread.Start()
+
+ 'Ein zweiter Thread kontrolliert, ob die Funktion nach einer gewissen Zeit noch läuft und beendet diese ggf.
+ 'Dim st As New Thread(AddressOf stopThread)
+ 'st.IsBackground = True
+ 'Dim param_obj(3) As Object
+ ''Übergabeparameter des 2. Threads
+ 'param_obj(0) = thread
+ 'param_obj(1) = client
+ 'param_obj(2) = 60
+ 'st.Start(param_obj)
+
+ 'Send("Task successful", client) 'Client-Mittelung
+
+ Return ""
+
+
+ End Select
+
+ Return "Task not found"
+ ' Me.writeToFrmLog(client, "", "ERROR: Undefinierter Task: " & msg)
+
+ End Function
+
+ Sub NEW_MESSAGE()
+ VERAG_PROG_ALLGEMEIN.cMessenger.NEW_MESSGE = True
+ ' MsgBox("jojo")
+ 'For Each openForm In Application.OpenForms()
+ ' If TypeOf (openForm) Is frmMessenger Then
+ ' 'MsgBox("Sendungsfenster bereits geöffnet!")
+ ' 'CType(openForm, frmSendungsdetailsNEU).BringToFront()
+ ' 'Return Nothing
+ ' CType(openForm, frmMessenger).REFRESH_CHAT()
+ ' CType(openForm, frmMessenger).btnTEST.Visible = True
+ ' Exit For
+ ' End If
+ 'Next
+ End Sub
+
+ Sub stopThread(param_obj As Object) 'Stoppt einen Hauptthread nach einer gewissen Anzahl von Sekunden; Übergabeparameter: Object { Tread, clientSocket, SekundenToTimeout }
+ Thread.Sleep(param_obj(2) * 1000) ' Hier wird soviele Senkunden gewartet, wie in den Übergabeparametern definiert wurde.
+ If param_obj(0).IsAlive Then
+ param_obj(0).Abort() ' Wenn der Hauptthread noch immer läuft, wird er jetzt beendet.
+ Else
+ Exit Sub
+ End If
+ Send("Task timeout", param_obj(1)) 'Client-Mittelung
+ 'Me.writeToFrmLog(param_obj(1), "ERROR: Task wurde aufgrund eines Timeouts abgebrochen.") 'Log-Mittelung
+ End Sub
+
+
+
+
+
+ ''Threadsichere Funktion zum schreiben in die TextBox:
+ 'Delegate Sub writeToFrmLogCallback(ByVal client As Socket, ByVal nameTask As String, ByVal text As String)
+ 'Public Sub writeToFrmLog(ByVal client As Socket, ByVal nameTask As String, ByVal text As String)
+
+ ' ' InvokeRequired required compares the thread ID of the
+ ' ' calling thread to the thread ID of the creating thread.
+ ' ' If these threads are different, it returns true.
+ ' If Me.txtLog.InvokeRequired Then
+ ' Dim d As New writeToFrmLogCallback(AddressOf writeToFrmLog)
+ ' Me.Invoke(d, New Object() {client, nameTask, text})
+ ' Else
+ ' Dim remoteIpEndPoint As IPEndPoint = client.RemoteEndPoint
+ ' Me.txtLog.Text &= Now.ToString("dd.MM.yyyy HH:mm ") & nameTask & " (" & remoteIpEndPoint.Address.ToString & "): " & text & vbNewLine
+ ' If Me.txtLog.Lines.Count > 35 Then
+ ' Dim arr As String() = Me.txtLog.Lines
+ ' Me.txtLog.Text = ""
+ ' For i = arr.Count - 35 To arr.Count - 1
+ ' Me.txtLog.Text &= arr(i) & vbNewLine
+ ' Next i
+ ' End If
+ ' End If
+ ' Me.txtLog.SelectionLength = 0
+ 'End Sub
+
+ 'Public Sub writeToFrmLog(ByVal nameTask As String, ByVal text As String)
+ ' Me.txtLog.Text &= Now.ToString("dd.MM.yyyy HH:mm ") & nameTask & ": " & text & vbNewLine
+ ' If Me.txtLog.Lines.Count > 35 Then
+ ' Dim arr As String() = Me.txtLog.Lines
+ ' Me.txtLog.Text = ""
+ ' For i = arr.Count - 35 To arr.Count - 1
+ ' Me.txtLog.Text &= arr(i) & vbNewLine
+ ' Next i
+ ' End If
+ 'End Sub
+
+
+
+ 'Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'geht nicht
+ ' clientSocket.Close()
+
+ ' If clientSocket.Connected Then
+ ' clientSocket.Shutdown(SocketShutdown.Both)
+ ' clientSocket.Close()
+ ' End If
+ ' clientSocket.Disconnect(True)
+
+ ' txtInitAufschubStatus.Text = "angehalten"
+ ' txtInitAufschubStatus.ForeColor = Color.DarkRed
+ 'End Sub
+
+ Public Sub STOP_MSG_LISTENDER()
+ clientSocket.Shutdown(SocketShutdown.Both)
+ clientSocket.Close()
+ serverSocket.Shutdown(SocketShutdown.Both)
+ serverSocket.Close()
+ serverSocket = Nothing
+ DIENST_InitSocket()
+ End Sub
+
+
+
+
+
+ Private Result As Object = Nothing 'Store the worked result of abc()
+ Private Sub Worker(ByVal state As Object)
+ Dim are As AutoResetEvent = DirectCast(state, AutoResetEvent)
+ ' do anything you want here:
+
+
+
+
+
+ Dim result As Integer = 0
+ 'result = abc(input_val);
+
+ SyncLock Me.Result
+ Me.Result = result
+ End SyncLock
+ are.[Set]()
+ End Sub
+ 'Private Sub method()
+
+ ' Const TimeOut As Int32 = 5000
+ ' Dim [handles] As WaitHandle() = New WaitHandle() {New AutoResetEvent(False)}
+
+ ' ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Worker), [handles](0))
+ ' Dim finished As Boolean = WaitHandle.WaitAll([handles], TimeOut, True)
+ ' 'ThreadPool.RegisterWaitForSingleObject ()
+
+ ' If finished Then
+ ' ' step 2
+ ' MessageBox.Show("Worker function finished sucessfully, go to Step2")
+ ' Else
+ ' ' step 3
+ ' MessageBox.Show([String].Format("Worker function time out({0})!, go to Step3", TimeOut))
+ ' End If
+ 'End Sub
+
+
+End Class
+
+Public Class cServerClient
+ Dim clientSocket As Socket
+ Dim byteData(1023) As Byte
+ Dim doThis As String
+ Dim params() As String
+ Public status As String = "begin"
+ ' Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
+ ' begin()
+ ' End Sub
+
+ Public Event FunctionFinished(ByVal sender As Object, ByVal e As FunctionFinishedArgs)
+
+
+ Public Sub begin(ip, doThis_tmp, Optional params() = Nothing)
+ Try
+
+ doThis = doThis_tmp
+ params = params
+ Dim timeOut As Integer = 60
+ Select Case doThis
+ Case "test" : timeOut = 5 ' nach 5 Sekunden wird abgebrochen
+ Case "NEW_MESSAGE" : timeOut = 5 ' nach 120 Sekunden wird abgebrochen
+ 'Case "initAufschubkonten" : timeOut = 60 ' nach 60 Sekunden wird abgebrochen
+ End Select
+
+ 'Ein Thread kontrolliert, ob die Funktion nach einer gewissen Zeit noch läuft und beendet diese ggf.
+ 'Dim st As New Thread(AddressOf stopThread)
+ 'st.IsBackground = True
+ 'Dim param_obj(1) As Object
+ ''Übergabeparameter des 2. Threads
+ 'param_obj(0) = timeOut
+ 'st.Start(param_obj)
+
+
+ clientSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
+ Dim ipAddress As IPAddress = IPAddress.Parse(ip)
+
+ ' Dim ipAddress As IPAddress = ipAddress.Parse("192.168.0.90")
+ Dim ipEndPoint As IPEndPoint = New IPEndPoint(ipAddress, 8800)
+ clientSocket.BeginConnect(ipEndPoint, New AsyncCallback(AddressOf OnConnect), Nothing)
+ status = "beginConnect"
+ ' endconnect(clientSocket)
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+
+ End Sub
+
+ Public Sub waitTillFinished()
+ While Not (status = "TaskError" Or status = "TaskSuccess")
+ 'wait
+ End While
+ 'Return True
+ End Sub
+
+ Private Sub OnConnect(ByVal ar As IAsyncResult)
+ Try
+ clientSocket.EndConnect(ar)
+ clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None,
+ New AsyncCallback(AddressOf OnRecieve), clientSocket)
+ Catch ex As Exception
+ ' MsgBox("Verbindung zum Server konnte nicht aufgebaut werden!")
+ End Try
+ End Sub
+
+ Private Sub OnSend(ByVal ar As IAsyncResult)
+ Dim client As Socket = ar.AsyncState
+ client.EndSend(ar)
+ End Sub
+ Private Sub Send(ByVal msg As String, ByVal client As Socket)
+ Dim sendBytes As Byte() = Encoding.BigEndianUnicode.GetBytes(msg)
+ client.BeginSend(sendBytes, 0, sendBytes.Length, SocketFlags.None, New AsyncCallback(AddressOf OnSend), client)
+ End Sub
+ Public Function ByteArrayToTextString(ByRef Barr() As Byte) As String
+ Dim enc As System.Text.Encoding = Encoding.BigEndianUnicode
+ Return enc.GetString(Barr)
+ End Function
+
+ Private Sub OnRecieve(ByVal ar As IAsyncResult)
+ Try
+ Dim client As Socket = ar.AsyncState
+ client.EndReceive(ar)
+ Dim bytesRec As Byte() = byteData
+ Dim message As String = Encoding.BigEndianUnicode.GetString(bytesRec)
+ ' MsgBox("FROM SERVER: " & message)
+ Dim b(1023) As Byte
+
+ ' MsgBox("SERVER RECIEVE: " & Encoding.BigEndianUnicode.GetString(b))
+
+ byteData = b
+ Read(message)
+ clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None,
+ New AsyncCallback(AddressOf OnRecieve), clientSocket)
+
+ Catch ex As Exception
+ ' MsgBox("Verbindung zum Server wurde unterbrochen!")
+ End Try
+ End Sub
+
+ Delegate Sub _Read(ByVal msg As String)
+ Private Sub Read(ByVal msg As String)
+ 'If frmMain.InvokeRequired Then
+ ' frmMain.Invoke(New _Read(AddressOf Read), msg)
+ ' Exit Sub
+ 'End If
+
+ 'frmMain.icoVERAGMonitoring.Visible = False
+
+ 'if richtige nsachricht
+ ' Dim asciis As Byte() = Encoding.BigEndianUnicode.GetBytes(msg)
+ ' Dim a As Char = msg(msg.Length - 1)
+ ' msg = msg.Replace(a, "")
+ ' MsgBox(msg.Length)
+
+ ' MsgBox(msg(msg.Length - 1))
+ ' MsgBox(msg(msg.Length - 1))
+ ' MsgBox(Asc(msg(msg.Length - 1)))
+ ' MsgBox(Asc(msg(msg.Length - 2)))
+ msg = msg.Replace(Convert.ToChar(0), "")
+ Try
+
+ ' MsgBox("-" & msg & "-" & vbNewLine & "ConSuccess" & "-")
+ If msg = "ConSuccess" Then
+ status = "ConSuccess"
+ Select Case doThis
+ Case "test"
+ Send("test", clientSocket)
+ status = "sendTask"
+ Case "NEW_MESSAGE"
+ Send("NEW_MESSAGE", clientSocket)
+ status = "sendTask"
+ End Select
+
+ ' MsgBox("!!!!!ConSuccess --> initAufschubkonten")
+ ' Send("FSSAtlasStart", clientSocket)
+ 'Send("test", clientSocket)
+ 'Send("initAufschubkonten", clientSocket)
+
+ 'ElseIf msg = "Task successful" Then
+ ' status = "TaskSuccess"
+ ' clientSocket.Disconnect(False)
+ ' clientSocket.Shutdown(SocketShutdown.Both)
+ ' clientSocket.Close()
+ ' 'endconnect(clientSocket)'geht ned
+ ' ' MsgBox("Task erfolgreich!", vbSystemModal, doThis)
+ ' RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.OK, "Task erfolgreich!"))
+ 'ElseIf msg = "Task not found" Then
+ ' MsgBox("SERVERERROR: Der Dienst wurde nicht gefunden!", vbSystemModal, "NEW_MESSAGE")
+ ' status = "TaskError"
+ ' RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "SERVERERROR: Der Dienst wurde nicht gefunden!"))
+ 'ElseIf msg = "Task inactive" Then
+ ' MsgBox("SERVERERROR: Der Dienste ist nicht aktiv!", vbSystemModal, "NEW_MESSAGE")
+ ' status = "TaskError"
+ ' RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "SERVERERROR: Der Dienste ist nicht aktiv!"))
+ 'ElseIf msg = "Task timeout" Then
+ ' MsgBox("SERVERERROR: Der Dienst wurde wegen einer Zeitüberschreitung abgebrochen!", vbSystemModal, "NEW_MESSAGE")
+ ' status = "TaskError"
+ ' RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "SERVERERROR: Der Dienst wurde wegen einer Zeitüberschreitung abgebrochen!"))
+ 'ElseIf msg = "Task error" Then
+ ' MsgBox("SERVERERROR: Server-Fehler!", vbSystemModal, "NEW_MESSAGE")
+ ' status = "TaskError"
+ ' RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "SERVERERROR: Server-Fehler!"))
+ 'Else
+ ' MsgBox("SERVER_NACHRICHT NICHT VERSTANDEN: " & msg, vbSystemModal)
+ ' status = "TaskError"
+ ' RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "SERVER_NACHRICHT NICHT VERSTANDEN: " & msg))
+
+ ' clientSocket.Shutdown(SocketShutdown.Both)
+ ' clientSocket.Close()
+ End If
+
+ Catch ex As Exception
+ MsgBox("Verbindungs-Fehler beim Senden", vbSystemModal)
+ status = "TaskError"
+ RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "Verbindungs-Fehler beim Senden"))
+ clientSocket.Close()
+ End Try
+ ' byteData = Encoding.BigEndianUnicode.GetBytes("")
+
+ End Sub
+
+
+
+ Sub stopThread(param_obj As Object) 'Stoppt einen Hauptthread nach einer gewissen Anzahl von Sekunden; Übergabeparameter: Object { Tread, clientSocket, SekundenToTimeout }
+ Thread.Sleep(param_obj(0) * 1000) ' Hier wird soviele Senkunden gewartet, wie in den Übergabeparametern definiert wurde.
+ If status = "TaskError" Or status = "TaskSuccess" Then Exit Sub
+ status = "TaskError"
+ Try
+ clientSocket.Disconnect(False)
+ clientSocket.Shutdown(SocketShutdown.Both)
+ clientSocket.Close()
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+
+ RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs(FunctionFinishedArgs.EventResult.ERR, "Task wurde aufgrund eines Timeouts vom Client abgebrochen."))
+ MsgBox("ERROR: Task wurde aufgrund eines Timeouts vom Client abgebrochen.") 'Log-Mittelung
+ End Sub
+
+
+End Class
+
+Public Class FunctionFinishedArgs
+ Inherits EventArgs
+ 'das was man später unter e sehen kann
+ Public Result As EventResult
+ 'hier - als Beispiel - einfach eine Enum
+ Public Enum EventResult
+ OK
+ ERR
+ End Enum
+ Public Message As String
+ 'Zum übergeben der Parameter
+ Public Sub New(ByVal r As EventResult, m As String)
+ Result = r
+ Message = m
+ End Sub
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb
new file mode 100644
index 0000000..2b67fa6
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb
@@ -0,0 +1,832 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cMessenger
+
+ Public Shared NEW_MESSGE As Boolean = False
+ Public Shared UNREAD_MESAGES As Integer = 0
+
+ Shared SQL As New SQL
+
+ Public Shared Function GEN_NEW_CHAT(chat_name As String, MaIds As List(Of Integer), Optional ByRef CHAT As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat = Nothing) As Boolean
+ CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat
+ CHAT.chat_erstelltAm = Now
+ CHAT.chat_erstelltMaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ CHAT.chat_name = chat_name
+
+ For Each maId In MaIds
+ Dim MB As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMembers(CHAT.chat_id, maId)
+ MB.chatMb_maId = maId
+ CHAT.CHAT_MEMBERS.Add(MB)
+ Next
+ Return CHAT.SAVE(True)
+
+ End Function
+
+ Public Shared Function CHECK_EXISTS(MaId As Integer, Optional ByRef toChatID As Integer = -1) As Boolean
+ Dim sqlStr = "Select TOP 1 chat_id FROM [tblMessenger_Chat] inner join tblMessenger_ChatMembers On chatMb_chatId=chat_id where chat_name='' AND [chat_aktiv]=1
+ And (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMb_chatId=chat_id And chatMb_maId='" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "' ) >0
+ And (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMb_chatId=chat_id And chatMb_maId='" & MaId & "' ) >0
+ order by chat_id DESC"
+
+ toChatID = SQL.getValueTxtBySql(sqlStr, "ADMIN",,, -1)
+ Return (toChatID > 0)
+ End Function
+
+
+ Public Shared Function GET_NewMSG_COUNT(Optional maId = -1) As Integer
+ If maId < 0 Then maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ Return SQL.getValueTxtBySql("SELECT isnull(COUNT(*),0) FROM tblMessenger_ChatMessages INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE chatMgSt_MaId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & " AND chatMgSt_gelesen=0", "ADMIN",,, 0)
+ End Function
+
+ Public Shared Function GET_CHAT_LIST() As List(Of cMessenger_Chat)
+ Dim LIST As New List(Of cMessenger_Chat)
+ Dim dt = SQL.loadDgvBySql("SELECT [chat_id] FROM [tblMessenger_Chat] WHERE (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMB_chatId=chat_id AND chatMB_maId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & ")>0", "ADMIN")
+
+ For Each r In dt.Rows
+ Dim CHAT As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(r("chat_id"))
+ LIST.Add(CHAT)
+ Next
+ Return LIST
+
+ End Function
+
+ Public Class cMessenger_Chat
+
+ Property chat_id As Integer = -1
+ Property chat_name As String
+ Property chat_erstelltAm As Date = Now
+ Property chat_erstelltMaId As Integer
+ Property chat_aktiv As Boolean = True
+
+ Public CHAT_MEMBERS As New List(Of cMessenger_ChatMembers)
+ Public CHAT_MESSAGES As New List(Of cMessenger_ChatMessages)
+ Dim SQL As New SQL
+
+ Sub New()
+ Me.chat_erstelltMaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ Me.chat_erstelltAm = Now
+ LOAD()
+ End Sub
+
+
+ Sub New(chat_id As Integer, Optional topMax As String = "", Optional dateTmp As Object = Nothing)
+ Me.chat_id = chat_id
+ Me.chat_erstelltMaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ Me.chat_erstelltAm = Now
+ LOAD(topMax, dateTmp)
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chat_id", chat_id,, True))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chat_name", chat_name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chat_erstelltAm", chat_erstelltAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chat_erstelltMaId", chat_erstelltMaId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chat_aktiv", chat_aktiv))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE(saveAll As Boolean) As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMessenger_Chat WHERE chat_id=@chat_id) " &
+ " BEGIN " & getUpdateCmd() & " End " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " End " &
+ " commit tran "
+
+ chat_id = SQL.doSQLVarListID(chat_id, sqlstr, "ADMIN", , list)
+
+ If saveAll Then
+ SAVE_MEMBERS()
+ End If
+
+ Return chat_id > 0
+ End Function
+
+ Public Sub LOAD(Optional topMax As String = "", Optional dateTmp As Object = Nothing)
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("Select * FROM tblMessenger_Chat WHERE chat_id=@chat_id ", conn)
+ cmd.Parameters.AddWithValue("@chat_id", chat_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ Me.LOAD_MEMBERS()
+ If dateTmp Is Nothing Then
+ Me.LOAD_MESSAGES(topMax)
+ Else
+ Me.LOAD_MESSAGES_DATE(dateTmp)
+ End If
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function SAVE_MEMBERS() As Boolean
+ Try
+ DELETE_MEMBERS()
+ For Each MB In Me.CHAT_MEMBERS
+ MB.chatMb_chatId = Me.chat_id
+ MB.SAVE()
+ Next
+ Return True
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ Return False
+ End Try
+ End Function
+
+ Public Function READ_ALL_MESSAGES() As Boolean
+ Dim sqlstr = "UPDATE tblMessenger_ChatMessageStatus SET chatMgSt_gelesen=1 FROM [tblMessenger_Chat] INNER JOIN tblMessenger_ChatMessages ON [chat_id]=chatMg_chatId INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE chat_id=" & Me.chat_id & " AND chatMgSt_MaId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & " AND chatMgSt_gelesen=0 "
+ Return SQL.doSQL(sqlstr, "ADMIN")
+ End Function
+
+ Public Function DELETE_MEMBERS() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblMessenger_ChatMembers] WHERE chatMb_chatId=" & Me.chat_id
+ Return SQL.doSQL(sqlstr, "ADMIN")
+ End Function
+ Public Sub LOAD_MEMBERS()
+ Try
+ Me.CHAT_MEMBERS.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblMessenger_ChatMembers WHERE chatMb_chatId=@chat_id ", conn)
+ cmd.Parameters.AddWithValue("@chat_id", chat_id)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim MB As New cMessenger_ChatMembers(Me.chat_id, dr.Item("chatMb_maId"))
+ Me.CHAT_MEMBERS.Add(MB)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+ Public Sub LOAD_MESSAGES(Optional top As Integer = 100)
+ Try
+ Me.CHAT_MESSAGES.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM(SELECT TOP " & top & " * FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id order by chatMg_datetime desc) as T order by chatMg_datetime asc", conn)
+ cmd.Parameters.AddWithValue("@chat_id", chat_id)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
+ Me.CHAT_MESSAGES.Add(MSG)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Sub LOAD_MESSAGES_DATE(dateTmp As Date)
+ Try
+ Me.CHAT_MESSAGES.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id AND CAST(chatMg_datetime as date)>=@dateTmp order by chatMg_datetime asc", conn)
+ cmd.Parameters.AddWithValue("@chat_id", chat_id)
+ cmd.Parameters.AddWithValue("@dateTmp", dateTmp)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
+ Me.CHAT_MESSAGES.Add(MSG)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblMessenger_Chat] SET " & str & " WHERE chat_id=@chat_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblMessenger_Chat (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblMessenger_Chat] WHERE chat_id=" & Me.chat_id
+ Return SQL.doSQL(sqlstr, "ADMIN")
+ End Function
+
+
+ End Class
+
+ Public Class cMessenger_ChatMembers
+
+ Property chatMb_chatId As Integer = -1
+ Property chatMb_maId As Integer = -1
+ Property chatMb_beitritt As Date = Now
+
+ Dim SQL As New SQL
+
+
+
+ Sub New(chatMb_chatId, chatMb_maId)
+ Me.chatMb_chatId = chatMb_chatId
+ Me.chatMb_maId = chatMb_maId
+ Me.chatMb_beitritt = Now
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMb_chatId", chatMb_chatId))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMb_maId", chatMb_maId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMb_beitritt", chatMb_beitritt))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM [tblMessenger_ChatMembers] WHERE chatMb_chatId=@chatMb_chatId AND chatMb_maId=@chatMb_maId) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "ADMIN", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM [tblMessenger_ChatMembers] WHERE chatMb_chatId=@chatMb_chatId AND chatMb_maId=@chatMb_maId ", conn)
+ cmd.Parameters.AddWithValue("@chatMb_chatId", chatMb_chatId)
+ cmd.Parameters.AddWithValue("@chatMb_maId", chatMb_maId)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblMessenger_ChatMembers] SET " & str & " WHERE chatMb_chatId=@chatMb_chatId AND chatMb_maId=@chatMb_maId ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO [tblMessenger_ChatMembers] (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE([chatMb_maId]) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblMessenger_ChatMembers] WHERE [chatMb_chatId]=" & Me.[chatMb_chatId] & " AND [chatMb_maId] ='" & [chatMb_maId] & "'"
+ Return SQL.doSQL(sqlstr, "ADMIN")
+ End Function
+
+
+ End Class
+
+ Public Class cMessenger_ChatStatus
+
+ Property chatMgSt_chatMsgId As Integer
+ Property chatMgSt_MaId As Integer
+ Property chatMgSt_gelesen As Boolean = False
+ Property chatMgSt_datetime As Date = Now
+
+ Dim SQL As New SQL
+
+
+ Sub New(chatMgSt_chatMsgId, chatMgSt_MaId, chatMgSt_gelesen)
+ Me.chatMgSt_chatMsgId = chatMgSt_chatMsgId
+ Me.chatMgSt_MaId = chatMgSt_MaId
+ Me.chatMgSt_gelesen = chatMgSt_gelesen
+ Me.chatMgSt_datetime = Now
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_chatMsgId", chatMgSt_chatMsgId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_MaId", chatMgSt_MaId))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_gelesen", chatMgSt_gelesen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_datetime", chatMgSt_datetime))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMessenger_ChatMessages WHERE chatMgSt_chatMsgId=@chatMgSt_chatMsgId AND chatMgSt_MaId=@chatMgSt_MaId) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "ADMIN", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblMessenger_ChatMessages WHERE chatMgSt_chatMsgId=@chatMgSt_chatMsgId AND chatMgSt_MaId=@chatMgSt_MaId ", conn)
+ cmd.Parameters.AddWithValue("@chatMgSt_chatMsgId", chatMgSt_chatMsgId)
+ cmd.Parameters.AddWithValue("@chatMgSt_MaId", chatMgSt_MaId)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE tblMessenger_ChatMessages SET " & str & " WHERE chatMgSt_chatMsgId=@chatMgSt_chatMsgId AND chatMgSt_MaId=@chatMgSt_MaId ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblMessenger_ChatMessages (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE([chatMgSt_MaId]) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM tblMessenger_ChatMessages WHERE [chatMgSt_chatMsgId]=" & Me.chatMgSt_chatMsgId & " AND [chatMgSt_MaId] ='" & chatMgSt_MaId & "'"
+ Return SQL.doSQL(sqlstr, "ADMIN")
+ End Function
+
+
+ End Class
+
+
+ Public Class cMessenger_ChatMessages
+
+ Property chatMg_id As Integer ' INT Not NULL PRIMARY KEY IDENTITY,
+
+ Property chatMg_chatId As Integer ' INT Not NULL,
+ Property chatMg_maId As Integer ' INT Not NULL,
+ Property chatMg_datetime As Date = Now
+ Property chatMg_maName As String = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname
+ Property chatMg_maFirma As String = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+ Property chatMg_type As String = "TEXT"
+ Property chatMg_text As String = ""
+ Property chatMg_anhang_docId As Integer ' int NULL,
+ Property chatMg_referenz_AvisoId As Integer ' int NULL,
+ Property chatMg_referenz_SendungsId As Integer ' int NULL,
+ Property chatMg_referenz_KundenNr As Integer ' int NULL
+
+ Public CHAT_MESSAGES_STATUS_LIST As New List(Of cMessenger_ChatMessageStatus)
+
+ Dim SQL As New SQL
+
+
+ Sub New(chatMg_id)
+ Me.chatMg_id = chatMg_id
+ LOAD()
+ End Sub
+ Sub New(chatMg_chatId, chatMg_maId)
+ Me.chatMg_chatId = chatMg_chatId
+ Me.chatMg_maId = chatMg_maId
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_id", chatMg_id,, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_maId", chatMg_maId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_chatId", chatMg_chatId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_datetime", chatMg_datetime))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_maName", chatMg_maName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_maFirma", chatMg_maFirma))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_type", chatMg_type))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_text", chatMg_text))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_anhang_docId", chatMg_anhang_docId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_referenz_AvisoId", chatMg_referenz_AvisoId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_referenz_SendungsId", chatMg_referenz_SendungsId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_referenz_KundenNr", chatMg_referenz_KundenNr))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE(saveStat As Boolean, Optional CHAT_MEMBERS As List(Of cMessenger_ChatMembers) = Nothing) As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMessenger_ChatMessages WHERE chatMg_id=@chatMg_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+ Dim tmp_id = SQL.doSQLVarListID(Me.chatMg_id, sqlstr, "ADMIN", , list)
+ If tmp_id > 0 Then
+ Me.chatMg_id = tmp_id
+ If saveStat Then SAVE_STATUS_FIRST(CHAT_MEMBERS)
+ UPDATE_LASTMSG() ' Versucht einen TSTMP der letzten Nachricht einzutragen
+ Return True
+ Else
+ Return False
+ End If
+
+
+ ''Return SQL.doSQLVarList(sqlstr, "ADMIN", , list)
+ End Function
+
+
+ Public Function UPDATE_LASTMSG() As Boolean
+ Dim sqlstr = " UPDATE tblMessenger_Chat SET chat_lastMsg=getDate() WHERE [chat_id]=" & Me.chatMg_chatId & " "
+ Return SQL.doSQL(sqlstr, "ADMIN")
+ End Function
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblMessenger_ChatMessages WHERE chatMg_id=@chatMg_id ", conn)
+ cmd.Parameters.AddWithValue("@chatMg_id", chatMg_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ LOAD_STATUS()
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE tblMessenger_ChatMessages SET " & str & " WHERE chatMg_id=@chatMg_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblMessenger_ChatMessages (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE([chatMgSt_MaId]) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM tblMessenger_ChatMessages WHERE [chatMg_id]=" & Me.chatMg_id & " "
+ Return SQL.doSQL(sqlstr, "ADMIN")
+ End Function
+
+ Public Sub SAVE_STATUS_FIRST(CHAT_MEMBERS As List(Of cMessenger_ChatMembers))
+ Try
+ If CHAT_MEMBERS IsNot Nothing Then
+ For Each MB In CHAT_MEMBERS
+ Dim gelesen = False
+ If MB.chatMb_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
+ gelesen = True
+ End If
+ Dim STAT As New cMessenger_ChatMessageStatus(Me.chatMg_id, MB.chatMb_maId, gelesen)
+
+ STAT.SAVE()
+ Next
+ End If
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ 'Public Function DELETE_STATUS() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ ' Dim sqlstr = " DELETE FROM [tblMessenger_ChatMessageStatus] WHERE chatMb_chatId=" & Me.chatMg_chatId
+ ' Return SQL.doSQL(sqlstr, "ADMIN")
+ 'End Function
+
+ Public Sub LOAD_STATUS()
+ Try
+ Me.CHAT_MESSAGES_STATUS_LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblMessenger_ChatMessageStatus WHERE chatMgSt_chatMsgId=@chatMg_id ", conn)
+ cmd.Parameters.AddWithValue("@chatMg_id", Me.chatMg_id)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim MB As New cMessenger_ChatMessageStatus(Me.chatMg_id, dr.Item("chatMgSt_MaId"))
+ Me.CHAT_MESSAGES_STATUS_LIST.Add(MB)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+ End Class
+
+
+
+
+ Public Class cMessenger_ChatMessageStatus
+
+ Property chatMgSt_chatMsgId As Integer
+ Property chatMgSt_MaId As Integer
+ Property chatMgSt_datetime As Date = Now
+ Property chatMgSt_gelesen As Boolean = False
+
+ Dim SQL As New SQL
+
+
+ Sub New(chatMgSt_chatMsgId, chatMgSt_MaId)
+ Me.chatMgSt_chatMsgId = chatMgSt_chatMsgId
+ Me.chatMgSt_MaId = chatMgSt_MaId
+ LOAD()
+ End Sub
+ Sub New(chatMgSt_chatMsgId, chatMgSt_MaId, chatMgSt_gelesen)
+ Me.chatMgSt_chatMsgId = chatMgSt_chatMsgId
+ Me.chatMgSt_MaId = chatMgSt_MaId
+ Me.chatMgSt_gelesen = chatMgSt_gelesen
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_chatMsgId", chatMgSt_chatMsgId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_MaId", chatMgSt_MaId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_datetime", chatMgSt_datetime))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMgSt_gelesen", chatMgSt_gelesen))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMessenger_ChatMessageStatus WHERE chatMgSt_chatMsgId=@chatMgSt_chatMsgId AND chatMgSt_MaId=@chatMgSt_MaId) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "ADMIN", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblMessenger_ChatMessageStatus WHERE chatMgSt_chatMsgId=@chatMgSt_chatMsgId AND chatMgSt_MaId=@chatMgSt_MaId ", conn)
+ cmd.Parameters.AddWithValue("@chatMgSt_chatMsgId", chatMgSt_chatMsgId)
+ cmd.Parameters.AddWithValue("@chatMgSt_MaId", chatMgSt_MaId)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE tblMessenger_ChatMessageStatus SET " & str & " WHERE chatMgSt_chatMsgId=@chatMgSt_chatMsgId AND chatMgSt_MaId=@chatMgSt_MaId ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblMessenger_ChatMessageStatus (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE([chatMgSt_MaId]) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM tblMessenger_ChatMessageStatus WHERE [chatMgSt_chatMsgId]=" & Me.chatMgSt_chatMsgId & " AND [chatMgSt_MaId]=" & Me.chatMgSt_MaId & " "
+ Return SQL.doSQL(sqlstr, "ADMIN")
+ End Function
+
+ End Class
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMitarbeiter.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMitarbeiter.vb
new file mode 100644
index 0000000..2111ba8
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cMitarbeiter.vb
@@ -0,0 +1,403 @@
+Imports System.Data.SqlClient
+
+
+Public Class cMitarbeiter
+ Property mit_id As Integer
+ Property mit_username As String = ""
+ Property mit_pwd As String = ""
+ Property mit_geschlecht As String = ""
+ Property mit_affix As String = ""
+ Property mit_vname As String = ""
+ Property mit_nname As String = ""
+ Property mit_gebdat As String = ""
+ Property mit_strasse As String = ""
+ Property mit_hausnr As String = ""
+ Property mit_land As String = ""
+ Property mit_plz As String = ""
+ Property mit_ort As String = ""
+ Property mit_niederlassung As String = ""
+ Property mit_abteilung As String = ""
+ Property mit_position As String = ""
+ Property mit_durchwahl As String = ""
+ Property mit_email As String = ""
+ Property mit_mobiltel As String = ""
+ Property mit_allowAnruf As Boolean
+ Property mit_info As String = ""
+ Property mit_einstiegsdatum As String = ""
+ Property mit_gekuendigt As Boolean
+ Property mit_kuendigungsdatum As String = ""
+ Property mit_foto As String = ""
+ Property mit_firma As String = "VERAG"
+ Property mit_firmaFMZoll As Object = Nothing
+ Property mit_FMZollPersID As Object = Nothing
+ Property mit_standartFiliale As Integer = -1
+ Property mit_standardPreisliste As Integer = -1
+ Property mit_FMZollPersIDKasseIsnotSpedBuch As Boolean = False
+ Property mit_FMZollPersIDSpedBuch As Object = Nothing
+ Property mit_DpUserStandardDP As Object = Nothing
+ Property mit_DpUserStandardFirma As Object = Nothing
+ Property mit_DpUserStandardFirma2 As Object = Nothing
+
+ Property mit_EZOLL_SB As Object = Nothing
+ Property mit_ATLAS_SB As Object = Nothing
+ Property mit_pseudoUser As Boolean = False
+
+ Property mit_FirmenDatenAnzeige As Object = Nothing
+
+ Property mit_DAKOSY_SB As Object = Nothing
+ Property mit_DAKOSY_SBFull As Object = Nothing
+ Property mit_TESTonly As Object = Nothing
+ Property mit_PasswortChanged As Object = Nothing
+ Property mit_TELOTEC_SB As Object = Nothing
+
+
+ Property mit_AliasAD_Domain As Object = Nothing
+ Property mit_AliasAD_Username As Object = Nothing
+ Property mit_AliasAD_Domain2 As Object = Nothing
+ Property mit_AliasAD_Username2 As Object = Nothing
+
+ Property mit_teamId As Object = Nothing
+ Property mit_ChatBenutzer As Boolean = True
+ Property mit_FirmaHaupt As Object = Nothing
+ Property mit_ChatEasteregg As Boolean = False
+
+
+
+ Property mit_MAVerzeichnis_SettingsTstmp As Object = Nothing
+ Property mit_MAVerzeichnis_allowGebDat As Boolean = False
+ Property mit_MAVerzeichnis_allowWohnadresse As Boolean = False
+ Property mit_MAVerzeichnis_allowGebDatOhneJahr As Boolean = False
+ Property mit_MAVerzeichnis_allowHandynummer As Boolean = False
+ Property mit_MAVerzeichnis_allowFoto As Boolean = False
+
+
+ Property mit_MAVerzeichnis_Motto As Object = Nothing
+ Property mit_MAVerzeichnis_Spitzname As Object = Nothing
+
+ Property mit_foto_DocId As Object = Nothing
+ Property mit_sprache As String = "DE"
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+
+ Sub New(id)
+ Me.mit_id = id
+ LOAD(id)
+
+ End Sub
+ ' Dim SQL As New SQL
+
+ Public Function Fullname() As String
+ Return (If(mit_vname, "") & " " & If(mit_nname, "")).Trim
+ End Function
+
+
+ Public Function getFirma() As String
+ If mit_firma Is Nothing Then Return ""
+ Select Case mit_firma
+ Case "ALLE", "BEIDE", "ALL"
+ Return If(mit_FirmaHaupt, "")
+ End Select
+ Return mit_firma
+ End Function
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_id", mit_id,, True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_username", mit_username))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_pwd", mit_pwd))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_geschlecht", mit_geschlecht))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_affix", mit_affix))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_vname", mit_vname))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_nname", mit_nname))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_gebdat", mit_gebdat))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_strasse", mit_strasse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_hausnr", mit_hausnr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_land", mit_land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_plz", mit_plz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_ort", mit_ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_niederlassung", mit_niederlassung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_abteilung", mit_abteilung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_position", mit_position))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_durchwahl", mit_durchwahl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_email", mit_email))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_mobiltel", mit_mobiltel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_allowAnruf", mit_allowAnruf))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_info", mit_info))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_einstiegsdatum", mit_einstiegsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_gekuendigt", mit_gekuendigt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_kuendigungsdatum", mit_kuendigungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_foto", mit_foto))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_firma", mit_firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_firmaFMZoll", mit_firmaFMZoll))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_FMZollPersID", mit_FMZollPersID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_standartFiliale", mit_standartFiliale))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_standardPreisliste", mit_standardPreisliste))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_FMZollPersIDKasseIsnotSpedBuch", mit_FMZollPersIDKasseIsnotSpedBuch))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_FMZollPersIDSpedBuch", mit_FMZollPersIDSpedBuch))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_DpUserStandardDP", mit_DpUserStandardDP))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_DpUserStandardFirma", mit_DpUserStandardFirma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_DpUserStandardFirma2", mit_DpUserStandardFirma2))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_EZOLL_SB", mit_EZOLL_SB))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_ATLAS_SB", mit_ATLAS_SB))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_pseudoUser", mit_pseudoUser))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_FirmenDatenAnzeige", mit_FirmenDatenAnzeige))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_DAKOSY_SB", mit_DAKOSY_SB))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_DAKOSY_SBFull", mit_DAKOSY_SBFull))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_TESTonly", mit_TESTonly))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_PasswortChanged", mit_PasswortChanged))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_TELOTEC_SB", mit_TELOTEC_SB))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_AliasAD_Domain", mit_AliasAD_Domain))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_AliasAD_Username", mit_AliasAD_Username))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_AliasAD_Domain2", mit_AliasAD_Domain2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_AliasAD_Username2", mit_AliasAD_Username2))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_teamId", mit_teamId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_ChatBenutzer", mit_ChatBenutzer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_FirmaHaupt", mit_FirmaHaupt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_ChatEasteregg", mit_ChatEasteregg))
+
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_SettingsTstmp", mit_MAVerzeichnis_SettingsTstmp))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_allowGebDat", mit_MAVerzeichnis_allowGebDat))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_allowWohnadresse", mit_MAVerzeichnis_allowWohnadresse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_allowGebDatOhneJahr", mit_MAVerzeichnis_allowGebDatOhneJahr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_allowHandynummer", mit_MAVerzeichnis_allowHandynummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_allowFoto", mit_MAVerzeichnis_allowFoto))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_Motto", mit_MAVerzeichnis_Motto))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_MAVerzeichnis_Spitzname", mit_MAVerzeichnis_Spitzname))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_foto_DocId", mit_foto_DocId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mit_sprache", mit_sprache))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblMitarbeiter WHERE mit_id=@mit_id) " &
+ " BEGIN " & getUpdateCmd() & " End " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " End " &
+ " commit tran "
+
+ Dim id = SQL.doSQLVarListID(mit_id, sqlstr, "ADMIN", , list)
+ If id > 0 Then
+ mit_id = id
+ Return mit_id
+ Else
+ Return -1
+ End If
+
+ End Function
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblMitarbeiter] SET " & str & " WHERE mit_id=@mit_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblMitarbeiter (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblMitarbeiter] WHERE mit_id=" & Me.mit_id
+ Return SQL.doSQL(sqlstr, "ADMIN")
+ End Function
+
+
+
+ 'Public Sub LOAD(Optional topMax As String = "")
+ ' Try
+ ' Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ ' Using cmd As New SqlCommand("Select * FROM tblMitarbeiter WHERE mit_id=@mit_id ", conn)
+ ' cmd.Parameters.AddWithValue("@mit_id", mit_id)
+ ' Dim dr = cmd.ExecuteReader()
+ ' If dr.Read Then
+ ' For Each l In getParameterList()
+ ' Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ ' If dr.Item(l.Text) Is DBNull.Value Then
+ ' propInfo.SetValue(Me, Nothing)
+ ' Else
+ ' propInfo.SetValue(Me, dr.Item(l.Text))
+ ' End If
+
+ ' Next
+ ' Me.LOAD_MEMBERS()
+ ' Me.LOAD_MESSAGES(topMax)
+ ' End If
+ ' dr.Close()
+ ' End Using
+ ' End Using
+ ' Catch ex As Exception
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ ' End Try
+ 'End Sub
+
+
+ Public Function LOAD(ByVal id As Integer) As Boolean
+ Dim sqlstr As String = "SELECT * FROM tblMitarbeiter WHERE mit_id = " & id & ""
+ ' adasdas()
+ ' Dim d As VERAG_PROG_ALLGEMEIN.cMitarbeiter = Nothing
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN
+ Using cmd As New SqlCommand(sqlstr, conn)
+ Dim dr = cmd.ExecuteReader()
+ If dr.HasRows Then
+ dr.Read()
+ ' d = New VERAG_PROG_ALLGEMEIN.cMitarbeiter()
+ Try
+ Me.mit_id = dr.Item("mit_id")
+ Me.mit_username = dr.Item("mit_username")
+ Me.mit_pwd = dr.Item("mit_pwd")
+ Me.mit_affix = dr.Item("mit_affix")
+ If Not dr.Item("mit_geschlecht") Is DBNull.Value Then Me.mit_geschlecht = dr.Item("mit_geschlecht")
+ Me.mit_vname = dr.Item("mit_vname")
+ Me.mit_nname = dr.Item("mit_nname")
+ If Not dr.Item("mit_gebdat") Is DBNull.Value Then Me.mit_gebdat = dr.Item("mit_gebdat")
+ Me.mit_strasse = dr.Item("mit_strasse")
+ Me.mit_hausnr = dr.Item("mit_hausnr")
+ Me.mit_land = dr.Item("mit_land")
+ Me.mit_plz = dr.Item("mit_plz")
+ Me.mit_ort = dr.Item("mit_ort")
+ Me.mit_niederlassung = dr.Item("mit_niederlassung")
+ Me.mit_abteilung = dr.Item("mit_abteilung")
+ Me.mit_position = dr.Item("mit_position")
+ Me.mit_durchwahl = dr.Item("mit_durchwahl")
+ Me.mit_email = dr.Item("mit_email")
+ Me.mit_mobiltel = dr.Item("mit_mobiltel")
+ Me.mit_allowAnruf = dr.Item("mit_allowAnruf")
+ If Not dr.Item("mit_FMZollPersID") Is DBNull.Value Then Me.mit_FMZollPersID = dr.Item("mit_FMZollPersID")
+ If Not dr.Item("mit_FMZollPersIDKasseIsnotSpedBuch") Is DBNull.Value Then Me.mit_FMZollPersIDKasseIsnotSpedBuch = dr.Item("mit_FMZollPersIDKasseIsnotSpedBuch")
+ If Not dr.Item("mit_FMZollPersIDSpedBuch") Is DBNull.Value Then Me.mit_FMZollPersIDSpedBuch = dr.Item("mit_FMZollPersIDSpedBuch")
+ If Not dr.Item("mit_DpUserStandardDP") Is DBNull.Value Then Me.mit_DpUserStandardDP = dr.Item("mit_DpUserStandardDP")
+ If Not dr.Item("mit_DpUserStandardFirma") Is DBNull.Value Then Me.mit_DpUserStandardFirma = dr.Item("mit_DpUserStandardFirma")
+ If Not dr.Item("mit_DpUserStandardFirma2") Is DBNull.Value Then Me.mit_DpUserStandardFirma2 = dr.Item("mit_DpUserStandardFirma2")
+
+
+ If Not dr.Item("mit_standartFiliale") Is DBNull.Value Then Me.mit_standartFiliale = dr.Item("mit_standartFiliale")
+ If Not dr.Item("mit_standardPreisliste") Is DBNull.Value Then Me.mit_standardPreisliste = dr.Item("mit_standardPreisliste")
+
+ Me.mit_info = dr.Item("mit_info")
+ If Not dr.Item("mit_einstiegsdatum") Is DBNull.Value Then Me.mit_einstiegsdatum = dr.Item("mit_einstiegsdatum")
+ Me.mit_gekuendigt = dr.Item("mit_gekuendigt")
+ If Not dr.Item("mit_kuendigungsdatum") Is DBNull.Value Then Me.mit_kuendigungsdatum = dr.Item("mit_kuendigungsdatum")
+ If Not dr.Item("mit_foto") Is DBNull.Value Then Me.mit_foto = dr.Item("mit_foto")
+ Me.mit_firma = dr.Item("mit_firma")
+ If Not dr.Item("mit_firmaFMZoll") Is DBNull.Value Then Me.mit_firmaFMZoll = dr.Item("mit_firmaFMZoll")
+ If Not dr.Item("mit_EZOLL_SB") Is DBNull.Value Then Me.mit_EZOLL_SB = dr.Item("mit_EZOLL_SB")
+ If Not dr.Item("mit_ATLAS_SB") Is DBNull.Value Then Me.mit_ATLAS_SB = dr.Item("mit_ATLAS_SB")
+ Me.mit_pseudoUser = dr.Item("mit_pseudoUser")
+ If Not dr.Item("mit_DAKOSY_SB") Is DBNull.Value Then Me.mit_DAKOSY_SB = dr.Item("mit_DAKOSY_SB")
+ If Not dr.Item("mit_DAKOSY_SBFull") Is DBNull.Value Then Me.mit_DAKOSY_SBFull = dr.Item("mit_DAKOSY_SBFull")
+ If Not dr.Item("mit_TESTonly") Is DBNull.Value Then Me.mit_TESTonly = dr.Item("mit_TESTonly")
+ If Not dr.Item("mit_PasswortChanged") Is DBNull.Value Then Me.mit_PasswortChanged = dr.Item("mit_PasswortChanged")
+
+ If Not dr.Item("mit_FirmenDatenAnzeige") Is DBNull.Value Then Me.mit_FirmenDatenAnzeige = dr.Item("mit_FirmenDatenAnzeige")
+ If Not dr.Item("mit_TELOTEC_SB") Is DBNull.Value Then Me.mit_TELOTEC_SB = dr.Item("mit_TELOTEC_SB")
+ If Not dr.Item("mit_AliasAD_Domain") Is DBNull.Value Then Me.mit_AliasAD_Domain = dr.Item("mit_AliasAD_Domain")
+ If Not dr.Item("mit_AliasAD_Username") Is DBNull.Value Then Me.mit_AliasAD_Username = dr.Item("mit_AliasAD_Username")
+ If Not dr.Item("mit_AliasAD_Domain2") Is DBNull.Value Then Me.mit_AliasAD_Domain2 = dr.Item("mit_AliasAD_Domain2")
+ If Not dr.Item("mit_AliasAD_Username2") Is DBNull.Value Then Me.mit_AliasAD_Username2 = dr.Item("mit_AliasAD_Username2")
+ If Not dr.Item("mit_teamId") Is DBNull.Value Then Me.mit_teamId = dr.Item("mit_teamId")
+
+
+ Me.mit_ChatBenutzer = dr.Item("mit_ChatBenutzer")
+ Me.mit_ChatEasteregg = dr.Item("mit_ChatEasteregg")
+
+
+ If Not dr.Item("mit_FirmaHaupt") Is DBNull.Value Then Me.mit_FirmaHaupt = dr.Item("mit_FirmaHaupt")
+
+
+ If Not dr.Item("mit_MAVerzeichnis_SettingsTstmp") Is DBNull.Value Then Me.mit_MAVerzeichnis_SettingsTstmp = dr.Item("mit_MAVerzeichnis_SettingsTstmp")
+ Me.mit_MAVerzeichnis_allowGebDat = dr.Item("mit_MAVerzeichnis_allowGebDat")
+ Me.mit_MAVerzeichnis_allowGebDatOhneJahr = dr.Item("mit_MAVerzeichnis_allowGebDatOhneJahr")
+ Me.mit_MAVerzeichnis_allowWohnadresse = dr.Item("mit_MAVerzeichnis_allowWohnadresse")
+ Me.mit_MAVerzeichnis_allowHandynummer = dr.Item("mit_MAVerzeichnis_allowHandynummer")
+ Me.mit_MAVerzeichnis_allowFoto = dr.Item("mit_MAVerzeichnis_allowFoto")
+
+ If Not dr.Item("mit_foto_DocId") Is DBNull.Value Then Me.mit_foto_DocId = dr.Item("mit_foto_DocId")
+ If Not dr.Item("mit_MAVerzeichnis_Spitzname") Is DBNull.Value Then Me.mit_MAVerzeichnis_Spitzname = dr.Item("mit_MAVerzeichnis_Spitzname")
+ If Not dr.Item("mit_MAVerzeichnis_Motto") Is DBNull.Value Then Me.mit_MAVerzeichnis_Motto = dr.Item("mit_MAVerzeichnis_Motto")
+ If Not dr.Item("mit_sprache") Is DBNull.Value Then Me.mit_sprache = dr.Item("mit_sprache")
+
+
+
+
+ Catch ex As Exception
+ MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler beim Einlesen der Mitarbeiter-Details " & vbCrLf & vbCrLf & ex.Message, MsgBoxStyle.Exclamation)
+ End Try
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Return True
+ Catch ex As Exception
+ MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler beim Lesen der Mitarbeiter-Details:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
+ Return Nothing
+ End Try
+ Return False
+ End Function
+
+ Public Shared Sub UPDATE_EASTEREGG(egg As Boolean, Optional mit_id As Integer = -1)
+ Try
+ If cAllgemein.MITARBEITER IsNot Nothing Then
+ If mit_id <= 0 Then
+ mit_id = cAllgemein.MITARBEITER.mit_id
+ End If
+ End If
+ Dim sql As New SQL
+ If mit_id > 0 Then sql.doSQL("UPDATE tblMitarbeiter SET mit_ChatEasteregg='" & If(egg, 1, 0) & "' WHERE mit_id=" & mit_id, "ADMIN")
+
+ Catch ex As Exception
+
+ End Try
+ End Sub
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTSGestellungsadressen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTSGestellungsadressen.vb
new file mode 100644
index 0000000..8516582
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTSGestellungsadressen.vb
@@ -0,0 +1,151 @@
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+
+Public Class cNCTSGestellungsadressen
+ Property nga_id As Integer
+ Property nga_name As String = ""
+ Property nga_strasse As Object = Nothing
+ Property nga_land As Object = Nothing
+ Property nga_plz As Object = Nothing
+ Property nga_ort As Object = Nothing
+ Property nga_EORI As Object = Nothing
+ Property nga_EORI_NL As Object = Nothing
+ Property nga_Ansprechpartner As Object = Nothing
+ Property nga_bestZollst As Object = Nothing
+ Property nga_SB As Object = Nothing
+ Property nga_firma As Object = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+ Property nga_Aenderungsdatum As Date = Now
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+ nga_SB = If(nga_SB, VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME)
+ 'If sms_SachbearbeiterId <= 0 Then sms_SachbearbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+
+ End Sub
+
+ Sub New(nga_id)
+ Me.nga_id = nga_id
+ LOAD()
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_id", nga_id, , True, True))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_name", nga_name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_strasse", nga_strasse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_land", nga_land))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_plz", nga_plz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_ort", nga_ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_EORI", nga_EORI))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_EORI_NL", nga_EORI_NL))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_Ansprechpartner", nga_Ansprechpartner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_bestZollst", nga_bestZollst))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_SB", nga_SB))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_firma", nga_firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nga_Aenderungsdatum", nga_Aenderungsdatum))
+
+ Return list
+ End Function
+
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblNCTSGestellungsadressen WITH(updlock,serializable) WHERE nga_id=@nga_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ nga_id = SQL.doSQLVarListID(nga_id, sqlstr, "FMZOLL", , list)
+ Return nga_id > 0
+ End Function
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblNCTSGestellungsadressen WHERE nga_id=@nga_id ", conn)
+ cmd.Parameters.AddWithValue("@nga_id", nga_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblNCTSGestellungsadressen] SET " & str & " WHERE nga_id=@nga_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblNCTSGestellungsadressen (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblNCTSGestellungsadressen] WITH(updlock,serializable) WHERE nga_id=" & Me.nga_id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTS_TR.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTS_TR.vb
new file mode 100644
index 0000000..bdb318d
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cNCTS_TR.vb
@@ -0,0 +1,1493 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cNCTS_TR
+
+ Property ncts_Id As Integer
+ Property ncts_Partnersystem As Object = Nothing 'DAKOSY_Worker.cDY_Statusliste.S_00
+ Property ncts_Status As Object = Nothing ' DAKOSY_Worker.cDY_Statusliste.S_00
+ Property ncts_Status_KEWILL_Equivalent As Object = Nothing 'DAKOSY_Worker.cDY_Statusliste.S_00
+ Property ncts_dyaArt As String = ""
+ Property ncts_dyaAnmID As Integer
+
+ Property ncts_ANR As Object = Nothing
+ Property ncts_MRN As Object = Nothing
+
+ Property ncts_Erstellung As DateTime = Now
+ Property ncts_Erstellung_SB As Object = Nothing
+ Property ncts_LetzteBearbeitung As DateTime = Now
+ Property ncts_LetzteBearbeitung_SB As Object = Nothing
+ Property ncts_firma As Object = Nothing
+ Property ncts_niederlassung As Object = Nothing
+
+
+ Property ncts_Gestellt As Boolean = False
+ Property ncts_GestelltAm As Object = Nothing
+ Property ncts_Trans_Partner As Object = Nothing
+ Property ncts_Trans_Div1 As Object = Nothing
+ Property ncts_Trans_Div2 As Object = Nothing
+ Property ncts_Trans_Div3 As Object = Nothing
+ Property ncts_Trans_Referenz As Object = Nothing
+ Property ncts_Trans_DatumZeit As DateTime = Now
+ Property ncts_Trans_Version As Object = Nothing
+ Property ncts_NachrichtenSenderTIN As Object = Nothing
+ Property ncts_NachrichtenSenderNLNR As Object = Nothing
+ Property ncts_NachrichtenempfaengerDST As Object = Nothing
+
+ Property ncts_ObjectName As Object = Nothing
+ Property ncts_ObjectAlias As Object = Nothing
+ Property ncts_BezugsnummerVorblendung As Object = Nothing
+ Property ncts_Bearbeiter As Object = Nothing
+ Property ncts_VersendungsLandCode As Object = Nothing
+ Property ncts_BestimmungslandCode As Object = Nothing
+ Property ncts_ArtAnmeldung As Object = Nothing
+ Property ncts_BeladungsOrt As Object = Nothing
+
+ Property ncts_DurchgangszollstelleDienststellnummer1 As Object = Nothing
+ Property ncts_DurchgangszollstelleDienststellnummer2 As Object = Nothing
+ Property ncts_DurchgangszollstelleDienststellnummer3 As Object = Nothing
+ Property ncts_DurchgangszollstelleDienststellnummer4 As Object = Nothing
+ Property ncts_DurchgangszollstelleDienststellnummer5 As Object = Nothing
+ Property ncts_DurchgangszollstelleDienststellnummer6 As Object = Nothing
+ Property ncts_DurchgangszollstelleDienststellnummer7 As Object = Nothing
+ Property ncts_DurchgangszollstelleDienststellnummer8 As Object = Nothing
+ Property ncts_DurchgangszollstelleDienststellnummer9 As Object = Nothing
+
+ Property ncts_BestimmungsstelleDienststellennummer As Object = Nothing
+ Property ncts_AbgangsDienststellennummer As Object = Nothing
+ Property ncts_Wiedergestellungsdatum As Object = Nothing
+ Property ncts_KzVereinfachtesVerfahren As Object = Nothing
+ Property ncts_GesamtRohmasse As Object = Nothing
+ Property ncts_GesamtAnzahlPackstuecke As Object = Nothing
+ Property ncts_Verschluss_ArtCode As Object = Nothing
+ Property ncts_Verschluss_Anzahl As Object = Nothing
+ Property ncts_Verschluss_Zeichen1 As Object = Nothing
+ Property ncts_Verschluss_Zeichen2 As Object = Nothing
+ Property ncts_Verschluss_Zeichen3 As Object = Nothing
+ Property ncts_Verschluss_Zeichen4 As Object = Nothing
+ Property ncts_Verschluss_Zeichen5 As Object = Nothing
+ Property ncts_Verschluss_Zeichen6 As Object = Nothing
+ Property ncts_Verschluss_Zeichen7 As Object = Nothing
+ Property ncts_Verschluss_Zeichen8 As Object = Nothing
+ Property ncts_Verschluss_Zeichen9 As Object = Nothing
+ Property ncts_Verschluss_Zeichen10 As Object = Nothing
+ Property ncts_Verschluss_Zeichen11 As Object = Nothing
+ Property ncts_Verschluss_Zeichen12 As Object = Nothing
+ Property ncts_Verschluss_Zeichen13 As Object = Nothing
+ Property ncts_Verschluss_Zeichen14 As Object = Nothing
+ Property ncts_Verschluss_Zeichen15 As Object = Nothing
+ Property ncts_Verschluss_Zeichen16 As Object = Nothing
+ Property ncts_Befoerderungsmittel_KennzeichenAbgang As Object = Nothing
+ Property ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode As Object = Nothing
+ Property ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent As Object = Nothing
+ Property ncts_Befoerderungsmittel_ArtGrenzueberschreitung As Object = Nothing
+ Property ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend As Object = Nothing
+ Property ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode As Object = Nothing
+ Property ncts_Versender_EORI As Object = Nothing
+ Property ncts_Versender_NLNR As Object = Nothing
+ Property ncts_Versender_TIN As Object = Nothing
+ Property ncts_Versender_Name As Object = Nothing
+ Property ncts_Versender_StrasseHausnummer As Object = Nothing
+ Property ncts_Versender_Ort As Object = Nothing
+ Property ncts_Versender_PLZ As Object = Nothing
+ Property ncts_Versender_Land As Object = Nothing
+ Property ncts_Empfaenger_EORI As Object = Nothing
+ Property ncts_Empfaenger_NLNR As Object = Nothing
+ Property ncts_Empfaenger_TIN As Object = Nothing
+ Property ncts_Empfaenger_Name As Object = Nothing
+ Property ncts_Empfaenger_StrasseHausnummer As Object = Nothing
+ Property ncts_Empfaenger_Ort As Object = Nothing
+ Property ncts_Empfaenger_PLZ As Object = Nothing
+ Property ncts_Empfaenger_Land As Object = Nothing
+ Property ncts_Hauptverpflichteter_EORI As Object = Nothing
+ Property ncts_Hauptverpflichteter_NLNR As Object = Nothing
+ Property ncts_Hauptverpflichteter_TIN As Object = Nothing
+ Property ncts_Hauptverpflichteter_Name As Object = Nothing
+ Property ncts_Hauptverpflichteter_StrasseHausnummer As Object = Nothing
+ Property ncts_Hauptverpflichteter_Ort As Object = Nothing
+ Property ncts_Hauptverpflichteter_PLZ As Object = Nothing
+ Property ncts_Hauptverpflichteter_Land As Object = Nothing
+ Property ncts_ZugelassenerEmpfaenger_IDCarnet As Object = Nothing
+ Property ncts_ZugelassenerEmpfaenger_BewilligungsnummerVersender As Object = Nothing
+ Property ncts_ZugelassenerEmpfaenger_EORI As Object = Nothing
+ Property ncts_ZugelassenerEmpfaenger_TIN As Object = Nothing
+
+ Property ncts_SumA_KzSumASicherheit As Object = Nothing
+ Property ncts_SumA_KennnummerSendung As Object = Nothing
+ Property ncts_SumA_BesondereUmstaende As Object = Nothing
+ Property ncts_SumA_NummerBefoerderung As Object = Nothing
+ Property ncts_SumA_Ladeort As Object = Nothing
+ Property ncts_SumA_Entladeort As Object = Nothing
+ Property ncts_SumA_BefoerderungskostenZahlungsweise As Object = Nothing
+ Property ncts_SumA_BefoerderungsrouteLand1 As Object = Nothing
+ Property ncts_SumA_BefoerderungsrouteLand2 As Object = Nothing
+ Property ncts_SumA_BefoerderungsrouteLand3 As Object = Nothing
+ Property ncts_SumA_BefoerderungsrouteLand4 As Object = Nothing
+ Property ncts_SumA_BefoerderungsrouteLand5 As Object = Nothing
+ Property ncts_SumA_BefoerderungsrouteLand6 As Object = Nothing
+ Property ncts_SumA_BefoerderungsrouteLand7 As Object = Nothing
+ Property ncts_SumA_BefoerderungsrouteLand8 As Object = Nothing
+ Property ncts_SumA_BefoerderungsrouteLand9 As Object = Nothing
+ Property ncts_SumA_BefoerderungsrouteLand10 As Object = Nothing
+ Property ncts_SumA_BefoerderungsrouteLand11 As Object = Nothing
+ Property ncts_SumA_BefoerderungsrouteLand12 As Object = Nothing
+ Property ncts_SumA_Versender_EORI As Object = Nothing
+ Property ncts_SumA_Versender_NLNR As Object = Nothing
+ Property ncts_SumA_Versender_TIN As Object = Nothing
+ Property ncts_SumA_Versender_Name As Object = Nothing
+ Property ncts_SumA_Versender_StrasseHausnummer As Object = Nothing
+ Property ncts_SumA_Versender_Land As Object = Nothing
+ Property ncts_SumA_Versender_PLZ As Object = Nothing
+ Property ncts_SumA_Versender_Ort As Object = Nothing
+
+ Property ncts_SumA_Empfaenger_EORI As Object = Nothing
+ Property ncts_SumA_Empfaenger_NLNR As Object = Nothing
+ Property ncts_SumA_Empfaenger_TIN As Object = Nothing
+ Property ncts_SumA_Empfaenger_Name As Object = Nothing
+ Property ncts_SumA_Empfaenger_StrasseHausnummer As Object = Nothing
+ Property ncts_SumA_Empfaenger_Land As Object = Nothing
+ Property ncts_SumA_Empfaenger_PLZ As Object = Nothing
+ Property ncts_SumA_Empfaenger_Ort As Object = Nothing
+
+ Property ncts_SumA_Befoerderer_EORI As Object = Nothing
+ Property ncts_SumA_Befoerderer_NLNR As Object = Nothing
+ Property ncts_SumA_Befoerderer_TIN As Object = Nothing
+ Property ncts_SumA_Befoerderer_Name As Object = Nothing
+ Property ncts_SumA_Befoerderer_StrasseHausnummer As Object = Nothing
+ Property ncts_SumA_Befoerderer_Land As Object = Nothing
+ Property ncts_SumA_Befoerderer_PLZ As Object = Nothing
+ Property ncts_SumA_Befoerderer_Ort As Object = Nothing
+ Property ncts_Stammreferenz As Object = Nothing
+
+ Property ncts_GUID As Object = Nothing
+ Property ncts_Eroeffnung As Object = Nothing
+ Property ncts_Ankunft As Object = Nothing
+ Property ncts_Erledigung As Object = Nothing
+ Property ncts_AVISO_einarbeitet As Boolean = False
+
+ Property ncts_SICHERHEITSANGABEN As New List(Of cNCTS_TR_Sicherheitsangaben)
+ Property ncts_WARENPOS As New List(Of cNCTS_TR_Warenposition)
+
+
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+
+ Function GET_SHIPMENTS(Partnersystem, VorpapierArt, VorpapierNr) As List(Of VERAG_PROG_ALLGEMEIN.cVERAG_in_eza_FULL)
+ GET_SHIPMENTS = New List(Of VERAG_PROG_ALLGEMEIN.cVERAG_in_eza_FULL)
+ Dim dt = SQL.loadDgvBySql("Select [shTr_id] FROM [tblTR_Shipment] where shTr_Partnersystem='" & Partnersystem & "' AND [PrePaperCode]='" & VorpapierArt & "' and [PrePaperNr]='" & VorpapierNr & "'", "FMZOLL")
+ ' MsgBox("Select [shTr_id] FROM [tblTR_Shipment] where shTr_Partnersystem='" & Partnersystem & "' AND [PrePaperCode]='" & VorpapierArt & "' and [PrePaperNr]='" & VorpapierNr & "'")
+ If dt IsNot Nothing Then
+ For Each r In dt.Rows
+ Dim SH As New VERAG_PROG_ALLGEMEIN.cVERAG_in_eza_FULL(CInt(r("shTr_id")))
+ If SH IsNot Nothing Then
+ GET_SHIPMENTS.Add(SH)
+ End If
+ Next
+ End If
+
+ End Function
+
+ Sub New()
+
+ End Sub
+
+ Sub New(ncts_dyaAnmID As Integer, ncts_Erstellung_SB As Integer)
+ Me.ncts_dyaAnmID = ncts_dyaAnmID
+ Me.ncts_Erstellung_SB = ncts_Erstellung_SB
+ Me.ncts_LetzteBearbeitung_SB = ncts_Erstellung_SB
+ End Sub
+
+ Sub New(ncts_Id)
+ Me.ncts_Id = ncts_Id
+ LOAD()
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Id", ncts_Id, , True, True))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Partnersystem", ncts_Partnersystem))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status", ncts_Status))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status_KEWILL_Equivalent", ncts_Status_KEWILL_Equivalent))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_dyaArt", ncts_dyaArt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_dyaAnmID", ncts_dyaAnmID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ANR", ncts_ANR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_MRN", ncts_MRN))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Erstellung", ncts_Erstellung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Erstellung_SB", ncts_Erstellung_SB))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_LetzteBearbeitung", ncts_LetzteBearbeitung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_LetzteBearbeitung_SB", ncts_LetzteBearbeitung_SB))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_firma", ncts_firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_niederlassung", ncts_niederlassung))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Gestellt", ncts_Gestellt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_GestelltAm", ncts_GestelltAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_Partner", ncts_Trans_Partner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_Div1", ncts_Trans_Div1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_Div2", ncts_Trans_Div2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_Div3", ncts_Trans_Div3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_Referenz", ncts_Trans_Referenz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_DatumZeit", ncts_Trans_DatumZeit))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Trans_Version", ncts_Trans_Version))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_NachrichtenSenderTIN", ncts_NachrichtenSenderTIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_NachrichtenSenderNLNR", ncts_NachrichtenSenderNLNR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_NachrichtenempfaengerDST", ncts_NachrichtenempfaengerDST))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ObjectName", ncts_ObjectName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ObjectAlias", ncts_ObjectAlias))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_BezugsnummerVorblendung", ncts_BezugsnummerVorblendung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Bearbeiter", ncts_Bearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_VersendungsLandCode", ncts_VersendungsLandCode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_BestimmungslandCode", ncts_BestimmungslandCode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ArtAnmeldung", ncts_ArtAnmeldung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_BeladungsOrt", ncts_BeladungsOrt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer1", ncts_DurchgangszollstelleDienststellnummer1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer2", ncts_DurchgangszollstelleDienststellnummer2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer3", ncts_DurchgangszollstelleDienststellnummer3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer4", ncts_DurchgangszollstelleDienststellnummer4))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer5", ncts_DurchgangszollstelleDienststellnummer5))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer6", ncts_DurchgangszollstelleDienststellnummer6))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer7", ncts_DurchgangszollstelleDienststellnummer7))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer8", ncts_DurchgangszollstelleDienststellnummer8))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_DurchgangszollstelleDienststellnummer9", ncts_DurchgangszollstelleDienststellnummer9))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_BestimmungsstelleDienststellennummer", ncts_BestimmungsstelleDienststellennummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_AbgangsDienststellennummer", ncts_AbgangsDienststellennummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Wiedergestellungsdatum", ncts_Wiedergestellungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_KzVereinfachtesVerfahren", ncts_KzVereinfachtesVerfahren))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_GesamtRohmasse", ncts_GesamtRohmasse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_GesamtAnzahlPackstuecke", ncts_GesamtAnzahlPackstuecke))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_ArtCode", ncts_Verschluss_ArtCode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Anzahl", ncts_Verschluss_Anzahl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen1", ncts_Verschluss_Zeichen1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen2", ncts_Verschluss_Zeichen2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen3", ncts_Verschluss_Zeichen3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen4", ncts_Verschluss_Zeichen4))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen5", ncts_Verschluss_Zeichen5))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen6", ncts_Verschluss_Zeichen6))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen7", ncts_Verschluss_Zeichen7))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen8", ncts_Verschluss_Zeichen8))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen9", ncts_Verschluss_Zeichen9))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen10", ncts_Verschluss_Zeichen10))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen11", ncts_Verschluss_Zeichen11))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen12", ncts_Verschluss_Zeichen12))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen13", ncts_Verschluss_Zeichen13))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen14", ncts_Verschluss_Zeichen14))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen15", ncts_Verschluss_Zeichen15))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Verschluss_Zeichen16", ncts_Verschluss_Zeichen16))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Befoerderungsmittel_KennzeichenAbgang", ncts_Befoerderungsmittel_KennzeichenAbgang))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode", ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent", ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Befoerderungsmittel_ArtGrenzueberschreitung", ncts_Befoerderungsmittel_ArtGrenzueberschreitung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend", ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode", ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_EORI", ncts_Versender_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_NLNR", ncts_Versender_NLNR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_TIN", ncts_Versender_TIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_Name", ncts_Versender_Name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_StrasseHausnummer", ncts_Versender_StrasseHausnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_Ort", ncts_Versender_Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_PLZ", ncts_Versender_PLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Versender_Land", ncts_Versender_Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_EORI", ncts_Empfaenger_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_NLNR", ncts_Empfaenger_NLNR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_TIN", ncts_Empfaenger_TIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_Name", ncts_Empfaenger_Name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_StrasseHausnummer", ncts_Empfaenger_StrasseHausnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_Ort", ncts_Empfaenger_Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_PLZ", ncts_Empfaenger_PLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Empfaenger_Land", ncts_Empfaenger_Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_EORI", ncts_Hauptverpflichteter_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_NLNR", ncts_Hauptverpflichteter_NLNR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_TIN", ncts_Hauptverpflichteter_TIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_Name", ncts_Hauptverpflichteter_Name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_StrasseHausnummer", ncts_Hauptverpflichteter_StrasseHausnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_Ort", ncts_Hauptverpflichteter_Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_PLZ", ncts_Hauptverpflichteter_PLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Hauptverpflichteter_Land", ncts_Hauptverpflichteter_Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ZugelassenerEmpfaenger_IDCarnet", ncts_ZugelassenerEmpfaenger_IDCarnet))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ZugelassenerEmpfaenger_BewilligungsnummerVersender", ncts_ZugelassenerEmpfaenger_BewilligungsnummerVersender))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ZugelassenerEmpfaenger_EORI", ncts_ZugelassenerEmpfaenger_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_ZugelassenerEmpfaenger_TIN", ncts_ZugelassenerEmpfaenger_TIN))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_KzSumASicherheit", ncts_SumA_KzSumASicherheit))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_KennnummerSendung", ncts_SumA_KennnummerSendung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_NummerBefoerderung", ncts_SumA_NummerBefoerderung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BesondereUmstaende", ncts_SumA_BesondereUmstaende))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Ladeort", ncts_SumA_Ladeort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Entladeort", ncts_SumA_Entladeort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungskostenZahlungsweise", ncts_SumA_BefoerderungskostenZahlungsweise))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand1", ncts_SumA_BefoerderungsrouteLand1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand2", ncts_SumA_BefoerderungsrouteLand2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand3", ncts_SumA_BefoerderungsrouteLand3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand4", ncts_SumA_BefoerderungsrouteLand4))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand5", ncts_SumA_BefoerderungsrouteLand5))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand6", ncts_SumA_BefoerderungsrouteLand6))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand7", ncts_SumA_BefoerderungsrouteLand7))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand8", ncts_SumA_BefoerderungsrouteLand8))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand9", ncts_SumA_BefoerderungsrouteLand9))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand10", ncts_SumA_BefoerderungsrouteLand10))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand11", ncts_SumA_BefoerderungsrouteLand11))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_BefoerderungsrouteLand12", ncts_SumA_BefoerderungsrouteLand12))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_EORI", ncts_SumA_Versender_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_NLNR", ncts_SumA_Versender_NLNR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_TIN", ncts_SumA_Versender_TIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_Name", ncts_SumA_Versender_Name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_StrasseHausnummer", ncts_SumA_Versender_StrasseHausnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_Land", ncts_SumA_Versender_Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_PLZ", ncts_SumA_Versender_PLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Versender_Ort", ncts_SumA_Versender_Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_EORI", ncts_SumA_Empfaenger_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_NLNR", ncts_SumA_Empfaenger_NLNR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_TIN", ncts_SumA_Empfaenger_TIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_Name", ncts_SumA_Empfaenger_Name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_StrasseHausnummer", ncts_SumA_Empfaenger_StrasseHausnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_Land", ncts_SumA_Empfaenger_Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_PLZ", ncts_SumA_Empfaenger_PLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Empfaenger_Ort", ncts_SumA_Empfaenger_Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_EORI", ncts_SumA_Befoerderer_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_NLNR", ncts_SumA_Befoerderer_NLNR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_TIN", ncts_SumA_Befoerderer_TIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_Name", ncts_SumA_Befoerderer_Name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_StrasseHausnummer", ncts_SumA_Befoerderer_StrasseHausnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_Land", ncts_SumA_Befoerderer_Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_PLZ", ncts_SumA_Befoerderer_PLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_SumA_Befoerderer_Ort", ncts_SumA_Befoerderer_Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Stammreferenz", ncts_Stammreferenz))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_GUID", ncts_GUID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Eroeffnung", ncts_Eroeffnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Ankunft", ncts_Ankunft))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Erledigung", ncts_Erledigung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_AVISO_einarbeitet", ncts_AVISO_einarbeitet))
+
+ Return list
+ End Function
+
+ Public Function UPDATE_STATUS(status) As Boolean
+ Me.ncts_Status = status
+ Return Me.SAVE
+ End Function
+
+ Public Function SAVE(Optional errHinweis = "") As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblNCTS_TR WITH(updlock,serializable) WHERE ncts_Id=@ncts_Id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Dim ncts_IdTMP = ncts_Id
+ ncts_IdTMP = SQL.doSQLVarListID(ncts_IdTMP, sqlstr, "FMZOLL", , list, , errHinweis)
+ If ncts_Id <= 0 Then ncts_Id = ncts_IdTMP
+ Return ncts_Id > 0
+ End Function
+
+ Public Function SAVE_ALL(Optional errHinweis = "") As Boolean
+ If Not SAVE(errHinweis) Then Return False
+ If Not SAVE_Warenposition() Or Not SAVE_Sicherheitsangaben() Then Return False
+
+ Return True
+ End Function
+
+ Public Function LOAD(Optional loadALL As Boolean = True) As Boolean
+ Try
+ LOAD = False
+ If loadALL Then
+ ncts_SICHERHEITSANGABEN.Clear()
+ ncts_WARENPOS.Clear()
+ End If
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblNCTS_TR WHERE ncts_Id=@ncts_Id ", conn)
+ cmd.Parameters.AddWithValue("@ncts_Id", ncts_Id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ If loadALL Then
+ LOAD_Sicherheitsangaben()
+ LOAD_Warenposition()
+ End If
+ LOAD = True
+ End If
+ dr.Close()
+
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return LOAD
+ End Function
+
+
+
+
+ Shared Function LOADByAnmIDFull(ncts_dyaAnmID As String, loadALL As Boolean) As cNCTS_TR
+ Try
+ Dim NCTS As New cNCTS_TR
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_dyaAnmID=@ncts_dyaAnmID ", conn)
+ cmd.Parameters.AddWithValue("@ncts_dyaAnmID", ncts_dyaAnmID)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In NCTS.getParameterList()
+ Dim propInfo As PropertyInfo = NCTS.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(NCTS, Nothing)
+ Else
+ propInfo.SetValue(NCTS, dr.Item(l.Text))
+ End If
+
+ Next
+ If loadALL Then
+ NCTS.LOAD_Sicherheitsangaben()
+ NCTS.LOAD_Warenposition()
+ End If
+
+ dr.Close()
+ Return NCTS
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+ Shared Function UPDATE_StatusById(ncts_Id As Integer, status As Integer) As String
+ If ncts_Id > 0 Then
+ Try
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Id", ncts_Id, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status_KEWILL_Equivalent", status, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status", status, , True))
+ 'dy_Status_KEWILL_Equivalent = status
+ 'dy_Status = status
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Return SQL.doSQLVarList(" UPDATE [tblNCTS_TR] SET ncts_Status_KEWILL_Equivalent=@ncts_Status_KEWILL_Equivalent,ncts_Status=@ncts_Status WHERE ncts_Id=@ncts_Id ", "FMZOLL", , list)
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End If
+ Return ""
+ End Function
+
+
+ Public Function LOADByAnmID(ncts_dyaAnmID As String, loadALL As Boolean) As Boolean
+ Try
+ LOADByAnmID = False
+ If loadALL Then
+ ncts_SICHERHEITSANGABEN.Clear()
+ ncts_WARENPOS.Clear()
+ End If
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_dyaAnmID=@ncts_dyaAnmID ", conn)
+ cmd.Parameters.AddWithValue("@ncts_dyaAnmID", ncts_dyaAnmID)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ If loadALL Then
+ LOAD_Sicherheitsangaben()
+ LOAD_Warenposition()
+ End If
+ LOADByAnmID = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return LOADByAnmID
+ End Function
+
+ Shared Function LOADByBezugsNr_or_GUID_or_MRN(bezugsNr As String, GUID As String, MRN As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False, Optional Partnersystem As String = "") As cNCTS_TR
+ LOADByBezugsNr_or_GUID_or_MRN = Nothing
+
+ If bezugsNr <> "" Then LOADByBezugsNr_or_GUID_or_MRN = LOADByBezugsNr(bezugsNr, loadALL, checkValidStatus, Partnersystem)
+
+ If LOADByBezugsNr_or_GUID_or_MRN Is Nothing Then
+ If GUID <> "" Then LOADByBezugsNr_or_GUID_or_MRN = LOADByGUID(GUID, loadALL, checkValidStatus, Partnersystem)
+ End If
+ If LOADByBezugsNr_or_GUID_or_MRN Is Nothing Then
+ If MRN <> "" Then LOADByBezugsNr_or_GUID_or_MRN = LOADByMRN(MRN, loadALL, checkValidStatus, Partnersystem)
+ End If
+ End Function
+
+
+ Shared Function LOADByMRN(MRN As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False, Optional Partnersystem As String = "") As cNCTS_TR
+ Try
+ Dim NCTS As New cNCTS_TR
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ ' Using cmd As New SqlCommand("SELECT TOP 1 * FROM (SELECT * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " ) AS T order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn)
+ 'Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn)
+ Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_MRN LIKE @MRN " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & If(Partnersystem <> "", " AND ncts_Partnersystem ='" & Partnersystem & "' ", "") & " order by ncts_LetzteBearbeitung desc", conn)
+ 'MsgBox("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE " & bezugsNr & " " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] inner join tblDakosy_Zollanmeldungen on dy_id = dySt_dyId WHERE ncts_dyaAnmID=dy_id order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ")
+ cmd.Parameters.AddWithValue("@MRN", MRN)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In NCTS.getParameterList()
+ Dim propInfo As PropertyInfo = NCTS.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(NCTS, Nothing)
+ Else
+ propInfo.SetValue(NCTS, dr.Item(l.Text))
+ End If
+
+ Next
+ If loadALL Then
+ NCTS.LOAD_Sicherheitsangaben()
+ NCTS.LOAD_Warenposition()
+ End If
+
+ dr.Close()
+ Return NCTS
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+
+ End Function
+ Shared Function LOADByBezugsNr(bezugsNr As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False, Optional Partnersystem As String = "") As cNCTS_TR
+ Try
+ Dim NCTS As New cNCTS_TR
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ ' Using cmd As New SqlCommand("SELECT TOP 1 * FROM (SELECT * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " ) AS T order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn)
+ 'Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn)
+ Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & If(Partnersystem <> "", " AND ncts_Partnersystem ='" & Partnersystem & "' ", "") & " order by ncts_LetzteBearbeitung desc", conn)
+ ' MsgBox("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE '" & bezugsNr & "' " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & If(Partnersystem <> "", " AND ncts_Partnersystem ='" & Partnersystem & "' ", "") & " order by ncts_LetzteBearbeitung desc")
+ cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In NCTS.getParameterList()
+ Dim propInfo As PropertyInfo = NCTS.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(NCTS, Nothing)
+ Else
+ propInfo.SetValue(NCTS, dr.Item(l.Text))
+ End If
+
+ Next
+ If loadALL Then
+ NCTS.LOAD_Sicherheitsangaben()
+ NCTS.LOAD_Warenposition()
+ End If
+
+ dr.Close()
+ Return NCTS
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+ Shared Function LOADByGUID(GUID As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False, Optional Partnersystem As String = "") As cNCTS_TR
+ Try
+ Dim NCTS As New cNCTS_TR
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ ' Using cmd As New SqlCommand("SELECT TOP 1 * FROM (SELECT * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " ) AS T order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn)
+ 'Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE ncts_dyaAnmID=ncts_dyaAnmID order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ", conn)
+ Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_GUID LIKE @GUID " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & If(Partnersystem <> "", " AND ncts_Partnersystem ='" & Partnersystem & "' ", "") & " order by ncts_LetzteBearbeitung desc", conn)
+ 'MsgBox("SELECT TOP 1 * FROM tblNCTS_TR WHERE ncts_ObjectName LIKE " & bezugsNr & " " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] inner join tblDakosy_Zollanmeldungen on dy_id = dySt_dyId WHERE ncts_dyaAnmID=dy_id order by dySt_ts desc) desc,ncts_LetzteBearbeitung desc ")
+ cmd.Parameters.AddWithValue("@GUID", GUID)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In NCTS.getParameterList()
+ Dim propInfo As PropertyInfo = NCTS.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(NCTS, Nothing)
+ Else
+ propInfo.SetValue(NCTS, dr.Item(l.Text))
+ End If
+
+ Next
+ If loadALL Then
+ NCTS.LOAD_Sicherheitsangaben()
+ NCTS.LOAD_Warenposition()
+ End If
+
+ dr.Close()
+ Return NCTS
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+
+ Public Function UPDATE_Status(status As Integer) As String
+ If ncts_Id > 0 Then
+ Try
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Id", ncts_Id, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status", status, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Status_KEWILL_Equivalent", status, , True))
+ ncts_Status = status
+ ncts_Status_KEWILL_Equivalent = status
+ Return SQL.doSQLVarList(" UPDATE [tblNCTS_TR] SET ncts_Status=@ncts_Status WHERE ncts_Id=@ncts_Id ", "FMZOLL", , list)
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End If
+ Return ""
+ End Function
+
+
+ Public Function UPDATE_AVISO_Einarbeitet(ncts_AVISO_einarbeitet As Boolean) As String
+ If ncts_Id > 0 Then
+ Try
+
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_Id", ncts_Id, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ncts_AVISO_einarbeitet", ncts_AVISO_einarbeitet))
+ ncts_AVISO_einarbeitet = ncts_AVISO_einarbeitet
+ Return SQL.doSQLVarList(" UPDATE [tblNCTS_TR] SET ncts_AVISO_einarbeitet=@ncts_AVISO_einarbeitet WHERE ncts_Id=@ncts_Id ", "FMZOLL", , list)
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End If
+ Return ""
+ End Function
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblNCTS_TR] SET " & str & " WHERE ncts_Id=@ncts_Id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblNCTS_TR (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Sub LOAD_Sicherheitsangaben()
+ Try
+ ncts_SICHERHEITSANGABEN.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblNCTS_TR_Sicherheitsangaben WHERE nctsSA_NctsId=@ncts_Id ", conn)
+ cmd.Parameters.AddWithValue("@ncts_Id", Me.ncts_Id)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cNCTS_TR_Sicherheitsangaben
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ ncts_SICHERHEITSANGABEN.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Sub LOAD_Warenposition()
+ Try
+ ncts_WARENPOS.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblNCTS_TR_Warenposition WHERE nctsWP_NctsId=@ncts_Id ", conn)
+ cmd.Parameters.AddWithValue("@ncts_Id", Me.ncts_Id)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cNCTS_TR_Warenposition()
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ l.LOAD_WarenpositionPackstuecke()
+ 'l.LOAD_WarenpositionUnterlagen()
+ ncts_WARENPOS.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Shared Function get_Warenposition(ncts_Id As Integer, Optional loadAll As Boolean = False) As List(Of cNCTS_TR_Warenposition)
+ Try
+ Dim ncts_WARENPOS As New List(Of cNCTS_TR_Warenposition)
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblNCTS_TR_Warenposition WHERE nctsWP_NctsId=@ncts_Id ", conn)
+ cmd.Parameters.AddWithValue("@ncts_Id", ncts_Id)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cNCTS_TR_Warenposition()
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ l.LOAD_WarenpositionPackstuecke()
+ ' l.LOAD_WarenpositionUnterlagen()
+ ncts_WARENPOS.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Return ncts_WARENPOS
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+ Function DELETE_Warenpositionen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblNCTS_TR_Warenposition] WHERE nctsWP_NctsId=" & Me.ncts_Id & " "
+ ' MsgBox(sqlstr)
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Function DELETE_WarenpositionPackstuecke() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblNCTS_TR_WarenpositionPackstuecke] WHERE nctsWpPk_NctsId=" & Me.ncts_Id & " "
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ 'Function DELETE_WarenpositionUnterlagen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ ' Dim sqlstr = " DELETE FROM [tblNCTS_TR_WarenpositionVorgelegteUnterlagen] WHERE nctsWpUl_NctsId =" & Me.ncts_Id & " "
+ ' Return SQL.doSQL(sqlstr, "FMZOLL")
+ 'End Function
+
+ Public Function SAVE_Warenposition() As Boolean
+ 'Zuserst alle OffertenPos von dem Offert löschen
+ If DELETE_Warenpositionen() And DELETE_WarenpositionPackstuecke() Then 'And DELETE_WarenpositionUnterlagen() Then
+ 'jetzt die Standartofferten einfügen
+ For Each p In ncts_WARENPOS
+ p.nctsWP_NctsId = ncts_Id
+ If p.INSERT() Then
+ p.INSERT_WarenpositionPackstuecke(p.nctsWP_Id, Me.ncts_Id)
+ 'p.INSERT_WarenpositionUnterlagen(p.nctsWP_Id, Me.ncts_Id)
+ Else
+ Return False
+ End If
+ Next
+ Else
+ Return False
+ End If
+
+ Return True
+ End Function
+
+ Function DELETE_Sicherheitsangaben() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblNCTS_TR_Sicherheitsangaben] WHERE nctsSA_NctsId=" & Me.ncts_Id & " "
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Function SAVE_Sicherheitsangaben() As Boolean
+ 'Zuserst alle OffertenPos von dem Offert löschen
+ If DELETE_Sicherheitsangaben() Then
+ 'jetzt die Standartofferten einfügen
+ For Each p In ncts_SICHERHEITSANGABEN
+ p.nctsSA_NctsId = ncts_Id
+ If Not p.INSERT() Then
+ Return False
+ End If
+ Next
+ Else
+ Return False
+ End If
+ Return True
+ End Function
+
+ Function countSpedbuchEntrys(filiale, ncts) As Integer
+ If If(ncts, "") = "" Then Return 0
+ Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND AtlasBezNrNCTS='" & ncts & "'", "FMZOLL")
+ End Function
+
+
+
+ Function countSpedbuchEntrysFilialeAbf(filiale, abfertigungsnummer) As Integer
+ If If(abfertigungsnummer, "") = "" Then Return 0
+ Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND AbfertigungsNr='" & abfertigungsnummer & "'", "FMZOLL")
+ End Function
+
+
+
+
+
+ Shared Function getFiliale(ByVal bezugsNr, ByRef filialeBez) As String
+ getFiliale = ""
+ If If(bezugsNr, "").ToString.Length > 4 Then
+ Select Case bezugsNr.ToString.Substring(0, 4)
+ Case "4803" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
+ Case "4811" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
+ Case "5003" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
+ Case "5103" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
+ Case "5303" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
+ Case "5501", "5601", "5701", "5801" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
+ Case Else
+ If IsNumeric(bezugsNr.ToString.Substring(0, 4)) Then Return bezugsNr.ToString.Substring(0, 4) 'Case Else : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
+ 'Case "4801", "4803", "4805", "4807", "4811", "5003", "5103", "5303" : Return bezugsNr.ToString.Substring(0, 4) ...... derzeit nur 4803
+ 'filialeBez SUB, NKD, WAI,.-..
+ End Select
+ End If
+ End Function
+
+
+ Shared Function getAbfertigungsnummer(ByVal bezugsNr) As String
+ getAbfertigungsnummer = ""
+ If If(bezugsNr, "").ToString.Length > 5 Then
+
+ Dim abf = ""
+ For Each s In bezugsNr.ToString.Substring(5)
+ If Not IsNumeric(s) Then Exit For
+ abf &= s
+ Next
+
+
+ If IsNumeric(abf) Then
+ If CLng(abf) < 99000000 Then ' wenn zu groß, fehlerhaft
+ If CLng(abf) > 18000000 And CLng(abf) < 99000000 Then
+ Return abf
+ Else
+ Return "18" & CInt(abf).ToString("000000")
+ End If
+ End If
+ End If
+ End If
+ Return ""
+ End Function
+ Sub getFilialeAbfertigungsnummerFromSendung(ByRef filiale, ByRef abfertigungsnummer, dy_SendungsId)
+ If dy_SendungsId IsNot Nothing AndAlso IsNumeric(dy_SendungsId) Then
+ Dim SND As New VERAG_PROG_ALLGEMEIN.cSendungen(dy_SendungsId)
+ If SND IsNot Nothing Then
+ If SND.FilialenNr > 0 Then filiale = SND.FilialenNr
+ If SND.AbfertigungsNr > 0 Then abfertigungsnummer = SND.AbfertigungsNr
+ End If
+ End If
+ End Sub
+
+
+
+
+ Shared Function getAdresseFromEORI(EORI As String, EORI_NL As String, SQL As VERAG_PROG_ALLGEMEIN.SQL)
+ If EORI Is Nothing Then Return Nothing
+ If If(EORI, "") <> "" Then
+ Dim kdNrTmp = SQL.getFMZOLLKdNrFromEORI(EORI, EORI_NL)
+ If IsNumeric(kdNrTmp) Then
+ Dim ADRESSE As New VERAG_PROG_ALLGEMEIN.cAdressen(kdNrTmp)
+ Return ADRESSE
+ End If
+ End If
+ Return Nothing
+ End Function
+
+End Class
+
+
+
+Public Class cNCTS_TR_Sicherheitsangaben
+
+ Property nctsSA_Id As Integer
+ Property nctsSA_NctsId As Object = Nothing
+ Property nctsSA_ArtCode As Object = Nothing
+ Property nctsSA_BezeichnungBescheinigun As Object = Nothing
+ Property nctsSA_AbgabenBetrag As Object = Nothing
+ Property nctsSA_GRN As Object = Nothing
+ Property nctsSA_Zugriffcode As Object = Nothing
+ Property nctsSA_TIN As Object = Nothing
+
+
+ 'Public selButton As Object = Nothing ' Für die GUI
+ 'Public SA_OBJECT As Object = Nothing ' Für die GUI
+
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Sub New()
+ End Sub
+
+ 'Sub New(nctsSA_Id)
+ ' Me.nctsSA_Id = nctsSA_Id
+ ' LOAD()
+ ' End Sub
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_Id", nctsSA_Id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_NctsId", nctsSA_NctsId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_ArtCode", nctsSA_ArtCode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_BezeichnungBescheinigun", nctsSA_BezeichnungBescheinigun))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_AbgabenBetrag", nctsSA_AbgabenBetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_GRN", nctsSA_GRN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_Zugriffcode", nctsSA_Zugriffcode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsSA_TIN", nctsSA_TIN))
+
+ Return list
+ End Function
+
+
+ Public Function INSERT() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ 'Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
+ nctsSA_Id = SQL.doSQLVarListID(nctsSA_Id, getInsertCmd, "FMZOLL", , list)
+ Return nctsSA_Id > 0
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblNCTS_TR_Sicherheitsangaben (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
+
+
+Public Class cNCTS_TR_Warenposition
+ Property nctsWP_Id As Integer
+ Property nctsWP_NctsId As Integer
+ Property nctsWP_PositionsNummer As Object = Nothing
+ Property nctsWP_Warennummer As Object = Nothing
+ Property nctsWP_ArtAnmeldungPositionCode As Object = Nothing
+ Property nctsWP_Warenbezeichnung As Object = Nothing
+ Property nctsWP_Warenwert As Object = Nothing
+ Property nctsWP_WarenwertWaehrung As Object = Nothing
+ Property nctsWP_SchaetzKz As Object = Nothing
+ Property nctsWP_WarenwertProzent As Object = Nothing
+ Property nctsWP_VersendungslandPositionCode As Object = Nothing
+ Property nctsWP_BestimmungslandPositionCode As Object = Nothing
+ Property nctsWP_Rohmasse As Object = Nothing
+ Property nctsWP_Eigenmasse As Object = Nothing
+
+
+ Property nctsWP_VorpapierTyp As Object = Nothing
+ Property nctsWP_VorpapierReferenz1 As Object = Nothing
+ Property nctsWP_VorpapierZusatz1 As Object = Nothing
+ Property nctsWP_VorpapierReferenz2 As Object = Nothing
+ Property nctsWP_VorpapierZusatz2 As Object = Nothing
+ Property nctsWP_VorpapierReferenz3 As Object = Nothing
+ Property nctsWP_VorpapierZusatz3 As Object = Nothing
+ Property nctsWP_VorpapierReferenz4 As Object = Nothing
+ Property nctsWP_VorpapierZusatz4 As Object = Nothing
+ Property nctsWP_VorpapierReferenz5 As Object = Nothing
+ Property nctsWP_VorpapierZusatz5 As Object = Nothing
+ Property nctsWP_VorpapierReferenz6 As Object = Nothing
+ Property nctsWP_VorpapierZusatz6 As Object = Nothing
+ Property nctsWP_VorpapierReferenz7 As Object = Nothing
+ Property nctsWP_VorpapierZusatz7 As Object = Nothing
+ Property nctsWP_VorpapierReferenz8 As Object = Nothing
+ Property nctsWP_VorpapierZusatz8 As Object = Nothing
+ Property nctsWP_VorpapierReferenz9 As Object = Nothing
+ Property nctsWP_VorpapierZusatz9 As Object = Nothing
+
+
+
+ Property nctsWP_BesondereVermeke_ExportAusEU As Object = Nothing
+ Property nctsWP_BesondereVermeke_ExportAusLand As Object = Nothing
+ Property nctsWP_BesondereVermeke_Export As Object = Nothing
+
+ Property nctsWP_BesondereVermeke_ExportBeschraenkung As Object = Nothing
+ Property nctsWP_BesondereVermeke_ExportAbgaben As Object = Nothing
+ Property nctsWP_BesondereVermeke_Vermerk As Object = Nothing
+ Property nctsWP_BesondereVermeke_Kz10600 As Object = Nothing
+
+
+ Property nctsWP_Versender_EORI As Object = Nothing
+ Property nctsWP_Versender_NLNR As Object = Nothing
+ Property nctsWP_Versender_TIN As Object = Nothing
+ Property nctsWP_Versender_Name As Object = Nothing
+ Property nctsWP_Versender_StrasseHausnummer As Object = Nothing
+ Property nctsWP_Versender_Ort As Object = Nothing
+ Property nctsWP_Versender_PLZ As Object = Nothing
+ Property nctsWP_Versender_Land As Object = Nothing
+ Property nctsWP_Empfaenger_EORI As Object = Nothing
+ Property nctsWP_Empfaenger_NLNR As Object = Nothing
+ Property nctsWP_Empfaenger_TIN As Object = Nothing
+ Property nctsWP_Empfaenger_Name As Object = Nothing
+ Property nctsWP_Empfaenger_StrasseHausnummer As Object = Nothing
+ Property nctsWP_Empfaenger_Ort As Object = Nothing
+ Property nctsWP_Empfaenger_PLZ As Object = Nothing
+ Property nctsWP_Empfaenger_Land As Object = Nothing
+ Property nctsWP_SumAKennnummerSendung As Object = Nothing
+ Property nctsWP_SumABefoerderungskostenZahlungsweise As Object = Nothing
+ Property nctsWP_SumAUNGefahrgutnummer As Object = Nothing
+ Property nctsWP_SumAVersender_EORI As Object = Nothing
+ Property nctsWP_SumAVersender_NLNR As Object = Nothing
+ Property nctsWP_SumAVersender_TIN As Object = Nothing
+ Property nctsWP_SumAVersender_Name As Object = Nothing
+ Property nctsWP_SumAVersender_StrasseHausnummer As Object = Nothing
+ Property nctsWP_SumAVersender_Ort As Object = Nothing
+ Property nctsWP_SumAVersender_PLZ As Object = Nothing
+ Property nctsWP_SumAVersender_Land As Object = Nothing
+ Property nctsWP_SumAEmpfaenger_EORI As Object = Nothing
+ Property nctsWP_SumAEmpfaenger_NLNR As Object = Nothing
+ Property nctsWP_SumAEmpfaenger_TIN As Object = Nothing
+ Property nctsWP_SumAEmpfaenger_Name As Object = Nothing
+ Property nctsWP_SumAEmpfaenger_StrasseHausnummer As Object = Nothing
+ Property nctsWP_SumAEmpfaenger_Ort As Object = Nothing
+ Property nctsWP_SumAEmpfaenger_PLZ As Object = Nothing
+ Property nctsWP_SumAEmpfaenger_Land As Object = Nothing
+
+
+ Property nctsWP_KdRefNr As Object = Nothing
+
+
+ Property nctsWP_PACKSTUECKE As New List(Of cNCTS_TR_WarenpositionPackstuecke)
+ Property nctsWP_UNTERLAGEN As New List(Of cNCTS_TR_WarenpositionVorgelegteUnterlagen) 'NOCH NCIHT SQL!!
+
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Sub New()
+ ' Me.nctsWP_NctsId = nctsWP_NctsId
+ End Sub
+
+ 'Sub New(nctsSA_Id)
+ ' Me.nctsSA_Id = nctsSA_Id
+ ' LOAD()
+ ' End Sub
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Id", nctsWP_Id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_NctsId", nctsWP_NctsId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_PositionsNummer", nctsWP_PositionsNummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Warennummer", nctsWP_Warennummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_ArtAnmeldungPositionCode", nctsWP_ArtAnmeldungPositionCode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Warenbezeichnung", nctsWP_Warenbezeichnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Warenwert", nctsWP_Warenwert))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_WarenwertWaehrung", nctsWP_WarenwertWaehrung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SchaetzKz", nctsWP_SchaetzKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_WarenwertProzent", nctsWP_WarenwertProzent))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VersendungslandPositionCode", nctsWP_VersendungslandPositionCode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BestimmungslandPositionCode", nctsWP_BestimmungslandPositionCode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Rohmasse", nctsWP_Rohmasse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Eigenmasse", nctsWP_Eigenmasse))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierTyp", nctsWP_VorpapierTyp))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz1", nctsWP_VorpapierReferenz1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz1", nctsWP_VorpapierZusatz1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz2", nctsWP_VorpapierReferenz2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz2", nctsWP_VorpapierZusatz2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz3", nctsWP_VorpapierReferenz3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz3", nctsWP_VorpapierZusatz3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz4", nctsWP_VorpapierReferenz4))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz4", nctsWP_VorpapierZusatz4))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz5", nctsWP_VorpapierReferenz5))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz5", nctsWP_VorpapierZusatz5))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz6", nctsWP_VorpapierReferenz6))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz6", nctsWP_VorpapierZusatz6))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz7", nctsWP_VorpapierReferenz7))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz7", nctsWP_VorpapierZusatz7))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz8", nctsWP_VorpapierReferenz8))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz8", nctsWP_VorpapierZusatz8))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierReferenz9", nctsWP_VorpapierReferenz9))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_VorpapierZusatz9", nctsWP_VorpapierZusatz9))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_ExportAusEU", nctsWP_BesondereVermeke_ExportAusEU))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_ExportAusLand", nctsWP_BesondereVermeke_ExportAusLand))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_Export", nctsWP_BesondereVermeke_Export))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_ExportBeschraenkung", nctsWP_BesondereVermeke_ExportBeschraenkung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_ExportAbgaben", nctsWP_BesondereVermeke_ExportAbgaben))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_Vermerk", nctsWP_BesondereVermeke_Vermerk))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_BesondereVermeke_Kz10600", nctsWP_BesondereVermeke_Kz10600))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_EORI", nctsWP_Versender_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_NLNR", nctsWP_Versender_NLNR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_TIN", nctsWP_Versender_TIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_Name", nctsWP_Versender_Name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_StrasseHausnummer", nctsWP_Versender_StrasseHausnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_Ort", nctsWP_Versender_Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_PLZ", nctsWP_Versender_PLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Versender_Land", nctsWP_Versender_Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_EORI", nctsWP_Empfaenger_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_NLNR", nctsWP_Empfaenger_NLNR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_TIN", nctsWP_Empfaenger_TIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_Name", nctsWP_Empfaenger_Name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_StrasseHausnummer", nctsWP_Empfaenger_StrasseHausnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_Ort", nctsWP_Empfaenger_Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_PLZ", nctsWP_Empfaenger_PLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_Empfaenger_Land", nctsWP_Empfaenger_Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAKennnummerSendung", nctsWP_SumAKennnummerSendung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumABefoerderungskostenZahlungsweise", nctsWP_SumABefoerderungskostenZahlungsweise))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAUNGefahrgutnummer", nctsWP_SumAUNGefahrgutnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_EORI", nctsWP_SumAVersender_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_NLNR", nctsWP_SumAVersender_NLNR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_TIN", nctsWP_SumAVersender_TIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_Name", nctsWP_SumAVersender_Name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_StrasseHausnummer", nctsWP_SumAVersender_StrasseHausnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_Ort", nctsWP_SumAVersender_Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_PLZ", nctsWP_SumAVersender_PLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAVersender_Land", nctsWP_SumAVersender_Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_EORI", nctsWP_SumAEmpfaenger_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_NLNR", nctsWP_SumAEmpfaenger_NLNR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_TIN", nctsWP_SumAEmpfaenger_TIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_Name", nctsWP_SumAEmpfaenger_Name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_StrasseHausnummer", nctsWP_SumAEmpfaenger_StrasseHausnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_Ort", nctsWP_SumAEmpfaenger_Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_PLZ", nctsWP_SumAEmpfaenger_PLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_SumAEmpfaenger_Land", nctsWP_SumAEmpfaenger_Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWP_KdRefNr", nctsWP_KdRefNr))
+
+
+ Return list
+ End Function
+
+
+ Public Function INSERT() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ 'Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
+ nctsWP_Id = SQL.doSQLVarListID(nctsWP_Id, getInsertCmd, "FMZOLL", , list)
+ Return nctsWP_Id > 0
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblNCTS_TR_Warenposition (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+
+
+ Public Sub LOAD_WarenpositionPackstuecke()
+ Try
+ nctsWP_PACKSTUECKE.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblNCTS_TR_WarenpositionPackstuecke WHERE nctsWpPk_nctsWPId=@nctsWP_Id ", conn)
+ cmd.Parameters.AddWithValue("@nctsWP_Id", Me.nctsWP_Id)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cNCTS_TR_WarenpositionPackstuecke()
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ nctsWP_PACKSTUECKE.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Function DELETE_WarenpositionPackstuecke() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblNCTS_TR_WarenpositionPackstuecke] WHERE nctsWpPk_nctsWPId=" & Me.nctsWP_Id & " "
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Function INSERT_WarenpositionPackstuecke(wp_id, ncts_id) As Boolean
+ 'Zuserst alle OffertenPos von dem Offert löschen
+
+ 'jetzt die Standartofferten einfügen
+ For Each p In nctsWP_PACKSTUECKE
+ p.nctsWpPk_nctsWPId = wp_id
+ p.nctsWpPk_NctsId = ncts_id
+ If Not p.INSERT() Then
+ Return False
+ End If
+ Next
+
+ Return True
+ End Function
+
+
+
+ 'Public Sub LOAD_WarenpositionUnterlagen()
+ ' Try
+ ' nctsWP_UNTERLAGEN.Clear()
+ ' Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ ' Using cmd As New SqlCommand("SELECT * FROM tblNCTS_TR_WarenpositionVorgelegteUnterlagen WHERE nctsWpUl_nctsWPId=@nctsWP_Id ", conn)
+ ' cmd.Parameters.AddWithValue("@nctsWP_Id", Me.nctsWP_Id)
+ ' Dim dr = cmd.ExecuteReader()
+ ' While dr.Read
+ ' Dim l As New cNCTS_TR_WarenpositionVorgelegteUnterlagen
+ ' For Each i In l.getParameterList()
+ ' Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ ' If dr.Item(i.Text) Is DBNull.Value Then
+ ' propInfo.SetValue(l, Nothing)
+ ' Else
+ ' propInfo.SetValue(l, dr.Item(i.Text))
+ ' End If
+ ' Next
+ ' nctsWP_UNTERLAGEN.Add(l)
+ ' End While
+ ' dr.Close()
+ ' End Using
+ ' End Using
+ ' Catch ex As Exception
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ ' End Try
+ 'End Sub
+
+ 'Public Function DELETE_WarenpositionUnterlagen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ ' Dim sqlstr = " DELETE FROM [tblNCTS_TR_WarenpositionVorgelegteUnterlagen] WHERE nctsWpUl_nctsWPId=" & Me.nctsWP_Id & " "
+ ' Return SQL.doSQL(sqlstr, "FMZOLL")
+ 'End Function
+
+ 'Public Function INSERT_WarenpositionUnterlagen(wp_id, ncts_id) As Boolean
+ ' 'Zuserst alle OffertenPos von dem Offert löschen
+
+ ' 'jetzt die Standartofferten einfügen
+ ' For Each p In nctsWP_UNTERLAGEN
+ ' p.nctsWpUl_nctsWPId = wp_id
+ ' p.nctsWpUl_NctsId = ncts_id
+ ' If Not p.INSERT() Then
+ ' Return False
+ ' End If
+ ' Next
+
+ ' Return True
+ 'End Function
+
+
+
+
+End Class
+
+
+
+Public Class cNCTS_TR_WarenpositionPackstuecke
+
+ Property nctsWpPk_Id As Integer
+ Property nctsWpPk_nctsWPId As Integer
+ Property nctsWpPk_NctsId As Integer
+
+ Property nctsWpPk_PackstueckeAnzahl As Object = Nothing
+ Property nctsWpPk_Verpackungsart As Object = Nothing
+ Property nctsWpPk_ZeichenNummern As Object = Nothing
+
+
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Sub New()
+ ' Me.nctsWpPk_nctsWPId = nctsWpPk_nctsWPId
+ End Sub
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpPk_Id", nctsWpPk_Id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpPk_nctsWPId", nctsWpPk_nctsWPId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpPk_NctsId", nctsWpPk_NctsId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpPk_PackstueckeAnzahl", nctsWpPk_PackstueckeAnzahl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpPk_Verpackungsart", nctsWpPk_Verpackungsart))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpPk_ZeichenNummern", nctsWpPk_ZeichenNummern))
+ Return list
+ End Function
+
+
+ Public Function INSERT() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ nctsWpPk_Id = SQL.doSQLVarListID(nctsWpPk_Id, getInsertCmd(), "FMZOLL", , list)
+ Return nctsWpPk_Id > 0
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblNCTS_TR_WarenpositionPackstuecke (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
+
+
+
+'NOCH NCIHT IM SQL!!!!!!!!!!!!!!!
+Public Class cNCTS_TR_WarenpositionVorgelegteUnterlagen
+
+ Property nctsWpUl_Id As Integer
+ Property nctsWpUl_nctsWPId As Integer
+ Property nctsWpUl_NctsId As Integer
+ Property nctsWpUl_Typ As Object = Nothing
+ Property nctsWpUl_Referenz As Object = Nothing
+ Property nctsWpUl_Zusatz As Object = Nothing
+
+
+
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Sub New()
+ ' Me.nctsWpUl_nctsWPId = nctsWpUl_nctsWPId
+ End Sub
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_Id", nctsWpUl_Id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_nctsWPId", nctsWpUl_nctsWPId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_NctsId", nctsWpUl_NctsId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_Typ", nctsWpUl_Typ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_Referenz", nctsWpUl_Referenz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nctsWpUl_Zusatz", nctsWpUl_Zusatz))
+ Return list
+ End Function
+
+
+ Public Function INSERT() As Boolean
+ Return True 'NOCH NCIHT!!!!!
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ nctsWpUl_Id = SQL.doSQLVarListID(nctsWpUl_Id, getInsertCmd(), "FMZOLL", , list)
+ Return nctsWpUl_Id > 0
+ End Function
+
+ Public Function getInsertCmd() As String
+
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblNCTS_TR_WarenpositionVorgelegteUnterlagen (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffenePostenDVO.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffenePostenDVO.vb
new file mode 100644
index 0000000..804fa63
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffenePostenDVO.vb
@@ -0,0 +1,156 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cOffenePostenDVO
+
+ Property OP_ID As Integer
+ Property Konto As Integer
+ Property KundenNr As Integer
+ Property Rechnung As Object = Nothing
+ Property Datum As Object = Nothing
+ Property Buchungsbetrag As Object = Nothing
+ Property Steuercode As Object = Nothing
+ Property Ländercode As Object = Nothing
+ Property Steuerbetrag As Object = Nothing
+ Property Buchungstext As Object = Nothing
+ Property Faell_Tage1 As Object = Nothing
+ Property Faell_Prozent1 As Object = Nothing
+ Property Faell_Tage2 As Object = Nothing
+ Property Faell_Prozent2 As Object = Nothing
+ Property Faell_Tage3 As Object = Nothing
+ Property Faell_Prozent3 As Object = Nothing
+ Property Mahnstufe As Object = Nothing
+ Property Rechnung_Gutschrift As Object = Nothing
+ Property Storno As Object = Nothing
+ Property Jahr As Object = Nothing
+
+
+ Shared SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(OP_ID)
+ Me.OP_ID = OP_ID
+ LOAD()
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OP_ID", OP_ID, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Konto", Konto))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnung", Rechnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum", Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsbetrag", Buchungsbetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuercode", Steuercode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ländercode", Ländercode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerbetrag", Steuerbetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungstext", Buchungstext))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Tage1", Faell_Tage1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Prozent1", Faell_Prozent1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Tage2", Faell_Tage2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Prozent2", Faell_Prozent2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Tage3", Faell_Tage3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Prozent3", Faell_Prozent3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mahnstufe", Mahnstufe))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnung_Gutschrift", Rechnung_Gutschrift))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Storno", Storno))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Jahr", Jahr))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Offene_Posten_DVO WITH(updlock,serializable) WHERE OP_ID=@OP_ID) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ OP_ID = SQL.doSQLVarListID(OP_ID, sqlstr, "FMZOLL", , list)
+ Return OP_ID > 0
+ End Function
+
+ Public Shared Function LOADByKdNr(KundenNr As Integer) As DataTable
+ Return SQL.loadDgvBySql("SELECT * FROM Offene_Posten_DVO WHERE KundenNr=@KundenNr ", "FMZOLL")
+ End Function
+
+ Public Shared Function DELETE_ALL_ENTRYS() As Boolean
+ Return SQL.doSQL("DELETE FROM Offene_Posten_DVO ", "FMZOLL")
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Offene_Posten_DVO WHERE OP_ID=@OP_ID ", conn)
+ cmd.Parameters.AddWithValue("@OP_ID", OP_ID)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [Offene_Posten_DVO] SET " & str & " WHERE OP_ID=@OP_ID ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO Offene_Posten_DVO (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffene_Posten_DVO.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffene_Posten_DVO.vb
new file mode 100644
index 0000000..5fabb64
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOffene_Posten_DVO.vb
@@ -0,0 +1,170 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cOffene_Posten_DVO
+
+
+ Property OP_ID As Integer = -1
+ Property Konto As Object = Nothing
+ Property KontoBez As Object = Nothing
+ Property KundenNr As Object = Nothing
+ Property Rechnung As Object = Nothing
+ Property Datum As Object = Nothing
+ Property Buchungsbetrag_SOLL As Object = Nothing
+ Property Buchungsbetrag_HABEN As Object = Nothing
+ Property Saldo As Object = Nothing
+ Property Steuercode As Object = Nothing
+ Property Ländercode As Object = Nothing
+ Property Steuerbetrag As Object = Nothing
+ Property Buchungstext As Object = Nothing
+ Property Faell_Tage1 As Object = Nothing
+ Property Faell_Prozent1 As Object = Nothing
+ Property Faell_Tage2 As Object = Nothing
+ Property Faell_Prozent2 As Object = Nothing
+ Property Faell_Tage3 As Object = Nothing
+ Property Faell_Prozent3 As Object = Nothing
+ Property Mahnstufe As Object = Nothing
+ Property Rechnung_Gutschrift As Object = Nothing
+ Property Storno As Object = Nothing
+ Property Jahr As Object = Nothing
+ Property Faelligkeit As Object = Nothing
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(OP_ID)
+ Me.OP_ID = OP_ID
+ LOAD()
+ End Sub
+
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OP_ID", OP_ID, , True, True))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Konto", Konto))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KontoBez", KontoBez))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnung", Rechnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum", Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsbetrag_SOLL", Buchungsbetrag_SOLL))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsbetrag_HABEN", Buchungsbetrag_HABEN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Saldo", Saldo))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuercode", Steuercode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ländercode", (Ländercode))) '.ToString("N2")))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerbetrag", Steuerbetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungstext", Buchungstext))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Tage1", Faell_Tage1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Prozent1", Faell_Prozent1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Tage2", Faell_Tage2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Prozent2", Faell_Prozent2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Tage3", Faell_Tage3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faell_Prozent3", Faell_Prozent3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mahnstufe", Mahnstufe))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnung_Gutschrift", Rechnung_Gutschrift))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Storno", Storno))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Jahr", Jahr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Faelligkeit", Faelligkeit))
+ Return list
+ End Function
+
+ Public Shared Function DELETE_ALL() As Boolean
+ Dim SQL As New SQL
+ Return SQL.doSQL("DELETE FROM Offene_Posten_DVO", "FMZOLL")
+ End Function
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Offene_Posten_DVO WITH(updlock,serializable) WHERE OP_ID=@OP_ID) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ OP_ID = SQL.doSQLVarListID(OP_ID, sqlstr, "FMZOLL", , list)
+ Return OP_ID > 0
+ End Function
+
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Offene_Posten_DVO WHERE OP_ID=@OP_ID ", conn)
+ cmd.Parameters.AddWithValue("@OP_ID", OP_ID)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [Offene_Posten_DVO] SET " & str & " WHERE OP_ID=@OP_ID ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO Offene_Posten_DVO (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [Offene_Posten_DVO] WITH(updlock,serializable) WHERE OP_ID=" & Me.OP_ID
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOfferte.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOfferte.vb
new file mode 100644
index 0000000..a17255a
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cOfferte.vb
@@ -0,0 +1,383 @@
+
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cOfferteList
+ Property KundenNr As Object = Nothing
+ ' Property OffertenNr As Object = Nothing
+ Public LIST As New List(Of cOfferte)
+ Dim SQL As New SQL
+ 'Dim listTodelete As New List(Of cOfferte)
+
+ Sub New(KundenNr, loadPos)
+ Me.KundenNr = KundenNr
+ ' Me.OffertenNr = OffertenNr
+ LOAD_LIST(Me.KundenNr, loadPos)
+ End Sub
+ Public Sub CLEAR()
+ LIST.Clear()
+ End Sub
+ Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False)
+ ' Dim l As New cOfferte
+ 'l.eb_bcc = bcc
+ 'LIST.Add(l)
+ End Sub
+
+ Public Sub LOAD_LIST(KundenNr, loadPos)
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Offerten WHERE KundenNr=@KundenNr ", conn)
+ cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
+ ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cOfferte
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ If loadPos Then l.LOAD_POSITIONEN()
+ LIST.Add(l)
+
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+ 'Function SAVE()
+ ' If SQL.doSQLVarList("DELETE FROM tblEmailBenachrichtigung WHERE eb_KundenNr=" & Me.eb_KundenNr & " and eb_ebartId=" & Me.eb_ebartId & " ", "FMZOLL") Then
+ ' For Each l In LIST
+ ' If Not l.INSERT() Then Return False
+ ' Next
+ ' Return True
+ ' Else
+ ' Return False
+ ' End If
+ 'End Function
+End Class
+
+Public Class cOfferte
+ Property KundenNr As Object = Nothing
+ Property OffertenNr As Object = Nothing
+ Property FilialenNr As Object = Nothing
+ Property Pauschalpreis As Object = Nothing
+ Property Standardofferte As Object = Nothing
+ Property Besonderheiten As Object = Nothing
+ Property Eingegeben_am As Object = Nothing
+ Property Geändert_am As Object = Nothing
+ Property Sachbearbeiter As Object = Nothing
+ Property Gesperrt As Object = Nothing
+ Property Gesperrt_Datum As Object = Nothing
+ Property Gesperrt_Grund As Object = Nothing
+
+ Property POSITIONEN As New List(Of cOffertPosition) '= Nothing
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+ Sub New(KundenNr, OffertenNr, loadPos)
+ Me.KundenNr = KundenNr
+ Me.OffertenNr = OffertenNr
+ LOAD(KundenNr, OffertenNr, loadPos)
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OffertenNr", OffertenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Pauschalpreis", Pauschalpreis))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Standardofferte", Standardofferte))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Besonderheiten", Besonderheiten))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eingegeben am", Eingegeben_am, "Eingegeben_am"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Geändert am", Geändert_am, "Geändert_am"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesperrt", Gesperrt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesperrt_Datum", Gesperrt_Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesperrt_Grund", Gesperrt_Grund))
+
+ Return list
+ End Function
+
+ Public Sub LOAD(KundenNr, OffertenNr, loadPos)
+ Try
+ POSITIONEN.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Offerten WHERE KundenNr=@KundenNr AND OffertenNr=@OffertenNr ", conn)
+ cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
+ cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ 'Dim l As New cOfferte
+ For Each i In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(i.Text))
+ End If
+ Next
+ If loadPos Then LOAD_POSITIONEN()
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Sub LOAD_POSITIONEN()
+ Try
+ POSITIONEN.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Offertenpositionen WHERE KundenNr=@KundenNr and OffertenNr=@OffertenNr ", conn)
+ cmd.Parameters.AddWithValue("@KundenNr", Me.KundenNr)
+ cmd.Parameters.AddWithValue("@OffertenNr", Me.OffertenNr)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cOffertPosition
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ POSITIONEN.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Function INSERT() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
+ End Function
+
+ Public Function SAVE() As Boolean
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Offerten WITH(updlock,serializable) WHERE KundenNr=@KundenNr and OffertenNr=@OffertenNr ) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+ Me.Eingegeben_am = Now
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO Offerten (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [Offerten] SET " & str & " WHERE KundenNr=@KundenNr and OffertenNr=@OffertenNr ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Function RESET_STANDARTOFFERTEN(Sachbearbeiter) As Boolean
+ 'Zuserst alle OffertenPos von dem Offert löschen
+ If SQL.doSQL("DELETE FROM [Offertenpositionen] WHERE KundenNr=" & Me.KundenNr & " and OffertenNr=" & Me.OffertenNr, "FMZOLL") Then
+ 'jetzt die Standartofferten einfügen
+ For Each r In SQL.loadDgvBySql("SELECT * FROM [Standardofferten] WHERE [OffertenNr]=" & Me.OffertenNr, "FMZOLL").Rows
+ Dim P As New cOffertPosition()
+ Dim Leistung As New cLeistungen(r("LeistungsNr"))
+
+
+ P.KundenNr = Me.KundenNr
+ P.OffertenNr = Me.OffertenNr
+
+ P.LeistungsNr = r("LeistungsNr")
+ P.LeistungsBez = r("LeistungsBez")
+ P.BerechnungsartNr = Leistung.BerechnungsartNr
+ P.Preis = r("Preis")
+ P.Anzahl = r("Anzahl")
+ P.BGebLeistungsNr = r("BGebLeistungsNr")
+ P.BGebProzent = r("BGebProzent")
+ P.BGebMinBetrag = r("BGebMinBetrag")
+ P.Eingegeben_am = Now
+ 'P.Geändert_am = XXXXXXXXX
+ If r("BerechnungsartPosInkludiert") IsNot DBNull.Value Then P.BerechnungsartPosInkludiert = r("BerechnungsartPosInkludiert")
+ If r("BerechnungsartNr") IsNot DBNull.Value Then P.BerechnungsartNr = r("BerechnungsartNr") 'Falls hier, dann übernommen, sonst von Leistung
+ P.Sachbearbeiter = Sachbearbeiter
+ 'P.Preisänderung = XXXXXXXXX
+ 'P.PreisänderungProzent = XXXXXXXXX
+ 'P.PreisAlt = XXXXXXXXX
+ If Not P.INSERT() Then
+ Return False
+ End If
+ Next
+ Else
+ Return False
+ End If
+ Return True
+ End Function
+ Public Function RESET_STANDARTOFFERTEN_FIRMA(Sachbearbeiter, Firma) As Boolean
+ If Firma = "" Or Firma = "VERAG" Then
+ Return RESET_STANDARTOFFERTEN(Sachbearbeiter)
+ Else
+
+ 'Zuserst alle OffertenPos von dem Offert löschen
+ If SQL.doSQL("DELETE FROM [Offertenpositionen] WHERE KundenNr=" & Me.KundenNr & " and OffertenNr=" & Me.OffertenNr, "FMZOLL") Then
+ 'jetzt die Standartofferten einfügen
+ For Each r In SQL.loadDgvBySql("SELECT * FROM [StandardoffertenFirma] WHERE Firma='" & Firma & "' AND [OffertenNr]=" & Me.OffertenNr, "FMZOLL").Rows
+ Dim P As New cOffertPosition()
+ Dim Leistung As New cLeistungen(r("LeistungsNr"))
+
+
+ P.KundenNr = Me.KundenNr
+ P.OffertenNr = Me.OffertenNr
+
+ P.LeistungsNr = r("LeistungsNr")
+ P.LeistungsBez = r("LeistungsBez")
+ P.BerechnungsartNr = Leistung.BerechnungsartNr
+ P.Preis = r("Preis")
+ P.Anzahl = r("Anzahl")
+ P.BGebLeistungsNr = r("BGebLeistungsNr")
+ P.BGebProzent = r("BGebProzent")
+ P.BGebMinBetrag = r("BGebMinBetrag")
+ P.Eingegeben_am = Now
+ 'P.Geändert_am = XXXXXXXXX
+ P.Sachbearbeiter = Sachbearbeiter
+ If r("BerechnungsartPosInkludiert") IsNot DBNull.Value Then P.BerechnungsartPosInkludiert = r("BerechnungsartPosInkludiert")
+ If r("BerechnungsartNr") IsNot DBNull.Value Then P.BerechnungsartNr = r("BerechnungsartNr") 'Falls hier, dann übernommen, sonst von Leistung
+ 'P.Preisänderung = XXXXXXXXX
+ 'P.PreisänderungProzent = XXXXXXXXX
+ 'P.PreisAlt = XXXXXXXXX
+ If Not P.INSERT() Then
+ Return False
+ End If
+ Next
+ Else
+ Return False
+ End If
+ Return True
+ End If
+ End Function
+
+
+End Class
+
+
+Public Class cOffertPosition
+ Property KundenNr As Object = Nothing
+ Property OffertenNr As Object = Nothing
+ Property LeistungsNr As Object = Nothing
+ Property LeistungsBez As Object = Nothing
+ Property BerechnungsartNr As Object = Nothing
+ Property Preis As Object = Nothing
+ Property Anzahl As Object = Nothing
+ Property BGebLeistungsNr As Object = Nothing
+ Property BGebProzent As Object = Nothing
+ Property BGebMinBetrag As Object = Nothing
+ Property Eingegeben_am As Object = Nothing
+ Property Geändert_am As Object = Nothing
+ Property Sachbearbeiter As Object = Nothing
+ Property Preisänderung As Object = Nothing
+ Property PreisänderungProzent As Object = Nothing
+ Property PreisAlt As Object = Nothing
+ Property BerechnungsartPosInkludiert As Object = Nothing
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OffertenNr", OffertenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartNr", BerechnungsartNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preis", Preis))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anzahl", Anzahl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebLeistungsNr", BGebLeistungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebProzent", BGebProzent))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebMinBetrag", BGebMinBetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eingegeben am", Eingegeben_am, "Eingegeben_am"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Geändert am", Geändert_am, "Geändert_am"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preisänderung", Preisänderung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PreisänderungProzent", PreisänderungProzent))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PreisAlt", PreisAlt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartPosInkludiert", BerechnungsartPosInkludiert))
+ Return list
+ End Function
+
+ Public Function INSERT() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+ Me.Eingegeben_am = Now
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO Offertenpositionen (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cPDFWriteValues.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cPDFWriteValues.vb
new file mode 100644
index 0000000..0200fca
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cPDFWriteValues.vb
@@ -0,0 +1,84 @@
+
+Public Class cPDFWriteValues
+ Private sText As String
+ Private X As Double
+ Private Y As Double
+ Private width As Double
+ Private height As Double
+ Private mfont As String
+ Private mSize As Integer
+ Private maxlength As Integer = -1
+ Private align As Integer = iTextSharp.text.Element.ALIGN_LEFT 'PdfContentByte.ALIGN_LEFT
+
+
+ Public Sub New(ByVal sText As String, ByVal X As Double, ByVal Y As Double, ByVal width As Double, ByVal height As Double, ByVal mfont As String, ByVal mSize As Integer, Optional ByVal maxlength As Integer = -1, Optional ByVal align As Integer = iTextSharp.text.Element.ALIGN_LEFT)
+ Me.sText = sText
+ Me.X = X
+ Me.Y = Y
+ Me.width = width
+ Me.height = height
+ Me.mfont = mfont
+ Me.mSize = mSize
+ Me.maxlength = maxlength
+ Me.align = align
+ End Sub
+
+ Public ReadOnly Property Text() As Object
+ Get
+ Return sText
+ End Get
+ End Property
+
+ Public ReadOnly Property getX() As Object
+ Get
+ Return X
+ End Get
+ End Property
+ Public ReadOnly Property getY() As Object
+ Get
+ Return Y
+ End Get
+ End Property
+
+ Public ReadOnly Property getWidth() As Object
+ Get
+ Return width
+ End Get
+ End Property
+ Public ReadOnly Property getHeight() As Object
+ Get
+ Return height
+ End Get
+ End Property
+
+ Public ReadOnly Property font() As Object
+ Get
+ Return mfont
+ End Get
+ End Property
+
+ Public ReadOnly Property Size() As Object
+ Get
+ Return mSize
+ End Get
+ End Property
+ Public ReadOnly Property getMaxlength() As Object
+ Get
+ Return maxlength
+ End Get
+ End Property
+ Public ReadOnly Property getAlign() As Object
+ Get
+ Return align
+ End Get
+ End Property
+
+ ' Public Overrides Function ToString() As Object
+ ' Return mText
+ ' End Function
+
+
+
+
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cParameter.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cParameter.vb
new file mode 100644
index 0000000..f59f5ba
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cParameter.vb
@@ -0,0 +1,105 @@
+
+
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cParameterList
+ Property ProgId As Object = Nothing
+ Property firma As Object = Nothing
+ ' Property OffertenNr As Object = Nothing
+ Public LIST As New List(Of cParameter)
+ Dim SQL As New SQL
+ 'Dim listTodelete As New List(Of cOfferte)
+
+ Sub New(ProgId)
+ Me.ProgId = ProgId
+ ' Me.OffertenNr = OffertenNr
+ LOAD_LIST(Me.ProgId)
+ End Sub
+ Sub New(ProgId, firma)
+ Me.ProgId = ProgId
+ Me.firma = firma
+ ' Me.OffertenNr = OffertenNr
+ LOAD_LIST(Me.ProgId, Me.firma)
+ End Sub
+
+ Public Sub CLEAR()
+ LIST.Clear()
+ End Sub
+ Public Sub ADD(eb_EMail As String, Optional cc As Boolean = False, Optional bcc As Boolean = False)
+ ' Dim l As New cOfferte
+ 'l.eb_bcc = bcc
+ 'LIST.Add(l)
+ End Sub
+
+ Public Sub LOAD_LIST(KundenNr, Optional firma = Nothing)
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN
+ Using cmd As New SqlCommand("SELECT * FROM [tblParameter] WHERE progId IN (0,@ProgId) " & If(firma IsNot Nothing, " AND firma=@firma", ""), conn)
+ cmd.Parameters.AddWithValue("@ProgId", ProgId)
+ cmd.Parameters.AddWithValue("@firma", firma)
+ ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cParameter
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ LIST.Add(l)
+
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Function GET_PARAMETER_VALUE(param As String) As String
+ For Each p In LIST
+ If p.bezeichnung = param Then
+ Return p.wert
+ End If
+ Next
+ Return ""
+ End Function
+
+ Public Function GET_PARAMETER_VALUE_BOOL(param As String) As Boolean
+ For Each p In LIST
+ If p.bezeichnung = param Then
+ Return (p.wert = "1" Or p.wert = "true")
+ End If
+ Next
+ Return False
+ End Function
+
+End Class
+
+Public Class cParameter
+ Property Id As Integer
+ Property bezeichnung As String
+ Property wert As String
+ Property firma As Object = Nothing
+ Property beschreibung As Object = Nothing
+ Property progId As Object = Nothing
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Id", Id,, True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bezeichnung", bezeichnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wert", wert))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("firma", firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("beschreibung", beschreibung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("progId", progId))
+
+ Return list
+ End Function
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cPostversand.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cPostversand.vb
new file mode 100644
index 0000000..942d038
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cPostversand.vb
@@ -0,0 +1,203 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+
+Public Class cPostversand
+
+
+ Property post_id As Integer = -1
+ Property post_AvisoId As Object = Nothing ' INT NULL,
+ Property post_SendungsId As Object = Nothing ' INT NULL,
+ Property post_FilialenNr As Object = Nothing ' INT NULL,
+ Property post_AbfertigungsNr As Object = Nothing ' INT NULL,
+ Property post_art As Object = Nothing ' VARCHAR(200) Not NULL,
+ Property post_Empfaenger_Name1 As Object = Nothing ' VARCHAR(40) Not NULL,
+ Property post_Empfaenger_Name2 As Object = Nothing ' VARCHAR(40) NULL,
+ Property post_Empfaenger_Adresse1 As Object = Nothing ' VARCHAR(40) Not NULL,
+ Property post_Empfaenger_Adresse2 As Object = Nothing ' VARCHAR(60) Not NULL,
+ Property post_Empfaenger_Adresse3 As Object = Nothing ' VARCHAR(40) NULL,
+ Property post_ReferenzPaketdienst As Object = Nothing ' VARCHAR(200) NULL,
+ Property post_ContainerLKWNr As Object = Nothing ' VARCHAR(200) Not NULL,
+ Property post_Datum As Object = Nothing ' DATETIME Default (getdate()) Not NULL,
+ Property post_Sachbearbeiter As Object = Nothing ' VARCHAR(200) Not NULL,
+ Property post_SachbearbeiterId As Object = Nothing ' INT Not NULL,
+ Property post_FirmaInAuftragKdnr As Object = Nothing ' INT NULL,
+ Property post_FirmaInAuftrag As Object = Nothing ' VARCHAR(200) NULL,
+ Property post_Rolle As Object = Nothing ' VARCHAR(200) NULL,
+ 'Property post_LKW As Object = Nothing ' VARCHAR(200) NULL,
+ Property post_Empfaenger_KdNr As Object = Nothing ' VARCHAR(200) NULL,
+ ' Property post_Rolle As Object = Nothing ' VARCHAR(200) NULL,
+
+
+
+ Property post_KdAuftrNrAvisierer As Object = Nothing
+ Property post_RgEmpfaenger_KdNr As Object = Nothing
+ Property post_RgEmpfaenger_Name As Object = Nothing
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(post_id)
+ Me.post_id = post_id
+ LOAD()
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_id", post_id, , True, True))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_AvisoId", post_AvisoId)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_SendungsId", post_SendungsId)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_FilialenNr", post_FilialenNr)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_AbfertigungsNr", post_AbfertigungsNr)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_art", post_art)) ' VARCHAR(200) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Empfaenger_Name1", post_Empfaenger_Name1)) ' VARCHAR(40) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Empfaenger_Name2", post_Empfaenger_Name2)) ' VARCHAR(40) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Empfaenger_Adresse1", post_Empfaenger_Adresse1)) 'VARCHAR(40) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Empfaenger_Adresse2", post_Empfaenger_Adresse2)) 'VARCHAR(60) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Empfaenger_Adresse3", post_Empfaenger_Adresse3)) ' VARCHAR(40) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_ReferenzPaketdienst", post_ReferenzPaketdienst)) ' VARCHAR(200) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_ContainerLKWNr", post_ContainerLKWNr)) '# VARCHAR(200) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Datum", post_Datum)) ' DATETIME Default (getdate()) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Sachbearbeiter", post_Sachbearbeiter)) ' VARCHAR(200) Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_SachbearbeiterId", post_SachbearbeiterId)) ' INT Not NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_FirmaInAuftragKdnr", post_FirmaInAuftragKdnr)) ' INT NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_FirmaInAuftrag", post_FirmaInAuftrag)) ' VARCHAR(200) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Rolle", post_Rolle)) ' VARCHAR(200) NULL,
+ ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_LKW", post_LKW)) ' VARCHAR(200) NULL,
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_Empfaenger_KdNr", post_Empfaenger_KdNr)) ' VARCHAR(200) NULL,
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_KdAuftrNrAvisierer", post_KdAuftrNrAvisierer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_RgEmpfaenger_KdNr", post_RgEmpfaenger_KdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("post_RgEmpfaenger_Name", post_RgEmpfaenger_Name))
+
+ Return list
+ End Function
+
+
+
+ Public Shared Function LOADByFilialeAbfNr(FilialeNr As Integer, AbfertigungsNr As Integer, Optional post_Rolle As String = "") As cPostversand
+ Try
+ Dim VK As New cPostversand
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblPostversand WHERE post_AbfertigungsNr=@post_AbfertigungsNr AND post_FilialenNr=@post_FilialenNr " & If(If(post_Rolle, "") <> "", "AND post_Rolle=@post_Rolle ", ""), conn)
+ cmd.Parameters.AddWithValue("@post_FilialenNr", FilialeNr)
+ cmd.Parameters.AddWithValue("@post_AbfertigungsNr", AbfertigungsNr)
+ cmd.Parameters.AddWithValue("@post_Rolle", post_Rolle)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In VK.getParameterList()
+ Dim propInfo As PropertyInfo = VK.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(VK, Nothing)
+ Else
+ propInfo.SetValue(VK, dr.Item(l.Text))
+ End If
+ Next
+ dr.Close()
+ Return VK
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblPostversand WITH(updlock,serializable) WHERE post_id=@post_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ post_id = SQL.doSQLVarListID(post_id, sqlstr, "FMZOLL", , list)
+ Return post_id > 0
+ End Function
+
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblPostversand WHERE post_id=@post_id ", conn)
+ cmd.Parameters.AddWithValue("@post_id", post_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblPostversand] SET " & str & " WHERE post_id=@post_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblPostversand (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblPostversand] WITH(updlock,serializable) WHERE post_id=" & Me.post_id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cProgrammeUpdate.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cProgrammeUpdate.vb
new file mode 100644
index 0000000..f260220
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cProgrammeUpdate.vb
@@ -0,0 +1,254 @@
+
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cProgrammeUpdate
+ Property pud_progId As Object = Nothing
+ Property pud_codename As String
+ Property pud_version As String
+ Property pud_fileName As String
+ Property pud_filePathFolder As Object = Nothing
+ Property pud_datum As Date = Now
+
+ Property pud_file_Verion As String
+ Property pud_file_Date As Date
+ Property pud_file_Size As Integer
+
+ Dim SQL As New SQL
+
+
+ Shared Function getParameterList(UD As cProgrammeUpdate) As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_progId", UD.pud_progId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_codename", UD.pud_codename))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_version", UD.pud_version))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_fileName", UD.pud_fileName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_filePathFolder", UD.pud_filePathFolder))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_datum", UD.pud_datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_file_Verion", UD.pud_file_Verion))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_file_Date", UD.pud_file_Date))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pud_file_Size", UD.pud_file_Size))
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList(Me)
+ Return SQL.doSQLVarList(getInsertCmd, "ADMIN", , list)
+ End Function
+
+ Public Shared Function LOAD_AKT_LIST(pud_progId) As List(Of cProgrammeUpdate)
+ Dim LIST As New List(Of cProgrammeUpdate)
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblProgrammeUpdate WHERE pud_progId=@pud_progId AND pud_version=(SELECT TOP (1) pud_version FROM tblProgrammeUpdate WHERE pud_progId=@pud_progId order by pud_version DESC) ", conn)
+ cmd.Parameters.AddWithValue("@pud_progId", pud_progId)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim UD As New cProgrammeUpdate
+ For Each l In cProgrammeUpdate.getParameterList(UD)
+ Dim propInfo As PropertyInfo = UD.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(UD, Nothing)
+ Else
+ propInfo.SetValue(UD, dr.Item(l.Text))
+ End If
+
+ Next
+ LIST.Add(UD)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return LIST
+ End Function
+
+ Public Shared Function SAVE_LIST(pud_progId As Integer, pud_version As String, pud_codename As String, LIST As List(Of cProgrammeUpdate)) As Boolean
+ Dim SQL As New SQL
+ SQL.doSQL("DELETE FROM tblProgrammeUpdate WHERE pud_version='" & pud_version & "'", "ADMIN")
+ SAVE_LIST = True
+ For Each UD In LIST
+ UD.pud_progId = pud_progId
+ UD.pud_version = pud_version
+ UD.pud_codename = pud_codename
+ If Not UD.SAVE() Then SAVE_LIST = False
+ Next
+ End Function
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList(Me)
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblProgrammeUpdate] SET " & str & " WHERE gb_nr=@gb_nr ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList(Me)
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblProgrammeUpdate (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Shared Function isNewFile(ByRef file As VERAG_PROG_ALLGEMEIN.cProgrammeUpdate, LIST_DEST As List(Of VERAG_PROG_ALLGEMEIN.cProgrammeUpdate)) As Boolean
+ For Each l In LIST_DEST
+ If l.pud_filePathFolder = file.pud_filePathFolder And l.pud_fileName = file.pud_fileName And l.pud_file_Size = file.pud_file_Size And l.pud_file_Date = file.pud_file_Date Then
+ Return False
+ End If
+ Next
+ Return True
+ End Function
+
+ Public Shared Function isOldFile(ByRef file As VERAG_PROG_ALLGEMEIN.cProgrammeUpdate, LIST_SOURCE As List(Of VERAG_PROG_ALLGEMEIN.cProgrammeUpdate)) As Boolean
+ For Each l In LIST_SOURCE
+ If l.pud_filePathFolder = file.pud_filePathFolder And l.pud_fileName = file.pud_fileName And l.pud_file_Size = file.pud_file_Size And l.pud_file_Date = file.pud_file_Date Then
+ Return False
+ End If
+ Next
+ Return True
+ End Function
+
+
+ Public Shared Function copyProgramLIST(ByRef sourcePfad As String, ByVal destPfad As String, ignoreFilesBeginWith As String()) As Boolean
+ Try
+
+ If destPfad.Trim = "" Then Return False
+ If sourcePfad.Trim = "" Then Return False
+
+ If Not My.Computer.FileSystem.DirectoryExists(sourcePfad) Then
+ MsgBox("ERROR_COPY_01: Quell-Ordner existiert nicht.", MsgBoxStyle.Critical, "ERROR") : Return False
+ End If
+ ' MsgBox(destPfad)
+ If Not My.Computer.FileSystem.DirectoryExists(destPfad) Then
+ MsgBox("ERROR_COPY_02: Ziel-Ordner existiert nicht.", MsgBoxStyle.Critical, "ERROR") : Return False
+ End If
+
+ Dim LIST_SOURCE As New List(Of VERAG_PROG_ALLGEMEIN.cProgrammeUpdate)
+ Dim dirNameReplace_SOURCE = ""
+ Dim DI_SOURCE As New IO.DirectoryInfo(sourcePfad)
+ RekursivGetFiles(DI_SOURCE, dirNameReplace_SOURCE, LIST_SOURCE, {})
+
+ Dim LIST_DEST As New List(Of VERAG_PROG_ALLGEMEIN.cProgrammeUpdate)
+ Dim dirNameReplace_DEST = ""
+ Dim DI_DEST As New IO.DirectoryInfo(destPfad)
+ RekursivGetFiles(DI_DEST, dirNameReplace_DEST, LIST_DEST, ignoreFilesBeginWith)
+
+ If LIST_SOURCE.Count = 0 Then
+ MsgBox("ERROR_COPY_01: Quell-Daten existiert nicht.", MsgBoxStyle.Critical, "ERROR") : Return False
+ End If
+ 'If LIST_DEST.Count = 0 Then
+ ' MsgBox("ERROR_COPY_02: Ziel-Daten existiert nicht.", MsgBoxStyle.Critical, "ERROR") : Return False
+ 'End If
+
+ 'ORDNER erstellen:
+ For Each f In LIST_SOURCE
+ If If(f.pud_filePathFolder, "") <> "" Then
+ If Not IO.Directory.Exists(dirNameReplace_DEST & "\" & f.pud_filePathFolder) Then '.Replace("\\", "\")
+ IO.Directory.CreateDirectory(dirNameReplace_DEST & "\" & f.pud_filePathFolder) '.Replace("\\", "\")
+ End If
+ End If
+ Next
+
+ 'Löschen der unbenötigten Files:
+ For Each f In LIST_DEST
+ If isOldFile(f, LIST_SOURCE) Then
+ IO.File.Delete(dirNameReplace_DEST & "\" & If(f.pud_filePathFolder, "") & "\" & f.pud_fileName) '.Replace("\\", "\")
+ End If
+ Next
+
+ If dirNameReplace_DEST = "" Then dirNameReplace_DEST = destPfad
+ 'Kopieren/Überschreiben der neuen Files:
+ For Each f In LIST_SOURCE
+ If isNewFile(f, LIST_DEST) Then
+ Dim s_path = dirNameReplace_SOURCE & "\" & If(f.pud_filePathFolder, "") & "\" & f.pud_fileName '.Replace("\\", "\")
+ Dim d_path = dirNameReplace_DEST & "\" & If(f.pud_filePathFolder, "") & "\" & f.pud_fileName '.Replace("\\", "\")
+ d_path = d_path '.replace("\\", "\")
+ IO.File.Copy(s_path, d_path)
+ End If
+ Next
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ Return False
+ End Try
+ ' If isNewFile(destPfad) Then Return FileCopier(sourcePfad, destPfad)
+ Return True
+ End Function
+
+ Public Shared Function fileStartsWith(fileName As String, ignoreFilesBeginWith As String())
+ For Each s In ignoreFilesBeginWith
+ If fileName.StartsWith(s) Then Return True
+ Next
+ Return False
+ End Function
+ Public Shared Sub RekursivGetFiles(ByVal oDir As IO.DirectoryInfo, ByRef dirNameReplace As String, ByRef LIST As List(Of VERAG_PROG_ALLGEMEIN.cProgrammeUpdate), ignoreFilesBeginWith As String())
+ Dim oSubDir As IO.DirectoryInfo
+ Dim FI As IO.FileInfo
+
+ ' zunächst alle Dateien des Ordners aufspüren
+ For Each FI In oDir.GetFiles()
+ If Not fileStartsWith(FI.Name, ignoreFilesBeginWith) Then 'DATEIEN beginnen mit betimmten Namen, z.B. UPDATER
+
+
+ ' Dim FI As New IO.FileInfo(oFile)
+ If dirNameReplace = "" Then
+ dirNameReplace = FI.DirectoryName
+ End If
+
+ Dim UD As New VERAG_PROG_ALLGEMEIN.cProgrammeUpdate
+ UD.pud_fileName = FI.Name
+ UD.pud_filePathFolder = FI.DirectoryName.Replace(dirNameReplace, "")
+ If UD.pud_filePathFolder = "" Then UD.pud_filePathFolder = Nothing
+ UD.pud_file_Size = FI.Length
+ UD.pud_file_Date = FI.LastWriteTime
+ UD.pud_file_Verion = "" 'FI.
+ LIST.Add(UD)
+
+ End If
+ 'With oFile
+ ' ListBox1.Items.Add(.DirectoryName & "\" & .Name & vbTab &
+ ' .Length & vbTab & .LastWriteTime)
+ 'End With
+ Next
+
+ ' Jetzt alle Unterverzeichnis durchlaufen
+ ' und die Prozedur rekursiv selbst aufrufen
+ For Each oSubDir In oDir.GetDirectories()
+ RekursivGetFiles(oSubDir, dirNameReplace, LIST, {})
+ Next
+ End Sub
+
+End Class
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cQSTeam.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cQSTeam.vb
new file mode 100644
index 0000000..e494b56
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cQSTeam.vb
@@ -0,0 +1,247 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+
+Public Class cQSTeams
+ Property LIST As New List(Of cQSTeam)
+
+ Dim SQL As New SQL
+
+ Sub New()
+ LOAD_LIST()
+ End Sub
+
+ Public Sub LOAD_LIST()
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT qstm_Id FROM [tblQS_Teams] ", conn)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cQSTeam(dr.Item("qstm_Id"))
+ LIST.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getTeamById(id)
+ For Each T In LIST
+ If T.qstm_Id = id Then
+ Return T
+ End If
+ Next
+ Return Nothing
+ End Function
+
+ Public Shared Function genNewTeam(teamName) As Boolean
+ If teamName = "" Then Return False
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("INSERT INTO [tblQS_Teams] ([qstm_bezeichnung]) VALUES('" & teamName & "') ", conn)
+ cmd.ExecuteNonQuery()
+ Return True
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return False
+ End Function
+
+
+End Class
+
+
+
+Public Class cQSTeam
+
+ Property qstm_Id As Integer = -1
+ Property qstm_bezeichnung As String
+
+ Property MEMBER As New List(Of cQSTeamMA)
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qstm_Id", qstm_Id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qstm_bezeichnung", qstm_bezeichnung))
+
+ Return list
+ End Function
+
+ Sub New(qstm_Id)
+ Me.qstm_Id = qstm_Id
+ LOAD(qstm_Id)
+ End Sub
+
+ Sub New()
+ End Sub
+
+
+
+ Public Sub LOAD(qstm_Id)
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM [tblQS_Teams] WHERE qstm_Id=@qstm_Id ", conn)
+ cmd.Parameters.AddWithValue("@qstm_Id", qstm_Id)
+
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ LOAD_POSITIONEN()
+ End If
+ dr.Close()
+ End Using
+ End Using
+ 'Return Nothing
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ ' Return Nothing
+ End Sub
+
+
+
+
+ Public Sub LOAD_POSITIONEN()
+ Try
+ MEMBER.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM [tblQS_TeamsMA] WHERE qtma_QstmId=@qtma_QstmId ", conn)
+ cmd.Parameters.AddWithValue("@qtma_QstmId", qstm_Id)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cQSTeamMA
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ MEMBER.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+
+End Class
+
+
+Public Class cQSTeamMA
+
+ Property qtma_Id As Integer = -1
+ Property qtma_QstmId As Integer
+ Property qtma_MaId As Integer
+ Property qtma_name As String = ""
+ Property qtma_funktion As Object = Nothing
+
+ Dim SQL As New SQL
+ Sub New()
+ End Sub
+
+ Sub New(qtma_Id)
+ Me.qtma_Id = qtma_Id
+ LOAD(qtma_Id)
+ End Sub
+
+
+
+
+ Public Sub LOAD(qtma_Id)
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM [tblQS_TeamsMA] WHERE qtma_Id=@qtma_Id ", conn)
+ cmd.Parameters.AddWithValue("@qtma_Id", qtma_Id)
+
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ End If
+ dr.Close()
+ End Using
+ End Using
+ 'Return Nothing
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ ' Return Nothing
+ End Sub
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qtma_Id", qtma_Id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qtma_QstmId", qtma_QstmId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qtma_MaId", qtma_MaId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qtma_name", qtma_name))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("qtma_funktion", qtma_funktion))
+
+ Return list
+ End Function
+
+ Public Function INSERT() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblQS_TeamsMA] WITH(updlock,serializable) WHERE qtma_Id=" & Me.qtma_Id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblQS_TeamsMA (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRKSV_DE.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRKSV_DE.vb
new file mode 100644
index 0000000..ca6a81b
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRKSV_DE.vb
@@ -0,0 +1,33 @@
+Imports System.Threading
+
+Public Class cRKSV_DE
+ Sub SignRKSV_DE()
+
+ Dim SC As New cServerClient_RKSV_DE
+
+
+ Try
+ Dim sendString = "RKSV_DE"
+
+ SC.begin("192.168.0.90", sendString, {"VERAG_DE"}) '192.168.0.90 = Developer
+
+ SC.waitTillFinished()
+ Thread.Sleep(100)
+
+ If SC.status = "TaskSuccess" Then
+ MsgBox("OK") '& vbNewLine & SC.ev.Message)
+ Else
+ MsgBox("FEHLER!")
+ 'MsgBox(SC.ev.Message)
+ Exit Sub
+ End If
+
+ Catch ex As Exception
+ MsgBox(ex.Message)
+ End Try
+
+
+
+ End Sub
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb
new file mode 100644
index 0000000..f069787
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb
@@ -0,0 +1,637 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cRechnungsausgang
+
+ Property RK_ID As Integer
+ Property FilialenNr As Integer
+ Property AbfertigungsNr As Integer
+ Property UnterNr As Integer = -1
+ Property Abfertigungsdatum As Date
+ Property RechnungsNr As Object = Nothing
+ Property RechnungsDatum As Object = Nothing
+ Property Sammelrechnung As Integer
+ Property BelegartenNr As Integer = 70 'Nothing
+ Property BelegartenKz As String = ""
+ Property BelegartenBez As String = ""
+ Property Vorzeichen As String = ""
+ Property BelegNr As Object = Nothing
+ Property AbsenderLandKz As Object = Nothing
+ Property AbsenderKundenNr As Object = Nothing
+ Property AbsenderName_1 As Object = Nothing '!!!!
+ Property AbsenderName_2 As Object = Nothing '!!!!
+ Property AbsenderStraße As Object = Nothing
+ Property AbsenderOrt As Object = Nothing
+ Property AbsenderOffertenNr As Object = Nothing
+ Property EmpfängerLandKz As Object = Nothing
+ Property EmpfängerKundenNr As Object = Nothing
+ Property EmpfängerName_1 As Object = Nothing '!!!!
+ Property EmpfängerName_2 As Object = Nothing '!!!!
+ Property EmpfängerStraße As Object = Nothing
+ Property EmpfängerOrt As Object = Nothing
+ Property EmpfängerOffertenNr As Object = Nothing
+ Property VermittlerLandKz As Object = Nothing
+ Property VermittlerKundenNr As Object = Nothing
+ Property VermittlerName_1 As Object = Nothing '!!!!
+ Property VermittlerName_2 As Object = Nothing '!!!!
+ Property VermittlerStraße As Object = Nothing
+ Property VermittlerOrt As Object = Nothing
+ Property VermittlerOffertenNr As Object = Nothing
+ Property Rechnung_an As Integer
+ Property KundenNrZentrale As Object = Nothing
+ Property RechnungsLandKz As Object = Nothing
+ Property RechnungsKundenNr As Integer
+ Property RechnungsName_1 As Object = Nothing '!!!!
+ Property RechnungsName_2 As Object = Nothing '!!!!
+ Property RechnungsStraße As Object = Nothing
+ Property RechnungsOrt As Object = Nothing
+ Property RechnungsUstIdKz As Object = Nothing
+ Property RechnungsUstIdNr As Object = Nothing
+ Property RechnungsUstIdGeprüft As Object = Nothing 'Date = CDate("01.01.2000")
+ Property Lastschrift As Boolean = False
+ Property Kunden_SVS As Boolean = False
+ Property Steuerschlüssel As Integer
+ Property Steuersatz_Proz As Double
+ Property LKW_Kennzeichen As Object = Nothing '!!!!
+ Property WährungsNr As Object = Nothing
+ Property Wert As Object = Nothing
+ Property Umrechnungskurs As Object = Nothing
+ Property Packstücke_und_Warenbezeichnung As Object = Nothing '!!!!
+ Property Vermerk As Object = Nothing
+ Property Anlage_1 As Object = Nothing '!!!!
+ Property Anlage_2 As Object = Nothing '!!!!
+ Property Anlage_3 As Object = Nothing '!!!!
+ Property Anlage_4 As Object = Nothing '!!!!
+ Property Anlage_5 As Object = Nothing '!!!!
+ Property Anlage_6 As Object = Nothing '!!!!
+ Property OffertenNr As Object = Nothing
+ Property Vorlageprovision_Proz As Object = Nothing '!!!!%
+ Property Kreditaufwendungen_Proz As Object = Nothing '!!!!%
+ Property Besonderheiten As Object = Nothing
+ Property Vorkasse As Boolean = False
+ Property Text As Object = Nothing
+ Property SteuerpflichtigerGesamtbetrag As Decimal = 0
+ Property SteuerfreierGesamtbetrag As Decimal = 0
+ Property Status As Object = 0
+ Property DruckDatumZeit As Object = Nothing
+ Property Abfertigungskosten As Object = Nothing
+ Property Vorkosten As Object = Nothing
+ Property Erlös As Object = Nothing
+ Property Buchungsjahr As Object = Nothing
+ Property Währungscode As Object = "EUR"
+ Property Sachbearbeiter As Object = Nothing
+ Property Trdin As Boolean = False
+ Property KartenNr As Object = Nothing
+ Property RefFilialenNr As Object = Nothing
+ Property RefAbfertigungsNr As Object = Nothing
+ Property RefUnterNr As Object = Nothing
+ Property Notiz As Object = Nothing
+ Property Zucker_MRN_Nr As Object = Nothing
+ Property Zucker_MRN_Datum As Object = Nothing
+ Property Zucker_Aufschub As Object = Nothing
+ Property ReErfZeitstempel As Object = Nothing
+ Property Nettozahlungsziel As Object = Nothing
+ Property Firma_ID As Integer = 0
+ Property SpeditionsbuchUnterNr As Object = Nothing
+ Property ErfassungsNr As Object = Nothing
+ 'Property upsize_ts As Object = Nothing
+ Property AvisiererKundenNr As Object = Nothing
+ Property Avisierer As Object = Nothing
+ Property EMailRechnungstext As Object = Nothing
+ Property AvisoID As Object = Nothing
+ Property KdAuftragsNr As Object = Nothing
+ Property Handling As Object = Nothing
+ Property VorschauID As Object = Nothing
+ Property Grenze As Object = Nothing
+ Property RechnungSprache As Object = Nothing
+
+
+ ' FROM [VERAG as object=nothing.[dbo as object=nothing.[Rechnungsausgang as object=nothing
+
+ Public POSITIONEN As New List(Of cRechnungsausgangPositionen)
+ Shared SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(RK_ID)
+ Me.RK_ID = RK_ID
+ LOAD() : LOAD_POSITIONEN()
+ End Sub
+
+ Sub New(FilialenNr, AbfertigungsNr)
+ Me.FilialenNr = FilialenNr
+ Me.AbfertigungsNr = AbfertigungsNr
+ LOAD(FilialenNr, AbfertigungsNr)
+ End Sub
+
+
+
+ Public Function getMaxRGUnterNr() As Integer
+ Return getMaxRGUnterNr(FilialenNr, AbfertigungsNr, SpeditionsbuchUnterNr)
+ End Function
+
+ Public Shared Function getMaxRGUnterNr(FilialenNr As Integer, AbfertigungsNr As Integer, SpeditionsbuchUnterNr As Integer) As Integer
+ ' Dim Nr = SQL.getValueTxtBySql("Select isnull([UnterNr], -1) + 1 FROM [Rechnungsausgang] where [FilialenNr]='" & FilialenNr & "' And AbfertigungsNr='" & AbfertigungsNr & "' And SpeditionsbuchUnterNr='" & SpeditionsbuchUnterNr & "' ORDER BY [UnterNr] desc", "FMZOLL")
+ Dim Nr = SQL.getValueTxtBySql("Select TOP 1 isnull([UnterNr], -1) + 1 FROM [Rechnungsausgang] where [FilialenNr]='" & FilialenNr & "' And AbfertigungsNr='" & AbfertigungsNr & "' ORDER BY [UnterNr] desc", "FMZOLL")
+ Return If(IsNumeric(Nr), Nr, 0)
+ End Function
+
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RK_ID", RK_ID, , True, True))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsdatum", Abfertigungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsNr", RechnungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsDatum", RechnungsDatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sammelrechnung", Sammelrechnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegartenNr", BelegartenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegartenKz", BelegartenKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegartenBez", BelegartenBez))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorzeichen", Vorzeichen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegNr", BelegNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderLandKz", AbsenderLandKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderKundenNr", AbsenderKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderName 1", AbsenderName_1, "AbsenderName_1")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderName 2", AbsenderName_2, "AbsenderName_2")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderStraße", AbsenderStraße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderOrt", AbsenderOrt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderOffertenNr", AbsenderOffertenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerLandKz", EmpfängerLandKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerKundenNr", EmpfängerKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerName 1", EmpfängerName_1, "EmpfängerName_1")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerName 2", EmpfängerName_2, "EmpfängerName_2")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerStraße", EmpfängerStraße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerOrt", EmpfängerOrt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerOffertenNr", EmpfängerOffertenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerLandKz", VermittlerLandKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerKundenNr", VermittlerKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerName 1", VermittlerName_1, "VermittlerName_1")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerName 2", VermittlerName_2, "VermittlerName_2")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerStraße", VermittlerStraße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerOrt", VermittlerOrt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerOffertenNr", VermittlerOffertenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnung an", Rechnung_an, "Rechnung_an")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNrZentrale", KundenNrZentrale))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsLandKz", RechnungsLandKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsKundenNr", RechnungsKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsName 1", RechnungsName_1, "RechnungsName_1")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsName 2", RechnungsName_2, "RechnungsName_2")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsStraße", RechnungsStraße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsOrt", RechnungsOrt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdKz", RechnungsUstIdKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdNr", RechnungsUstIdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdGeprüft", RechnungsUstIdGeprüft))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lastschrift", Lastschrift))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunden-SVS", Kunden_SVS, "Kunden_SVS")) '!!!!-
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerschlüssel", Steuerschlüssel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuersatz %", Steuersatz_Proz, "Steuersatz_Proz")) '!!!! %
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW Kennzeichen", LKW_Kennzeichen, "LKW_Kennzeichen")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("WährungsNr", WährungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Wert", Wert))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Umrechnungskurs", Umrechnungskurs))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Packstücke und Warenbezeichnung", Packstücke_und_Warenbezeichnung, "Packstücke_und_Warenbezeichnung")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermerk", Vermerk))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 1", Anlage_1, "Anlage_1")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 2", Anlage_2, "Anlage_2")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 3", Anlage_3, "Anlage_3")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 4", Anlage_4, "Anlage_4")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 5", Anlage_5, "Anlage_5")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 6", Anlage_6, "Anlage_6")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OffertenNr", OffertenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorlageprovision %", Vorlageprovision_Proz, "Vorlageprovision_Proz")) '!!!!%
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreditaufwendungen %", Kreditaufwendungen_Proz, "Kreditaufwendungen_Proz")) '!!!!%
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Besonderheiten", Besonderheiten))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorkasse", Vorkasse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Text", Text))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerGesamtbetrag", SteuerpflichtigerGesamtbetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierGesamtbetrag", SteuerfreierGesamtbetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Status", Status))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DruckDatumZeit", DruckDatumZeit))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungskosten", Abfertigungskosten))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorkosten", Vorkosten))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erlös", Erlös))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsjahr", Buchungsjahr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Währungscode", Währungscode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Trdin", Trdin))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KartenNr", KartenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RefFilialenNr", RefFilialenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RefAbfertigungsNr", RefAbfertigungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RefUnterNr", RefUnterNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Notiz", Notiz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_MRN_Nr", Zucker_MRN_Nr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_MRN_Datum", Zucker_MRN_Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_Aufschub", Zucker_Aufschub))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ReErfZeitstempel", ReErfZeitstempel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nettozahlungsziel", Nettozahlungsziel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SpeditionsbuchUnterNr", SpeditionsbuchUnterNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErfassungsNr", ErfassungsNr))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisiererKundenNr", AvisiererKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Avisierer", Avisierer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EMailRechnungstext", EMailRechnungstext))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisoID", AvisoID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdAuftragsNr", KdAuftragsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Handling", Handling))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VorschauID", VorschauID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Grenze", Grenze))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungSprache", RechnungSprache))
+
+ Return list
+ End Function
+
+
+
+ Public Sub LOAD(FilialeNr As Integer, AbfertigungsNr As Integer, Optional loadPos As Boolean = True)
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Rechnungsausgang WHERE FilialeNr=@FilialeNr AND AbfertigungsNr=@AbfertigungsNr ", conn)
+ cmd.Parameters.AddWithValue("@FilialeNr", FilialeNr)
+ cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ If loadPos Then LOAD_POSITIONEN()
+ End If
+ dr.Close()
+ End Using
+ doVorzeichen()
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Shared Function LOADByFilialeAbfNrsssasdssssssssss(FilialeNr As Integer, AbfertigungsNr As Integer) As cVorauskasse
+ Try
+ Dim VK As New cVorauskasse
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Rechnungsausgang WHERE vk_AbfertigungsNr=@vk_AbfertigungsNr AND vk_FilialeNr=@vk_FilialeNr ", conn)
+ cmd.Parameters.AddWithValue("@vk_FilialeNr", FilialeNr)
+ cmd.Parameters.AddWithValue("@vk_AbfertigungsNr", AbfertigungsNr)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In VK.getParameterList()
+ Dim propInfo As PropertyInfo = VK.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(VK, Nothing)
+ Else
+ propInfo.SetValue(VK, dr.Item(l.Text))
+ End If
+ Next
+ dr.Close()
+ Return VK
+ End If
+ dr.Close()
+ End Using
+ 'VOREZEICHENCNENCNECNENCN!!!
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+
+ Public Function SAVE(Optional saveAll As Boolean = True) As Boolean
+ doVorzeichen()
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Rechnungsausgang WHERE RK_ID=@RK_ID) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ RK_ID = SQL.doSQLVarListID(RK_ID, sqlstr, "FMZOLL", , list)
+
+
+ If RK_ID > 0 Then
+ doVorzeichenPOS()
+ If saveAll Then SAVE_POSITIONEN(RK_ID) ' positionen speicehrn
+ doVorzeichenPOS()
+ End If
+ doVorzeichen()
+ Return RK_ID > 0
+ End Function
+
+ Public Function SAVE_DruckDatumZeit() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim sqlstr = " UPDATE Rechnungsausgang SET DruckDatumZeit=@DruckDatumZeit WHERE RK_ID=@RK_ID "
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+
+ Public Sub doVorzeichen()
+ Dim vz = If(Vorzeichen = "-", -1, 1)
+ Me.SteuerfreierGesamtbetrag *= vz
+ Me.SteuerpflichtigerGesamtbetrag *= vz
+ Me.Abfertigungskosten *= vz
+ End Sub
+ Public Sub doVorzeichenPOS()
+ Dim vz = If(Vorzeichen = "-", -1, 1)
+ For Each p In POSITIONEN
+ p.doVorzeichen(Vorzeichen)
+ Next
+ End Sub
+
+ Public Function CHECK_Validation(ByRef errMsg As String) As Boolean
+ If Firma_ID <= 0 Then errMsg = "ERROR: Firma auswählen!" : Return False
+ If Rechnung_an = 0 OrElse CStr(Rechnung_an) = "" Then errMsg = "ERROR: Rechnungsempfänger auswählen!" : Return False
+ If SpeditionsbuchUnterNr Is Nothing Then errMsg = "ERROR: Speditionsbuch-UnterNr auswählen!" : Return False
+ ' If Steuerschlüssel Then errMsg = "ERROR: Steuerschlüssel muss angegeben werden!" : Return False
+
+ Return True
+ End Function
+
+ Public Function SAVE_POSITIONEN(RK_ID) As Boolean
+ If DELETE_POSITIONEN() Then ' zuerst Einträge löschen...
+ ORDER_POSITIONEN() ' ... dann ordnen ...
+ For Each p In POSITIONEN
+ If Not p.INSERT(RK_ID) Then Return False ' ... dann insert
+ Next
+ Else : Return False
+ End If
+ Return True
+ End Function
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Rechnungsausgang WHERE RK_ID=@RK_ID ", conn)
+ cmd.Parameters.AddWithValue("@RK_ID", RK_ID)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ doVorzeichen()
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [Rechnungsausgang] SET " & str & " WHERE RK_ID=@RK_ID ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO Rechnungsausgang (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function SET_DruckdatumUhrzeit() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " UPDATE [Rechnungsausgang] SET DruckDatumZeit=GETDATE WHERE RK_ID=" & Me.RK_ID
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Function isReverseChargeSumme() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ 'Wenn selbes Land --> Kein Reversecharge
+ Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_ID)
+ ' MsgBox(RechnungsLandKz & " - " & FIRMA.Firma_LandKz)
+ If RechnungsLandKz = FIRMA.Firma_LandKz Then
+ Return False
+ End If
+
+
+ Dim sqlstr = " SELECT SUM(POS.SteuerfreierBetrag) AS ReverseChargeSumme "
+ sqlstr &= " FROM Rechnungsausgang as RA INNER JOIN RechnungsausgangPositionen as POS ON RA.RK_ID = POS.RK_ID INNER JOIN Leistungen ON POS.LeistungsNr = Leistungen.LeistungsNr INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] AS LD ON RA.RechnungsUstIdKz = LD.LandKz"
+ sqlstr &= " WHERE RA.rk_id='" & Me.RK_ID & "' AND LD.ReverseCharge = 1 AND Leistungen.ReverseCharge = 1"
+
+ If Not CBool(SQL.DLookup("isnull([MitgliedslandEU],0)", "Währungstabelle", "LandKz='" & If(RechnungsLandKz, "") & "'", "FMZOLL", 0)) Then
+ Return False
+ End If
+
+ Return If(SQL.getValueTxtBySql(sqlstr, "FMZOLL",,, 0) = 0, False, True)
+ End Function
+
+ Public Function setSPEDBUCH_FAKTURIERT(Optional wert As Boolean = True) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " UPDATE Speditionsbuch SET Fakturiert='" & If(wert, 1, 0) & "' WHERE FilialenNr = '" & Me.FilialenNr & "' AND AbfertigungsNr = '" & Me.[AbfertigungsNr] & "' AND UnterNr = '" & Me.[SpeditionsbuchUnterNr] & "'"
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [Rechnungsausgang] WHERE RK_ID=" & Me.RK_ID
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Function DELETE_POSITIONEN() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [RechnungsausgangPositionen] WHERE RK_ID=" & Me.RK_ID
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Sub LOAD_POSITIONEN()
+ Try
+ POSITIONEN.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("Select * FROM RechnungsausgangPositionen WHERE RK_ID=@RK_ID ", conn)
+ cmd.Parameters.AddWithValue("@RK_ID", Me.RK_ID)
+
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cRechnungsausgangPositionen
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+ POSITIONEN.Add(l)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ doVorzeichenPOS()
+ Catch ex As Exception
+ MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Sub ORDER_POSITIONEN()
+ Try
+ ' Dim POSITIONEN_Tmp As New List(Of cRechnungsausgangPositionen)
+ Try
+ POSITIONEN = POSITIONEN.OrderByDescending(Function(x) x.Preis).ToList()
+ Catch ex As Exception
+ 'Preis null??
+ End Try
+ POSITIONEN = POSITIONEN.OrderBy(Function(x) x.LeistungsNr).ToList()
+
+ Catch ex As Exception
+ MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+End Class
+
+
+
+Public Class cRechnungsausgangPositionen
+
+ Property RK_ID As Integer
+ Property LeistungsNr As Integer
+ Property Steuerpflichtig As Boolean
+ Property LeistungsBez As String = Nothing
+ Property IndexZkteing As Integer = 0
+ Property BerechnungsartNr As Integer = 1
+ Property Preis As Object = Nothing
+ Property Anzahl As Object = Nothing
+ Property SteuerpflichtigerBetrag As Decimal = 0
+ Property SteuerfreierBetrag As Decimal = 0
+ Property AufschubkontoNr As Object = Nothing
+ Property Aufschubfälligkeit As Object = Nothing
+ Property Prüfsumme_berechnen As Boolean '!!!!
+ Property DateiNameAufschub As Object = Nothing
+ Property Preisbindung As Boolean '!!!!
+ Property Belegdaten As Object = Nothing
+ Property Fremdwährung As Object = Nothing
+ Property BGebLeistungsNr As Object = Nothing
+ Property BGebProzent As Object = Nothing
+ Property BGebBgl As Object = Nothing
+ Property BGebMinBetrag As Object = Nothing
+ Property RePosZeitstempel As Object = Nothing
+
+ 'FROM [VERAG].[dbo].[RechnungsausgangPositionen]
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RK_ID", RK_ID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerpflichtig", Steuerpflichtig))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IndexZkteing", IndexZkteing))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartNr", BerechnungsartNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preis", Preis))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anzahl", Anzahl))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetrag", SteuerpflichtigerBetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetrag", SteuerfreierBetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AufschubkontoNr", AufschubkontoNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Aufschubfälligkeit", Aufschubfälligkeit))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Prüfsumme berechnen", Prüfsumme_berechnen, "Prüfsumme_berechnen")) '!!!!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DateiNameAufschub", DateiNameAufschub))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preisbindung", Preisbindung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegdaten", Belegdaten))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fremdwährung", Fremdwährung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebLeistungsNr", BGebLeistungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebProzent", BGebProzent))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebBgl", BGebBgl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebMinBetrag", BGebMinBetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RePosZeitstempel", RePosZeitstempel))
+
+ 'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("upsize_ts", XXXXXXXXXXXXX))
+ Return list
+ End Function
+
+ Public Function INSERT(RK_ID) As Boolean
+ Me.RK_ID = RK_ID
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
+ End Function
+
+
+ Public Sub doVorzeichen(Vorzeichen)
+ Dim vz = If(Vorzeichen = "-", -1, 1)
+ Me.Preis *= vz
+ Me.SteuerfreierBetrag *= vz
+ Me.SteuerpflichtigerBetrag *= vz
+ End Sub
+
+ Public Function getInsertCmd() As String
+ Try
+ 'Me.Eingegeben_am = Now
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO RechnungsausgangPositionen (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsnummern.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsnummern.vb
new file mode 100644
index 0000000..430d349
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsnummern.vb
@@ -0,0 +1,170 @@
+
+Imports System.Data.SqlClient
+
+Public Class cRechnungsnummern
+ Property SpeditionsbuchNr As String = "" 'FIRMA!
+ Property Buchungsjahr As String = ""
+
+
+ Property VonRechnungsNr As Integer = -1
+ Property BisRechnungsNr As Integer = -1
+ Property LfdRechnungsNr As Integer = 0
+
+ Dim SQL As New SQL
+
+ Public Sub New(SpeditionsbuchNr As String, Buchungsjahr As String)
+ Me.SpeditionsbuchNr = SpeditionsbuchNr
+ Me.Buchungsjahr = Buchungsjahr
+
+ 'Default-Werte:
+ '-------------------------------------
+ Select Case SpeditionsbuchNr
+ Case 1
+ VonRechnungsNr = Now.ToString("yy") & "100001"
+ BisRechnungsNr = Now.ToString("yy") & "199999"
+ Case 3
+ VonRechnungsNr = Now.ToString("yy") & "300001"
+ BisRechnungsNr = Now.ToString("yy") & "399999"
+ Case 7
+ VonRechnungsNr = Now.ToString("yy") & "700001"
+ BisRechnungsNr = Now.ToString("yy") & "799999"
+ Case 11
+ VonRechnungsNr = Now.ToString("yy") & "900001"
+ BisRechnungsNr = Now.ToString("yy") & "999999"
+ Case 15
+ VonRechnungsNr = Now.ToString("yy") & "200001"
+ BisRechnungsNr = Now.ToString("yy") & "299999"
+ Case 20
+ VonRechnungsNr = Now.ToString("yy") & "400001"
+ BisRechnungsNr = Now.ToString("yy") & "499999"
+ Case 17 'FrontOffice
+ VonRechnungsNr = Now.ToString("yy") & "500001"
+ BisRechnungsNr = Now.ToString("yy") & "599999"
+
+ Case 21 ' UNISPED AT
+ VonRechnungsNr = Now.ToString("yy") & "7000000"
+ BisRechnungsNr = Now.ToString("yy") & "7999999"
+ Case 22 ' UNISPED DE
+ VonRechnungsNr = Now.ToString("yy") & "9000000"
+ BisRechnungsNr = Now.ToString("yy") & "9999999"
+ Case 23 ' UNISPED Zollservice
+ VonRechnungsNr = Now.ToString("yy") & "5000000"
+ BisRechnungsNr = Now.ToString("yy") & "5999999"
+ End Select
+ LfdRechnungsNr = VonRechnungsNr
+ '-------------------------------------
+
+
+ LOAD(SpeditionsbuchNr, Buchungsjahr)
+ End Sub
+
+
+ Public Function INCREASE_RGNR() As Integer
+ If LfdRechnungsNr > 0 Then
+ LfdRechnungsNr += 1
+ Else
+ LfdRechnungsNr = 1
+ End If
+ SAVE()
+ Return LfdRechnungsNr
+ End Function
+
+
+ Public Function CHECK_RGNR() As Integer ' Prüfung, ob RgNr schon vergeben wurde --> dann +1, bis freie Nr.
+ Dim increased = False
+ While SQL.DLookup("count(*)", "Rechnungsausgang", " RechnungsNr='" & LfdRechnungsNr & "' and Firma_ID='" & SpeditionsbuchNr & "' ", "FMZOLL", 0) > 0
+ LfdRechnungsNr += 1
+ increased = True
+ End While
+ If increased Then SAVE()
+ Return LfdRechnungsNr
+ End Function
+
+
+ Public Function SAVE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.MyListItem2) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM [Rechnungsnummern] WITH(updlock,serializable) WHERE [SpeditionsbuchNr]=@SpeditionsbuchNr AND Buchungsjahr=@Buchungsjahr) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+ 'MsgBox(sqlstr)
+ Return SQL.doSQL(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Sub LOAD(SpeditionsbuchNr As String, Buchungsjahr As String)
+ Try
+ Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Rechnungsnummern WHERE [SpeditionsbuchNr]=@SpeditionsbuchNr AND Buchungsjahr=@Buchungsjahr ", conn)
+ cmd.Parameters.AddWithValue("@SpeditionsbuchNr", SpeditionsbuchNr)
+ cmd.Parameters.AddWithValue("@Buchungsjahr", Buchungsjahr)
+
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ Me.SpeditionsbuchNr = cSqlDb.checkNullStr(dr.Item("SpeditionsbuchNr"))
+ Me.Buchungsjahr = cSqlDb.checkNullStr(dr.Item("Buchungsjahr"))
+ Me.LfdRechnungsNr = cSqlDb.checkNullStr(dr.Item("LfdRechnungsNr"))
+ Me.VonRechnungsNr = cSqlDb.checkNullInteger(dr.Item("VonRechnungsNr"))
+ Me.BisRechnungsNr = cSqlDb.checkNullInteger(dr.Item("BisRechnungsNr"))
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ 'Return Nothing
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ ' Return Nothing
+ End Sub
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.MyListItem2)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem2)
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("SpeditionsbuchNr", SpeditionsbuchNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("Buchungsjahr", Buchungsjahr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("LfdRechnungsNr", LfdRechnungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("VonRechnungsNr", VonRechnungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("BisRechnungsNr", BisRechnungsNr))
+ Return list
+ End Function
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.MyListItem2) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ str &= "[" & i.Text & "] = @" & i.Text.Replace("-", "").Replace(" ", "") & ","
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [Rechnungsnummern] SET " & str & " WHERE [SpeditionsbuchNr]=@SpeditionsbuchNr AND Buchungsjahr=@Buchungsjahr ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.MyListItem2) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & ","
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO [Rechnungsnummern] (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL.vb
new file mode 100644
index 0000000..0fdec61
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL.vb
@@ -0,0 +1,249 @@
+
+
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cSDL
+ Property KundenNr As Integer
+ Property KfzKennzeichen As String = ""
+ Property SDLNr As Integer
+ Property History As Integer
+ Property RefKundenNr As Object = Nothing
+ Property MSE_Kd_Nr As Object = Nothing
+ Property TELEPASS_Kd_Nr As Object = Nothing
+ Property CLIENT_Nr As Object = Nothing
+ Property BestellNr As Object = Nothing
+ Property Bestelldatum As Object = Nothing
+ Property Lieferdatum As Object = Nothing
+ Property Ausstellungsdatum As Object = Nothing
+ Property Umstellungsdatum As Object = Nothing
+ Property KartenNr As Object = Nothing
+ Property PAN_Nr As Object = Nothing
+ Property VIACARD As Object = Nothing
+ Property MOTORWAY_CARD_Nr As Object = Nothing
+ Property CARD_Nr As Object = Nothing
+ Property KartenSchlüsselNr As Object = Nothing
+ Property FREJUS_CARD_Nr As Object = Nothing
+ Property ECO As Object = Nothing
+ Property GültigBis As Object = Nothing
+ Property OBUID As Object = Nothing
+ Property SERIE_Nr As Object = Nothing
+ Property TELEPASS_Nr As Object = Nothing
+ Property Vermerk As Object = Nothing
+ Property Partner As Object = Nothing
+ Property BenutzerNr As Object = Nothing
+ Property PIN As Object = Nothing
+ Property FlottenPIN As Object = Nothing
+ Property MasterPIN As Object = Nothing
+ Property VertragsNr As Object = Nothing
+ Property Vertragsabschlussdatum As Object = Nothing
+ Property Kategorie As Object = Nothing
+ Property Schadstoffklasse As Object = Nothing
+ Property Status As Object = Nothing
+ Property Ersatzkarte As Object = Nothing
+ Property Gesperrt As Object = Nothing
+ Property Defekt As Object = Nothing
+ Property Verloren As Object = Nothing
+ Property Gestohlen As Object = Nothing
+ Property Erfassungsdatum As Object = Nothing
+ Property Änderungsdatum As Object = Nothing
+ Property Sachbearbeiter As Object = Nothing
+ Property Retourniert As Object = Nothing
+ Property RetourniertAm As Object = Nothing
+
+ Property GesperrtAm As Object = Nothing
+ Property DefektAm As Object = Nothing
+ Property VerlorenAm As Object = Nothing
+ Property GestohlenAm As Object = Nothing
+ Property ErsatzkarteAm As Object = Nothing
+ Property TelepassErsatzkarte As Object = Nothing
+ Property TelepassErsatzkarteAm As Object = Nothing
+ Property Archiviert As Boolean = False
+ Property LKWAbgemeldet As Boolean = False
+ Property LKWAbgemeldetAM As Object = Nothing
+
+ Property Fahrer As Object = Nothing
+ Property Kaution As Object = Nothing
+ Property BelegNr As Object = Nothing
+
+
+ Public hasentry
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+
+ Sub New(KundenNr, KfzKennzeichen, SDLNr, History)
+ Me.KundenNr = KundenNr
+ Me.KfzKennzeichen = KfzKennzeichen
+ Me.SDLNr = SDLNr
+ Me.History = History
+ LOAD()
+ End Sub
+
+
+ Sub New(KundenNr, KfzKennzeichen, SDLNr)
+ Me.KundenNr = KundenNr
+ Me.KfzKennzeichen = KfzKennzeichen
+ Me.SDLNr = SDLNr
+ Me.History = SQL.getValueTxtBySql("SELECT TOP 1 History FROM SDL WHERE KundenNr='" & KundenNr & "' AND KfzKennzeichen='" & KfzKennzeichen & "' AND SDLNr='" & SDLNr & "' ORDER BY History DESC", "SDL")
+ LOAD()
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KfzKennzeichen", KfzKennzeichen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SDLNr", SDLNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("History", History))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RefKundenNr", RefKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MSE-Kd-Nr", MSE_Kd_Nr, "MSE_Kd_Nr"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TELEPASS-Kd-Nr", TELEPASS_Kd_Nr, "TELEPASS_Kd_Nr"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CLIENT-Nr", CLIENT_Nr, "CLIENT_Nr"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BestellNr", BestellNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bestelldatum", Bestelldatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lieferdatum", Lieferdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ausstellungsdatum", Ausstellungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Umstellungsdatum", Umstellungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KartenNr", KartenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PAN-Nr", PAN_Nr, "PAN_Nr"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VIACARD", VIACARD))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MOTORWAY-CARD-Nr", MOTORWAY_CARD_Nr, "MOTORWAY_CARD_Nr"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CARD-Nr", CARD_Nr, "CARD_Nr"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KartenSchlüsselNr", KartenSchlüsselNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FREJUS-CARD-Nr", FREJUS_CARD_Nr, "FREJUS_CARD_Nr"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ECO", ECO))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GültigBis", GültigBis))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OBUID", OBUID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SERIE-Nr", SERIE_Nr, "SERIE_Nr"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TELEPASS-Nr", TELEPASS_Nr, "TELEPASS_Nr"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermerk", Vermerk))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Partner", Partner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BenutzerNr", BenutzerNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PIN", PIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FlottenPIN", FlottenPIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MasterPIN", MasterPIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VertragsNr", VertragsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vertragsabschlussdatum", Vertragsabschlussdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kategorie", Kategorie))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Schadstoffklasse", Schadstoffklasse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Status", Status))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ersatzkarte", Ersatzkarte))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesperrt", Gesperrt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Defekt", Defekt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Verloren", Verloren))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gestohlen", Gestohlen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erfassungsdatum", Erfassungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Änderungsdatum", Änderungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Retourniert", Retourniert))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RetourniertAm", RetourniertAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GesperrtAm", GesperrtAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DefektAm", DefektAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VerlorenAm", VerlorenAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("GestohlenAm", GestohlenAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErsatzkarteAm", ErsatzkarteAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TelepassErsatzkarte", TelepassErsatzkarte))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TelepassErsatzkarteAm", TelepassErsatzkarteAm))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Archiviert", Archiviert))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKWAbgemeldet", LKWAbgemeldet))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKWAbgemeldetAM", LKWAbgemeldetAM))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fahrer", Fahrer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kaution", Kaution))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegNr", BelegNr))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM SDL WITH(updlock,serializable) WHERE KundenNr=@KundenNr AND KfzKennzeichen=@KfzKennzeichen AND SDLNr=@SDLNr AND History=@History) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "SDL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ hasentry = False
+ Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
+ Using cmd As New SqlCommand("SELECT * FROM SDL WHERE KundenNr=@KundenNr AND KfzKennzeichen=@KfzKennzeichen AND SDLNr=@SDLNr AND History=@History ", conn)
+ cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
+ cmd.Parameters.AddWithValue("@KfzKennzeichen", KfzKennzeichen)
+ cmd.Parameters.AddWithValue("@SDLNr", SDLNr)
+ cmd.Parameters.AddWithValue("@History", History)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasentry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [SDL] SET " & str & " WHERE KundenNr=@KundenNr AND KfzKennzeichen=@KfzKennzeichen AND SDLNr=@SDLNr AND History=@History ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO SDL (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL_LKW.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL_LKW.vb
new file mode 100644
index 0000000..ec3c64e
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSDL_LKW.vb
@@ -0,0 +1,138 @@
+
+
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+Public Class cSDL_LKW
+ Property KundenNr As Integer
+ Property KfzKennzeichen As String
+ Property Nationalität As Object = Nothing
+ Property Verkauft As Object = Nothing
+ Property Abgemeldet As Object = Nothing
+ Property Vermerk As Object = Nothing
+ Property Erfassungsdatum As Object = Nothing
+ Property Änderungsdatum As Object = Nothing
+ Property Sachbearbeiter As Object = Nothing
+ Property KZAenderung As Object = Nothing
+ Property ts As Object = Nothing
+ Property Baujahr As Object = Nothing
+ Property KzMiete As Object = Nothing
+ Property KzLeasing As Object = Nothing
+ Property KzFinanzierungBank As Object = Nothing
+
+ Public hasEntry = False
+
+ Dim SQL As New SQL
+
+ Sub New(KundenNr, KfzKennzeichen)
+ Me.KundenNr = KundenNr
+ Me.KfzKennzeichen = KfzKennzeichen
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KfzKennzeichen", KfzKennzeichen))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nationalität", Nationalität))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Verkauft", Verkauft))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abgemeldet", Abgemeldet))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermerk", Vermerk))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erfassungsdatum", Erfassungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Änderungsdatum", Änderungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KZAenderung", KZAenderung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Baujahr", Baujahr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KzMiete", KzMiete))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KzLeasing", KzLeasing))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KzFinanzierungBank", KzFinanzierungBank))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM LKW WHERE KundenNr=@KundenNr and KfzKennzeichen=@KfzKennzeichen) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "SDL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ hasEntry = False
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionSDL()
+ Using cmd As New SqlCommand("SELECT * FROM LKW WHERE KundenNr=@KundenNr and KfzKennzeichen=@KfzKennzeichen ", conn)
+ cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
+ cmd.Parameters.AddWithValue("@KfzKennzeichen", KfzKennzeichen)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [LKW] SET " & str & " WHERE KundenNr=@KundenNr and KfzKennzeichen=@KfzKennzeichen ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO LKW (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSMS.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSMS.vb
new file mode 100644
index 0000000..b31b2e9
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSMS.vb
@@ -0,0 +1,242 @@
+Imports com.esendex.sdk.messaging
+Imports com.esendex.sdk.sent
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cSMS
+ Property sms_id As Integer
+ Property sms_Datum As Date = Now
+ Property sms_Firma As Object = Nothing
+ Property sms_Account As Object = Nothing
+
+ Property sms_Fahrername As Object = Nothing
+ Property sms_KundenNr As Object = Nothing
+ Property sms_Kunde As Object = Nothing
+
+
+
+ Property sms_Vorwahl As Object = Nothing
+ Property sms_Handynummer As Object = Nothing
+ Property sms_Nachricht As Object = Nothing
+ Property sms_BatchId As Object = Nothing
+ Property sms_MessageIds As Object = Nothing
+ Property sms_Uris As Object = Nothing
+ Property sms_Sachbearbeiter As String = Nothing
+ Property sms_SachbearbeiterId As Integer
+ Property sms_AvisoId As Object = Nothing
+
+ Property sms_Status As Integer = -1
+ Property sms_Queued As Object = Nothing
+ Property sms_Sent As Object = Nothing
+ Property sms_Delivered As Object = Nothing
+ Property sms_Failure As Object = Nothing
+
+
+ Dim ESENDEX_USER As String = "al@verag.ag"
+ Dim ESENDEX_PWD As String = "Developer#2"
+
+ Dim SQL As New SQL
+
+ Sub New()
+ sms_Sachbearbeiter = If(sms_Sachbearbeiter, VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME)
+ If sms_SachbearbeiterId <= 0 Then sms_SachbearbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+
+ End Sub
+
+ Sub New(sms_id)
+ Me.sms_id = sms_id
+ LOAD()
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_id", sms_id, , True, True))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Datum", sms_Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Firma", sms_Firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Account", sms_Account))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Fahrername", sms_Fahrername))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_KundenNr", sms_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Kunde", sms_Kunde))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Vorwahl", sms_Vorwahl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Handynummer", sms_Handynummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Nachricht", sms_Nachricht))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_BatchId", sms_BatchId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_MessageIds", sms_MessageIds))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Uris", sms_Uris))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Sachbearbeiter", sms_Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_SachbearbeiterId", sms_SachbearbeiterId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_AvisoId", sms_AvisoId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Status", sms_Status))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Queued", sms_Queued))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Sent", sms_Sent))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Delivered", sms_Delivered))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Failure", sms_Failure))
+
+
+ Return list
+ End Function
+
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblSMS WITH(updlock,serializable) WHERE sms_id=@sms_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ sms_id = SQL.doSQLVarListID(sms_id, sqlstr, "FMZOLL", , list)
+ Return sms_id > 0
+ End Function
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblSMS WHERE sms_id=@sms_id ", conn)
+ cmd.Parameters.AddWithValue("@sms_id", sms_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblSMS] SET " & str & " WHERE sms_id=@sms_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblSMS (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblSMS] WITH(updlock,serializable) WHERE sms_id=" & Me.sms_id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Function sendSMS() As Boolean
+ Try
+
+ Dim messagingService As New MessagingService(ESENDEX_USER, ESENDEX_PWD)
+ 'SENDEN DER SMS
+ Dim result = messagingService.SendMessage(New SmsMessage(Me.sms_Handynummer, Me.sms_Nachricht, Me.sms_Account))
+
+ Dim Uris As String = ""
+ Dim msgIDs As String = ""
+ Try
+ Me.sms_BatchId = result.BatchId
+
+ If result.MessageIds IsNot Nothing Then
+ For Each m In result.MessageIds
+ Uris &= m.Uri & ";;"
+ msgIDs &= m.Id.ToString & ";;"
+ Next
+ End If
+ Catch ex As Exception
+ End Try
+ While Uris.EndsWith(";;")
+ Uris = Uris.Substring(0, Uris.Length - 2)
+ End While
+ While msgIDs.EndsWith(";;")
+ msgIDs = msgIDs.Substring(0, msgIDs.Length - 2)
+ End While
+
+ Me.sms_MessageIds = msgIDs
+ Me.sms_Uris = Uris
+
+ If Not Me.SAVE() Then
+ MsgBox("Fehler: SMS Daten wurden nicht gespeichert!")
+ End If
+
+ Return True
+ Catch ex As Exception
+ MsgBox("Fehler beim Senden der SMS!" & vbNewLine & ex.Message & ex.StackTrace)
+ Return False
+ End Try
+
+ End Function
+ Function checkSMSStatus() As String
+ Try
+ If Me.sms_Status >= 3 Then Return Me.sms_Status ' Bereits finaler Status, keine Abfrage nötig
+ If If(Me.sms_MessageIds, "") = "" Then MsgBox("Keine MessageId gefunden!") : Return False ' Keine MsgId
+
+ Dim sendService As New SentService(ESENDEX_USER, ESENDEX_PWD)
+
+ 'Send a message and retrieve the message ID
+ Dim MSG = sendService.GetMessage(New Guid(Me.sms_MessageIds.ToString))
+ Dim messageStatus = MSG.Status
+ MsgBox(MSG.Status)
+ 'Status in DB Ubdaten
+ Me.sms_Status = messageStatus
+ Me.sms_Sent = MSG.SentAt
+ Me.sms_Delivered = MSG.DeliveredAt
+ If MSG.FailureReason IsNot Nothing Then Me.sms_Failure = MSG.FailureReason.Description
+ Me.SAVE()
+
+ Return messageStatus
+ Catch ex As Exception
+ MsgBox("Fehler beim Prüfen des SMS Status!" & vbNewLine & ex.Message & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendMailAttach.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendMailAttach.vb
new file mode 100644
index 0000000..2ec9b59
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendMailAttach.vb
@@ -0,0 +1,263 @@
+'Imports System.Runtime.InteropServices
+'Imports System.Windows.Forms
+'Imports System.IO
+
+
+'Namespace SendFileTo
+' Public Class cSendMailAttach
+' Public Function AddRecipientTo(ByVal email As String) As Boolean
+' Return AddRecipient(email, howTo.MAPI_TO)
+' End Function
+
+' Public Function AddRecipientCC(ByVal email As String) As Boolean
+' Return AddRecipient(email, howTo.MAPI_TO)
+' End Function
+
+' Public Function AddRecipientBCC(ByVal email As String) As Boolean
+' Return AddRecipient(email, howTo.MAPI_TO)
+' End Function
+
+' Public Sub AddAttachment(ByVal strAttachmentFileName As String)
+' m_attachments.Add(strAttachmentFileName)
+' End Sub
+
+' Public Function SendMailPopup(ByVal strSubject As String,
+' ByVal strBody As String) As Integer
+' Return SendMail(strSubject, strBody, MAPI_LOGON_UI Or MAPI_DIALOG)
+' End Function
+
+' Public Function SendMailDirect(ByVal strSubject As String,
+' ByVal strBody As String) As Integer
+' Return SendMail(strSubject, strBody, MAPI_LOGON_UI)
+' End Function
+
+
+'
+' Private Shared Function MAPISendMail(ByVal sess As IntPtr,
+' ByVal hwnd As IntPtr, ByVal message As MapiMessage,
+' ByVal flg As Integer, ByVal rsv As Integer) As Integer
+' End Function
+
+' Private Function SendMail(ByVal strSubject As String,
+' ByVal strBody As String, ByVal how As Integer) As Integer
+' Dim msg As MapiMessage = New MapiMessage()
+' msg.subject = strSubject
+' msg.noteText = strBody
+
+' msg.recips = GetRecipients(msg.recipCount)
+' msg.files = GetAttachments(msg.fileCount)
+
+' m_lastError = MAPISendMail(New IntPtr(0), New IntPtr(0), msg, how,
+' 0)
+' If m_lastError > 1 Then
+' MessageBox.Show("MAPISendMail failed! " + GetLastError(),
+' "MAPISendMail")
+' End If
+
+' Cleanup(msg)
+' Return m_lastError
+' End Function
+
+' Private Function AddRecipient(ByVal email As String,
+' ByVal howTo As howTo) As Boolean
+' Dim recipient As MapiRecipDesc = New MapiRecipDesc()
+
+' recipient.recipClass = CType(howTo, Integer)
+' recipient.name = email
+' m_recipients.Add(recipient)
+
+' Return True
+' End Function
+
+' Private Function GetRecipients(ByRef recipCount As Integer) As IntPtr
+' recipCount = 0
+' If m_recipients.Count = 0 Then
+' Return 0
+' End If
+
+' Dim size As Integer = Marshal.SizeOf(GetType(MapiRecipDesc))
+' Dim intPtr As IntPtr = Marshal.AllocHGlobal(
+' m_recipients.Count * size)
+
+' Dim ptr As Integer = CType(intPtr, Integer)
+' Dim mapiDesc As MapiRecipDesc
+' For Each mapiDesc In m_recipients
+' Marshal.StructureToPtr(mapiDesc, CType(ptr, IntPtr), False)
+' ptr += size
+' Next
+
+' recipCount = m_recipients.Count
+' Return intPtr
+' End Function
+
+' Private Function GetAttachments(ByRef fileCount As Integer) As IntPtr
+' fileCount = 0
+' If m_attachments Is Nothing Then
+' Return 0
+' End If
+
+' If (m_attachments.Count <= 0) Or (m_attachments.Count >
+' maxAttachments) Then
+' Return 0
+' End If
+
+' Dim size As Integer = Marshal.SizeOf(GetType(MapiFileDesc))
+' Dim intPtr As IntPtr = Marshal.AllocHGlobal(
+' m_attachments.Count * size)
+
+' Dim mapiFileDesc As MapiFileDesc = New MapiFileDesc()
+' mapiFileDesc.position = -1
+' Dim ptr As Integer = CType(intPtr, Integer)
+
+' Dim strAttachment As String
+' For Each strAttachment In m_attachments
+' mapiFileDesc.name = Path.GetFileName(strAttachment)
+' mapiFileDesc.path = strAttachment
+' Marshal.StructureToPtr(mapiFileDesc, CType(ptr, IntPtr), False)
+' ptr += size
+' Next
+
+' fileCount = m_attachments.Count
+' Return intPtr
+' End Function
+
+' Private Sub Cleanup(ByRef msg As MapiMessage)
+' Dim size As Integer = Marshal.SizeOf(GetType(MapiRecipDesc))
+' Dim ptr As Integer = 0
+
+' If msg.recips <> IntPtr.Zero Then
+' ptr = CType(msg.recips, Integer)
+' Dim i As Integer
+' For i = 0 To msg.recipCount - 1 Step i + 1
+' Marshal.DestroyStructure(CType(ptr, IntPtr),
+' GetType(MapiRecipDesc))
+' ptr += size
+' Next
+' Marshal.FreeHGlobal(msg.recips)
+' End If
+
+' If msg.files <> IntPtr.Zero Then
+' size = Marshal.SizeOf(GetType(MapiFileDesc))
+
+' ptr = CType(msg.files, Integer)
+' Dim i As Integer
+' For i = 0 To msg.fileCount - 1 Step i + 1
+' Marshal.DestroyStructure(CType(ptr, IntPtr),
+' GetType(MapiFileDesc))
+' ptr += size
+' Next
+' Marshal.FreeHGlobal(msg.files)
+' End If
+
+' m_recipients.Clear()
+' m_attachments.Clear()
+' m_lastError = 0
+' End Sub
+
+' Public Function GetLastError() As String
+' If m_lastError <= 26 Then
+' Return errors(m_lastError)
+' End If
+' Return "MAPI error [" + m_lastError.ToString() + "]"
+' End Function
+
+' ReadOnly errors() As String = New String() {"OK [0]", "User abort [1]",
+' "General MAPI failure [2]", "MAPI login failure [3]",
+' "Disk full [4]", "Insufficient memory [5]", "Access denied [6]",
+' "-unknown- [7]", "Too many sessions [8]",
+' "Too many files were specified [9]",
+' "Too many recipients were specified [10]",
+' "A specified attachment was not found [11]",
+' "Attachment open failure [12]", "Attachment write failure [13]",
+' "Unknown recipient [14]", "Bad recipient type [15]",
+' "No messages [16]", "Invalid message [17]", "Text too large [18]",
+' "Invalid session [19]", "Type not supported [20]",
+' "A recipient was specified ambiguously [21]",
+' "Message in use [22]", "Network failure [23]",
+' "Invalid edit fields [24]", "Invalid recipients [25]",
+' "Not supported [26]"}
+
+' Dim m_recipients As New List(Of MapiRecipDesc)
+' Dim m_attachments As New List(Of String)
+' Dim m_lastError As Integer = 0
+
+' Private Const MAPI_LOGON_UI As Integer = &H1
+' Private Const MAPI_DIALOG As Integer = &H8
+' Private Const maxAttachments As Integer = 20
+
+' Enum howTo
+' MAPI_ORIG = 0
+' MAPI_TO
+' MAPI_CC
+' MAPI_BCC
+' End Enum
+
+' End Class
+
+'
+' Public Class MapiMessage
+' Public reserved As Integer
+' Public subject As String
+' Public noteText As String
+' Public messageType As String
+' Public dateReceived As String
+' Public conversationID As String
+' Public flags As Integer
+' Public originator As IntPtr
+' Public recipCount As Integer
+' Public recips As IntPtr
+' Public fileCount As Integer
+' Public files As IntPtr
+' End Class
+
+'
+' Public Class MapiFileDesc
+' Public reserved As Integer
+' Public flags As Integer
+' Public position As Integer
+' Public path As String
+' Public name As String
+' Public type As IntPtr
+' End Class
+
+'
+' Public Class MapiRecipDesc
+' Public reserved As Integer
+' Public recipClass As Integer
+' Public name As String
+' Public address As String
+' Public eIDSize As Integer
+' Public enTryID As IntPtr
+' End Class
+'End Namespace
+
+
+Imports System
+Imports System.IO
+Imports System.Net.Mail
+Imports System.Reflection
+Imports System.Runtime.CompilerServices
+
+Namespace Fsolutions.Fbase.Common.Mail
+ Module MailUtility
+
+ Sub Save(ByVal message As MailMessage, ByVal filename As String, ByVal Optional addUnsentHeader As Boolean = True)
+ Using filestream = File.Open(filename, FileMode.Create)
+
+ If addUnsentHeader Then
+ Dim binaryWriter = New BinaryWriter(filestream)
+ binaryWriter.Write(System.Text.Encoding.UTF8.GetBytes("X-Unsent: 1" & Environment.NewLine))
+ End If
+
+ Dim assembly = GetType(SmtpClient).Assembly
+ Dim mailWriterType = assembly.[GetType]("System.Net.Mail.MailWriter")
+ Dim mailWriterContructor = mailWriterType.GetConstructor(BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, {GetType(Stream)}, Nothing)
+ Dim mailWriter = mailWriterContructor.Invoke(New Object() {filestream})
+ Dim sendMethod = GetType(MailMessage).GetMethod("Send", BindingFlags.Instance Or BindingFlags.NonPublic)
+ sendMethod.Invoke(message, BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, New Object() {mailWriter, True, True}, Nothing)
+ Dim closeMethod = mailWriter.[GetType]().GetMethod("Close", BindingFlags.Instance Or BindingFlags.NonPublic)
+ closeMethod.Invoke(mailWriter, BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, New Object() {}, Nothing)
+ End Using
+ End Sub
+ End Module
+End Namespace
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendVorkosten.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendVorkosten.vb
new file mode 100644
index 0000000..9d9b017
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendVorkosten.vb
@@ -0,0 +1,129 @@
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+
+Public Class cSendVorkosten
+ Property sndvk_id As Integer
+ Property sndvk_sendId As Object = Nothing
+ Property sndvk_LeistungsNr As Object = Nothing
+ Property sndvk_LeistungsBez As Object = Nothing
+ Property sndvk_Preis As Object = Nothing
+ Property sndvk_Firma As Object = Nothing
+
+
+ Public hasEntry = False
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+ Sub New(sndvk_id)
+ Me.sndvk_id = sndvk_id
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_id", sndvk_id,, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_sendId", sndvk_sendId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_LeistungsNr", sndvk_LeistungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_LeistungsBez", sndvk_LeistungsBez))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_Preis", sndvk_Preis))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_Firma", sndvk_Firma))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblSendVorkosten WHERE sndvk_id=@sndvk_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "AVISO", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ hasEntry = False
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
+ Using cmd As New SqlCommand("SELECT * FROM tblSendVorkosten WHERE sndvk_id=@sndvk_id ", conn)
+ cmd.Parameters.AddWithValue("@sndvk_id", sndvk_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblSendVorkosten] SET " & str & " WHERE sndvk_id=@sndvk_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblSendVorkosten (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function INSERT() As Boolean
+ Try
+ Return SQL.doSQLVarList(getInsertCmd, "AVISO", , getParameterList)
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return False
+ End Function
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendungen.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendungen.vb
new file mode 100644
index 0000000..575cb0f
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSendungen.vb
@@ -0,0 +1,871 @@
+Imports System.Data.SqlClient
+
+Public Class cSendungen
+ Implements ICloneable
+ Property tblSnd_SendungID As Integer = Nothing
+ Property tblSnd_PosUnterNr As Integer = Nothing
+ Property tblSnd_AvisoID As Integer = Nothing
+ Property tblSnd_Abfertigungsart_ID As Integer = Nothing
+ Property tblSnd_EmpfaengerKdNr As Integer = Nothing
+ Property tblSnd_Empfaenger As String = Nothing
+ Property tblSnd_Ansprechperson As String = Nothing
+ Property tblSnd_Bonitaet As String = Nothing
+ Property tblSnd_Anmerkung As String = Nothing
+ Property tblSnd_AuftraggeberKdNr As Integer = Nothing
+ Property tblSnd_Auftraggeber As String = Nothing
+ Property tblSnd_SpeditionsbuchEingetragen As Boolean = False
+ Property FilialenNr As Integer = Nothing
+ Property AbfertigungsNr As Integer = Nothing
+ Property UnterNr As Integer = Nothing
+ Property tblSnd_Colli As String = Nothing
+ Property tblSnd_Gewicht As String = Nothing
+ Property tblSnd_Warenbezeichnung As String = Nothing
+ Property tblSnd_SachbearbeiterId As Integer = Nothing
+ Property tblSnd_AbsenderKdNr As Integer = Nothing
+ Property tblSnd_Absender As String = Nothing
+ Property tblSnd_AngabeZolltarif As Integer = Nothing
+ Property tblSnd_inBearbeitung As Boolean = False
+ Property tblSnd_Bearbeitung_MaId As Integer = Nothing
+ Property tblSnd_aufschub As String = Nothing
+ Property tblSnd_anzahlHandling As Object = Nothing
+ Property tblSnd_anzahlPOS As Object = Nothing
+ ' Property tblSnd_bar As Object = Nothing
+ ' Property tblSnd_barBeleg As Object = Nothing
+ ' Property tblSnd_betrag As Object = Nothing
+ Property tblSnd_Fremdspedition As Boolean = False
+ Property tblSnd_FremdspeditionText As String = ""
+ Property tblSnd_QS_MA As Object = Nothing
+ Property tblSnd_KdAuftragsNr As Object = ""
+ Property tblSnd_NCTSVerzollungsadresse As Object = ""
+ Property tblSnd_NCTSVerzollungsadresseKdNr As Object = ""
+
+ Property NCTS_Verzollungsadresse_Strasse As Object = ""
+ Property NCTS_Verzollungsadresse_PLZ As Object = ""
+ Property NCTS_Verzollungsadresse_Ort As Object = ""
+ Property NCTS_Verzollungsadresse_Land As Object = ""
+ Property NCTS_Verzollungsadresse_EORI As Object = ""
+ Property NCTS_Verzollungsadresse_EORI_NL As Object = ""
+ Property NCTS_ngaId As Object = Nothing
+
+
+ Property NCTS_Verzollungsadresse_Ansprechpartner As Object = ""
+ Property NCTS_Bestimmungszollstelle As Object = ""
+
+ Property tblSnd_Endempfaenger As Object = ""
+ Property tblSnd_EndempfaengerKdNr As Object = ""
+ Property tblSnd_EUFiskalEmpfaenger As Object = ""
+ Property tblSnd_EUFiskalEmpfaengerKdNr As Object = ""
+ Property tblSnd_BARzuKassieren As Object = Nothing
+
+ Property tblSnd_KdAuftragsNrAvisierer As Object = Nothing
+ Property tblSnd_KdAuftragsNrEmpfaenger As Object = Nothing
+ Property tblSnd_KdAuftragsNrFrachtfuehrer As Object = Nothing
+ Property tblSnd_AnmerkungDispoliste As Object = Nothing
+ Property tblSnd_ATANr As Object = ""
+ Property tblSnd_ATCMRN_Fremd As Object = ""
+ Property tblSnd_Warenwert As Object = Nothing
+ Property tblSnd_WarenwertWaehrung As Object = Nothing
+
+
+ Property tblSnd_Status As Integer = 0
+ Property tblSnd_Vorbereitet As Object = Nothing
+ Property tblSnd_Vorgeschrieben As Object = Nothing
+
+ Property LetzterMitarbeiter As Object = Nothing
+ Property LetzterMitarbeiterId As Object = Nothing
+ Property tblSnd_VG_MA As Object = Nothing
+ Property tblSnd_NCTSaufDISPO As Boolean = True
+
+ Property tblSnd_AvisiererKdNr As Object = Nothing
+ Property tblSnd_Avisierer As Object = Nothing
+ Property tblSnd_FrachtfuehrerKdNr As Object = Nothing
+ Property tblSnd_Frachtfuehrer As Object = Nothing
+ Property tblSnd_DakosyRef As Object = Nothing
+ Property tblSnd_TeamId As Object = Nothing
+ Property tblSnd_Fakturiert As Object = Nothing
+ Property VORSYSTEM As Object = Nothing
+ Property VORSYSTEM_Id As Object = Nothing
+ Property tblSnd_FilialeAbklaerung As Object = Nothing
+
+ Property tblSnd_AbklaerungTR As Object = Nothing
+ Property tblSnd_AbklaerungTR_MA As Object = Nothing
+
+ Property tblSnd_ATB_Nr As Object = Nothing
+ Property tblSnd_ATB_T1 As Object = Nothing
+
+ Property tblSnd_Vorpapier As Object = Nothing
+ Property tblSnd_Vorpapier_Pos As Object = Nothing
+ Property tblSnd_Vorpapier2 As Object = Nothing
+ Property tblSnd_Vorpapier2_Pos As Object = Nothing
+ Property tblSnd_Vorpapier3 As Object = Nothing
+ Property tblSnd_Vorpapier3_Pos As Object = Nothing
+ Property tblSnd_Frachtkosten As Object = Nothing
+
+
+ Public saveSachbearbeiter As Boolean = False
+
+ Property ABRECHNUNG As New List(Of cSendungAbrechnung)
+ Property HANDLING As New List(Of cSendHandling)
+ Property VORKOSTEN As New List(Of cSendVorkosten)
+
+ 'Dim cDatenbank As New cDatenbank
+
+ Public Function Clone() As Object Implements ICloneable.Clone
+ Return DirectCast(MemberwiseClone(), cSendungen)
+ End Function
+
+
+ Public Function CLEAR_ABRECHNUNG_NotLeistungen() As Boolean
+
+ ABRECHNUNG.RemoveAll(Function(x) x.sndabr_abrArt = "ZOLL")
+ ABRECHNUNG.RemoveAll(Function(x) x.sndabr_abrArt = "EUST")
+ ABRECHNUNG.RemoveAll(Function(x) x.sndabr_abrArt = "CLEARING")
+ ABRECHNUNG.RemoveAll(Function(x) x.sndabr_abrArt = "ABFKOST")
+
+ Return True
+
+ End Function
+
+
+ Dim SQL As New SQL
+
+ Shared Function VP_Enum(ByVal SENDUNG_LIST As List(Of cSendungen)) As List(Of String)
+ Dim list = New List(Of String)
+ 'If SENDUNG_LIST IsNot Nothing Then
+ ' For Each s In SENDUNG_LIST
+ ' If If(s.tblSnd_Vorpapier, "") <> "" Then
+ ' Dim found = False
+ ' For Each l In list
+ ' If l = s.tblSnd_Vorpapier Then found = True
+ ' Next
+ ' If found = False Then list.Add(s.tblSnd_Vorpapier)
+ ' End If
+ ' Next
+ 'End If
+
+ If SENDUNG_LIST IsNot Nothing Then
+ For Each s In SENDUNG_LIST
+ If If(s.tblSnd_Vorpapier, "") <> "" Then
+ Dim found = False
+ For Each l In list
+ If l = s.tblSnd_Vorpapier Then found = True
+ Next
+ If found = False Then list.Add(s.tblSnd_Vorpapier)
+ End If
+ If If(s.tblSnd_Vorpapier2, "") <> "" Then
+ Dim found = False
+ For Each l In list
+ If l = s.tblSnd_Vorpapier2 Then found = True
+ Next
+ If found = False Then list.Add(s.tblSnd_Vorpapier2)
+ End If
+ If If(s.tblSnd_Vorpapier3, "") <> "" Then
+ Dim found = False
+ For Each l In list
+ If l = s.tblSnd_Vorpapier3 Then found = True
+ Next
+ If found = False Then list.Add(s.tblSnd_Vorpapier3)
+ End If
+ Next
+ End If
+
+ Return list
+ End Function
+
+ Shared Sub LOAD_LIST(ByRef SENDUNG_LIST As List(Of cSendungen), ByRef CURRENT_INDEX As Integer, AvisoId As Integer, Optional allowchangeCurrIndex As Boolean = True)
+ If SENDUNG_LIST Is Nothing Then SENDUNG_LIST = New List(Of cSendungen)
+ SENDUNG_LIST.Clear()
+ Dim SQL As New SQL
+ For Each r In SQL.loadDgvBySql("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AvisoId & " ORDER BY tblSnd_PosUnterNr,tblSnd_SendungID", "AVISO").Rows
+ SENDUNG_LIST.Add(New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID")))
+ Next
+ If allowchangeCurrIndex Then CURRENT_INDEX = IIf(SENDUNG_LIST.Count > 0, 0, -1)
+ End Sub
+ Shared Sub LOAD_LIST_VP(ByRef SENDUNG_LIST As List(Of cSendungen), ByRef CURRENT_INDEX As Integer, AvisoId As Integer, Vorpapier As String, Optional allowchangeCurrIndex As Boolean = True)
+ If SENDUNG_LIST Is Nothing Then SENDUNG_LIST = New List(Of cSendungen)
+ SENDUNG_LIST.Clear()
+ Dim SQL As New SQL
+ For Each r In SQL.loadDgvBySql("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AvisoId & " AND (tblSnd_Vorpapier='" & Vorpapier & "' OR tblSnd_Vorpapier2='" & Vorpapier & "' OR tblSnd_Vorpapier3='" & Vorpapier & "' ) ORDER BY tblSnd_PosUnterNr,tblSnd_SendungID", "AVISO").Rows
+ SENDUNG_LIST.Add(New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID")))
+ Next
+ If allowchangeCurrIndex Then CURRENT_INDEX = IIf(SENDUNG_LIST.Count > 0, 0, -1)
+ End Sub
+
+ Shared Sub LOAD_LIST_VP_EMPTY(ByRef SENDUNG_LIST As List(Of cSendungen), ByRef CURRENT_INDEX As Integer, AvisoId As Integer, Optional allowchangeCurrIndex As Boolean = True)
+ If SENDUNG_LIST Is Nothing Then SENDUNG_LIST = New List(Of cSendungen)
+ SENDUNG_LIST.Clear()
+ Dim SQL As New SQL
+ For Each r In SQL.loadDgvBySql("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AvisoId & " AND (isnull(tblSnd_Vorpapier,'')='' AND isnull(tblSnd_Vorpapier2,'')='' AND isnull(tblSnd_Vorpapier3,'')='' ) ORDER BY tblSnd_PosUnterNr,tblSnd_SendungID", "AVISO").Rows
+ SENDUNG_LIST.Add(New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID")))
+ Next
+ If allowchangeCurrIndex Then CURRENT_INDEX = IIf(SENDUNG_LIST.Count > 0, 0, -1)
+ End Sub
+
+ Public Sub New(tblSnd_AvisoID, currentHisId, Optional FilialenNr = Nothing, Optional AbfertigungsNr = Nothing, Optional UnterNr = Nothing, Optional tblSnd_anzahlHandling = Nothing)
+ Me.tblSnd_SendungID = -1
+ Me.tblSnd_AvisoID = tblSnd_AvisoID
+ Me.tblSnd_PosUnterNr = currentHisId
+ ' row.Item("tblSnd_Empfaenger") = ""
+ ' row.Item("tblSnd_Ansprechperson") = ""
+ 'row.Item("tblSnd_Auftraggeber") = ""
+ 'row.Item("tblSnd_Absender") = ""
+ Me.tblSnd_Anmerkung = ""
+ Me.tblSnd_Gewicht = ""
+ Me.tblSnd_Colli = ""
+
+ 'row.Item("tblSnd_SpeditionsbuchEingetragen") = False
+ Me.tblSnd_AngabeZolltarif = 2
+ Me.tblSnd_inBearbeitung = False
+ Me.tblSnd_aufschub = ""
+
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "QS" Then
+ Me.tblSnd_QS_MA = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ End If
+
+ Me.LetzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
+ Me.LetzterMitarbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+
+ If FilialenNr IsNot Nothing Then Me.FilialenNr = FilialenNr
+ If AbfertigungsNr IsNot Nothing Then Me.AbfertigungsNr = AbfertigungsNr
+ If UnterNr IsNot Nothing Then Me.UnterNr = UnterNr
+ If tblSnd_anzahlHandling IsNot Nothing Then Me.tblSnd_anzahlHandling = tblSnd_anzahlHandling
+ End Sub
+
+
+ Public Sub New(tblSnd_SendungID)
+ LOAD(tblSnd_SendungID)
+ End Sub
+
+
+
+ Public Function SAVE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ 'WITH(updlock,serializable)
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM [tblSendungen] WHERE tblSnd_SendungID=@tblSnd_SendungID) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+ ' MsgBox(sqlstr)
+ Dim id = SQL.doSQLVarListID(tblSnd_SendungID, sqlstr, "AVISO", , list)
+ If id > 0 Then
+ tblSnd_SendungID = id : Return True
+ End If
+ Return False
+ End Function
+
+ 'WITH(updlock,serializable)
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblSendungen] WHERE tblSnd_SendungID=" & Me.tblSnd_SendungID
+ Return SQL.doSQL(sqlstr, "AVISO")
+ End Function
+
+ Public Shared Function LOADByFilialenNrAbfertigungsNr(FilialenNr As Integer, AbfertigungsNr As Integer) As cSendungen
+ Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
+ Dim tblSnd_SendungID = sql.getValueTxtBySql("SELECT TOP 1 tblSnd_SendungID FROM tblSendungen WHERE FilialenNr='" & FilialenNr & "' AND AbfertigungsNr='" & AbfertigungsNr & "'", "AVISO")
+ If tblSnd_SendungID <> "" Then
+ Return New cSendungen(tblSnd_SendungID)
+ Else
+ Return Nothing
+ End If
+ End Function
+
+ Public Sub LOAD(tblSnd_SendungID As Integer)
+ Try
+ Dim conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
+ Using cmd As New SqlCommand("SELECT * FROM tblSendungen WHERE tblSnd_SendungID=@tblSnd_SendungID ", conn)
+ cmd.Parameters.AddWithValue("@tblSnd_SendungID", tblSnd_SendungID)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ Me.tblSnd_SendungID = SQL.checkNullReturnValue(dr.Item("tblSnd_SendungID"), Nothing)
+ Me.tblSnd_PosUnterNr = SQL.checkNullReturnValue(dr.Item("tblSnd_PosUnterNr"), Nothing)
+ Me.tblSnd_AvisoID = SQL.checkNullReturnValue(dr.Item("tblSnd_AvisoID"), Nothing)
+ Me.tblSnd_Abfertigungsart_ID = SQL.checkNullReturnValue(dr.Item("tblSnd_Abfertigungsart_ID"), Nothing)
+ Me.tblSnd_EmpfaengerKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_EmpfaengerKdNr"), Nothing)
+ Me.tblSnd_Empfaenger = SQL.checkNullReturnValue(dr.Item("tblSnd_Empfaenger"), Nothing)
+ Me.tblSnd_Ansprechperson = SQL.checkNullReturnValue(dr.Item("tblSnd_Ansprechperson"), Nothing)
+ Me.tblSnd_Bonitaet = SQL.checkNullReturnValue(dr.Item("tblSnd_Bonitaet"), Nothing)
+ Me.tblSnd_Anmerkung = SQL.checkNullReturnValue(dr.Item("tblSnd_Anmerkung"), Nothing)
+ Me.tblSnd_AuftraggeberKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_AuftraggeberKdNr"), Nothing)
+ Me.tblSnd_Auftraggeber = SQL.checkNullReturnValue(dr.Item("tblSnd_Auftraggeber"), Nothing)
+ Me.tblSnd_SpeditionsbuchEingetragen = SQL.checkNullReturnValue(dr.Item("tblSnd_SpeditionsbuchEingetragen"), Nothing)
+ Me.FilialenNr = SQL.checkNullReturnValue(dr.Item("FilialenNr"), Nothing)
+ Me.AbfertigungsNr = SQL.checkNullReturnValue(dr.Item("AbfertigungsNr"), Nothing)
+ Me.UnterNr = SQL.checkNullReturnValue(dr.Item("UnterNr"), Nothing)
+ Me.tblSnd_Colli = SQL.checkNullReturnValue(dr.Item("tblSnd_Colli"), Nothing)
+ Me.tblSnd_Gewicht = SQL.checkNullReturnValue(dr.Item("tblSnd_Gewicht"), Nothing)
+ Me.tblSnd_Warenbezeichnung = SQL.checkNullReturnValue(dr.Item("tblSnd_Warenbezeichnung"), Nothing)
+ Me.tblSnd_SachbearbeiterId = SQL.checkNullReturnValue(dr.Item("tblSnd_SachbearbeiterId"), Nothing)
+ Me.tblSnd_AbsenderKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_AbsenderKdNr"), Nothing)
+ Me.tblSnd_Absender = SQL.checkNullReturnValue(dr.Item("tblSnd_Absender"), Nothing)
+ Me.tblSnd_AngabeZolltarif = SQL.checkNullReturnValue(dr.Item("tblSnd_AngabeZolltarif"), Nothing)
+ Me.tblSnd_inBearbeitung = SQL.checkNullReturnValue(dr.Item("tblSnd_inBearbeitung"), Nothing)
+ Me.tblSnd_Bearbeitung_MaId = SQL.checkNullReturnValue(dr.Item("tblSnd_Bearbeitung_MaId"), Nothing)
+ Me.tblSnd_aufschub = SQL.checkNullReturnValue(dr.Item("tblSnd_aufschub"), Nothing)
+ Me.tblSnd_anzahlHandling = SQL.checkNullReturnValue(dr.Item("tblSnd_anzahlHandling"), Nothing)
+ Me.tblSnd_anzahlPOS = SQL.checkNullReturnValue(dr.Item("tblSnd_anzahlPOS"), Nothing)
+ ' Me.tblSnd_bar = SQL.checkNullReturnValue(dr.Item("tblSnd_bar"), Nothing)
+ ' Me.tblSnd_barBeleg = SQL.checkNullReturnValue(dr.Item("tblSnd_barBeleg"), Nothing)
+ ' Me.tblSnd_betrag = SQL.checkNullReturnValue(dr.Item("tblSnd_betrag"), Nothing)
+ Me.tblSnd_Fremdspedition = SQL.checkNullReturnValue(dr.Item("tblSnd_Fremdspedition"), False)
+ Me.tblSnd_FremdspeditionText = SQL.checkNullReturnValue(dr.Item("tblSnd_FremdspeditionText"), "")
+ Me.tblSnd_QS_MA = SQL.checkNullReturnValue(dr.Item("tblSnd_QS_MA"), Nothing)
+ Me.tblSnd_KdAuftragsNr = SQL.checkNullReturnValue(dr.Item("tblSnd_KdAuftragsNr"), "")
+ Me.tblSnd_NCTSVerzollungsadresse = SQL.checkNullReturnValue(dr.Item("tblSnd_NCTSVerzollungsadresse"), "")
+ Me.tblSnd_NCTSVerzollungsadresseKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_NCTSVerzollungsadresseKdNr"), Nothing)
+
+
+ Me.NCTS_Verzollungsadresse_Strasse = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse_Strasse"), Nothing)
+ Me.NCTS_Verzollungsadresse_PLZ = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse_PLZ"), Nothing)
+ Me.NCTS_Verzollungsadresse_Ort = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse_Ort"), Nothing)
+ Me.NCTS_Verzollungsadresse_Land = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse_Land"), Nothing)
+ Me.NCTS_Verzollungsadresse_EORI = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse_EORI"), Nothing)
+ Me.NCTS_Verzollungsadresse_EORI_NL = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse_EORI_NL"), Nothing)
+ Me.NCTS_ngaId = SQL.checkNullReturnValue(dr.Item("NCTS_ngaId"), Nothing)
+
+ Me.NCTS_Bestimmungszollstelle = SQL.checkNullReturnValue(dr.Item("NCTS_Bestimmungszollstelle"), Nothing)
+
+ Me.tblSnd_Endempfaenger = SQL.checkNullReturnValue(dr.Item("tblSnd_Endempfaenger"), Nothing)
+ Me.tblSnd_EndempfaengerKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_EndempfaengerKdNr"), Nothing)
+ Me.tblSnd_EUFiskalEmpfaenger = SQL.checkNullReturnValue(dr.Item("tblSnd_EUFiskalEmpfaenger"), Nothing)
+ Me.tblSnd_EUFiskalEmpfaengerKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_EUFiskalEmpfaengerKdNr"), Nothing)
+ Me.tblSnd_BARzuKassieren = SQL.checkNullReturnValue(dr.Item("tblSnd_BARzuKassieren"), Nothing)
+
+
+ Me.tblSnd_KdAuftragsNrAvisierer = SQL.checkNullReturnValue(dr.Item("tblSnd_KdAuftragsNrAvisierer"), Nothing)
+ Me.tblSnd_KdAuftragsNrEmpfaenger = SQL.checkNullReturnValue(dr.Item("tblSnd_KdAuftragsNrEmpfaenger"), Nothing)
+ Me.tblSnd_KdAuftragsNrFrachtfuehrer = SQL.checkNullReturnValue(dr.Item("tblSnd_KdAuftragsNrFrachtfuehrer"), Nothing)
+ Me.tblSnd_AnmerkungDispoliste = SQL.checkNullReturnValue(dr.Item("tblSnd_AnmerkungDispoliste"), Nothing)
+ Me.tblSnd_ATANr = SQL.checkNullReturnValue(dr.Item("tblSnd_ATANr"), Nothing)
+ Me.tblSnd_ATCMRN_Fremd = SQL.checkNullReturnValue(dr.Item("tblSnd_ATCMRN_Fremd"), Nothing)
+ Me.tblSnd_Warenwert = SQL.checkNullReturnValue(dr.Item("tblSnd_Warenwert"), Nothing)
+ Me.tblSnd_WarenwertWaehrung = SQL.checkNullReturnValue(dr.Item("tblSnd_WarenwertWaehrung"), Nothing)
+
+ Me.tblSnd_Status = SQL.checkNullReturnValue(dr.Item("tblSnd_Status"), Nothing)
+ Me.tblSnd_Vorbereitet = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorbereitet"), Nothing)
+ Me.tblSnd_Vorgeschrieben = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorgeschrieben"), Nothing)
+
+ Me.LetzterMitarbeiter = SQL.checkNullReturnValue(dr.Item("LetzterMitarbeiter"), Nothing)
+ Me.LetzterMitarbeiterId = SQL.checkNullReturnValue(dr.Item("LetzterMitarbeiterId"), Nothing)
+ Me.tblSnd_VG_MA = SQL.checkNullReturnValue(dr.Item("tblSnd_VG_MA"), Nothing)
+ Me.tblSnd_NCTSaufDISPO = SQL.checkNullReturnValue(dr.Item("tblSnd_NCTSaufDISPO"), Nothing)
+
+ Me.tblSnd_AvisiererKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_AvisiererKdNr"), Nothing)
+ Me.tblSnd_Avisierer = SQL.checkNullReturnValue(dr.Item("tblSnd_Avisierer"), Nothing)
+ Me.tblSnd_FrachtfuehrerKdNr = SQL.checkNullReturnValue(dr.Item("tblSnd_FrachtfuehrerKdNr"), Nothing)
+ Me.tblSnd_Frachtfuehrer = SQL.checkNullReturnValue(dr.Item("tblSnd_Frachtfuehrer"), Nothing)
+ Me.tblSnd_DakosyRef = SQL.checkNullReturnValue(dr.Item("tblSnd_DakosyRef"), Nothing)
+ Me.tblSnd_TeamId = SQL.checkNullReturnValue(dr.Item("tblSnd_TeamId"), Nothing)
+ Me.tblSnd_Fakturiert = SQL.checkNullReturnValue(dr.Item("tblSnd_Fakturiert"), Nothing)
+ Me.tblSnd_FilialeAbklaerung = SQL.checkNullReturnValue(dr.Item("tblSnd_FilialeAbklaerung"), Nothing)
+ Me.VORSYSTEM = SQL.checkNullReturnValue(dr.Item("VORSYSTEM"), Nothing)
+ Me.VORSYSTEM_Id = SQL.checkNullReturnValue(dr.Item("VORSYSTEM_Id"), Nothing)
+ Me.tblSnd_AbklaerungTR = SQL.checkNullReturnValue(dr.Item("tblSnd_AbklaerungTR"), Nothing)
+ Me.tblSnd_AbklaerungTR_MA = SQL.checkNullReturnValue(dr.Item("tblSnd_AbklaerungTR_MA"), Nothing)
+ Me.tblSnd_ATB_Nr = SQL.checkNullReturnValue(dr.Item("tblSnd_ATB_Nr"), Nothing)
+ Me.tblSnd_ATB_T1 = SQL.checkNullReturnValue(dr.Item("tblSnd_ATB_T1"), Nothing)
+ Me.tblSnd_Vorpapier = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier"), Nothing)
+ Me.tblSnd_Vorpapier_Pos = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier_Pos"), Nothing)
+ Me.tblSnd_Vorpapier2 = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier2"), Nothing)
+ Me.tblSnd_Vorpapier2_Pos = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier2_Pos"), Nothing)
+ Me.tblSnd_Vorpapier3 = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier3"), Nothing)
+ Me.tblSnd_Vorpapier3_Pos = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier3_Pos"), Nothing)
+ Me.tblSnd_Frachtkosten = SQL.checkNullReturnValue(dr.Item("tblSnd_Frachtkosten"), Nothing)
+
+ End If
+
+ dr.Close()
+
+ ' End Using
+ conn.Close()
+ End Using
+ 'Return Nothing
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ ' Return Nothing
+ End Sub
+
+ Public Sub LOAD_ABRECHNUNG()
+ Try
+ Me.ABRECHNUNG.Clear()
+ Dim conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
+ Using cmd2 As New SqlCommand("SELECT * FROM tblSendAbrechnung WHERE sndabr_sendId=@sndabr_sendId and sndabr_sendId>0", conn)
+ cmd2.Parameters.AddWithValue("@sndabr_sendId", Me.tblSnd_SendungID)
+ Dim dr2 = cmd2.ExecuteReader()
+
+ While dr2.Read
+ Dim a As New cSendungAbrechnung(Me.tblSnd_SendungID)
+
+ a.sndabr_id = SQL.checkNullReturnValue(dr2.Item("sndabr_id"), Nothing)
+ 'a.sndabr_sendId = SQL.checkNullReturnValue(dr2.Item("sndabr_sendId"), Nothing)
+ a.sndabr_beteiligter = SQL.checkNullReturnValue(dr2.Item("sndabr_beteiligter"), Nothing)
+ a.sndabr_abrArt = SQL.checkNullReturnValue(dr2.Item("sndabr_abrArt"), Nothing)
+ a.sndabr_wert = SQL.checkNullReturnValue(dr2.Item("sndabr_wert"), Nothing)
+ a.sndabr_bezeichnung = SQL.checkNullReturnValue(dr2.Item("sndabr_bezeichnung"), Nothing)
+ a.sndabr_anzahl = SQL.checkNullReturnValue(dr2.Item("sndabr_anzahl"), Nothing)
+ a.sndabr_einzelPreis = SQL.checkNullReturnValue(dr2.Item("sndabr_einzelPreis"), Nothing)
+ a.sndabr_preis = SQL.checkNullReturnValue(dr2.Item("sndabr_preis"), Nothing)
+
+ Me.ABRECHNUNG.Add(a)
+ End While
+ dr2.Close()
+ End Using
+
+ conn.Close()
+ 'End Using
+ 'Return Nothing
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ ' Return Nothing
+ End Sub
+
+ Public Sub LOAD_HANDLING()
+ Try
+ Me.HANDLING.Clear()
+ Dim conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
+ Using cmd2 As New SqlCommand("SELECT * FROM tblSendhandling WHERE sndhdg_sendId=@sndhdg_sendId ", conn)
+ cmd2.Parameters.AddWithValue("@sndhdg_sendId", Me.tblSnd_SendungID)
+ Dim dr2 = cmd2.ExecuteReader()
+
+ While dr2.Read
+ Dim a As New cSendHandling(Me.tblSnd_SendungID)
+
+ a.sndhdg_id = SQL.checkNullReturnValue(dr2.Item("sndhdg_id"), Nothing)
+ 'a.sndhdg_sendId = SQL.checkNullReturnValue(dr2.Item("sndhdg_sendId"), Nothing)
+ a.sndhdg_abrArt = SQL.checkNullReturnValue(dr2.Item("sndhdg_abrArt"), Nothing)
+ a.sndhdg_nr = SQL.checkNullReturnValue(dr2.Item("sndhdg_nr"), Nothing)
+
+ a.sndhdg_colli = SQL.checkNullReturnValue(dr2.Item("sndhdg_colli"), 0)
+ a.sndhdg_gewicht = SQL.checkNullReturnValue(dr2.Item("sndhdg_gewicht"), 0)
+ Me.HANDLING.Add(a)
+ End While
+ dr2.Close()
+ End Using
+
+ conn.Close()
+ 'End Using
+ 'Return Nothing
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ ' Return Nothing
+ End Sub
+
+ Public Sub LOAD_VORKOSTEN()
+ Try
+ Me.VORKOSTEN.Clear()
+ Dim conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
+ Using cmd2 As New SqlCommand("SELECT * FROM tblSendVorkosten WHERE sndvk_sendId=@sndvk_sendId ", conn)
+ cmd2.Parameters.AddWithValue("@sndvk_sendId", Me.tblSnd_SendungID)
+ Dim dr2 = cmd2.ExecuteReader()
+
+ While dr2.Read
+ Dim a As New cSendVorkosten()
+
+ a.sndvk_LeistungsNr = SQL.checkNullReturnValue(dr2.Item("sndvk_LeistungsNr"), Nothing)
+ a.sndvk_sendId = SQL.checkNullReturnValue(dr2.Item("sndvk_sendId"), Nothing)
+ a.sndvk_LeistungsBez = SQL.checkNullReturnValue(dr2.Item("sndvk_LeistungsBez"), Nothing)
+ a.sndvk_Firma = SQL.checkNullReturnValue(dr2.Item("sndvk_Firma"), Nothing)
+
+ a.sndvk_Preis = SQL.checkNullReturnValue(dr2.Item("sndvk_Preis"), 0)
+
+ Me.VORKOSTEN.Add(a)
+ End While
+ dr2.Close()
+ End Using
+
+ conn.Close()
+ 'End Using
+ 'Return Nothing
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ ' Return Nothing
+ End Sub
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_SendungID", tblSnd_SendungID, , True)) 'UPDATE INSERT ISPRIMARY!
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_PosUnterNr", tblSnd_PosUnterNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AvisoID", tblSnd_AvisoID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Abfertigungsart_ID", tblSnd_Abfertigungsart_ID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_EmpfaengerKdNr", tblSnd_EmpfaengerKdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Empfaenger", tblSnd_Empfaenger))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Ansprechperson", tblSnd_Ansprechperson))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Bonitaet", tblSnd_Bonitaet))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Anmerkung", tblSnd_Anmerkung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AuftraggeberKdNr", tblSnd_AuftraggeberKdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Auftraggeber", tblSnd_Auftraggeber))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_SpeditionsbuchEingetragen", tblSnd_SpeditionsbuchEingetragen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Colli", tblSnd_Colli))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Gewicht", tblSnd_Gewicht))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Warenbezeichnung", tblSnd_Warenbezeichnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_SachbearbeiterId", tblSnd_SachbearbeiterId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbsenderKdNr", tblSnd_AbsenderKdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Absender", tblSnd_Absender))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AngabeZolltarif", tblSnd_AngabeZolltarif))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_inBearbeitung", tblSnd_inBearbeitung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Bearbeitung_MaId", tblSnd_Bearbeitung_MaId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_aufschub", tblSnd_aufschub))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_anzahlHandling", tblSnd_anzahlHandling))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_anzahlPOS", tblSnd_anzahlPOS))
+
+ ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_bar", tblSnd_bar))
+ ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_barBeleg", tblSnd_barBeleg))
+ ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_betrag", tblSnd_betrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Fremdspedition", tblSnd_Fremdspedition))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_FremdspeditionText", tblSnd_FremdspeditionText))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_KdAuftragsNr", tblSnd_KdAuftragsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_NCTSVerzollungsadresse", tblSnd_NCTSVerzollungsadresse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_NCTSVerzollungsadresseKdNr", tblSnd_NCTSVerzollungsadresseKdNr))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_Strasse", NCTS_Verzollungsadresse_Strasse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_PLZ", NCTS_Verzollungsadresse_PLZ))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_Ort", NCTS_Verzollungsadresse_Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_Land", NCTS_Verzollungsadresse_Land))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_EORI", NCTS_Verzollungsadresse_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_EORI_NL", NCTS_Verzollungsadresse_EORI_NL))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_ngaId", NCTS_ngaId))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse_Ansprechpartner", NCTS_Verzollungsadresse_Ansprechpartner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Bestimmungszollstelle", NCTS_Bestimmungszollstelle))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Endempfaenger", tblSnd_Endempfaenger))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_EndempfaengerKdNr", tblSnd_EndempfaengerKdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_EUFiskalEmpfaenger", tblSnd_EUFiskalEmpfaenger))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_EUFiskalEmpfaengerKdNr", tblSnd_EUFiskalEmpfaengerKdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_BARzuKassieren", tblSnd_BARzuKassieren))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_KdAuftragsNrAvisierer", tblSnd_KdAuftragsNrAvisierer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_KdAuftragsNrEmpfaenger", tblSnd_KdAuftragsNrEmpfaenger))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_KdAuftragsNrFrachtfuehrer", tblSnd_KdAuftragsNrFrachtfuehrer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AnmerkungDispoliste", tblSnd_AnmerkungDispoliste))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_ATANr", tblSnd_ATANr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_ATCMRN_Fremd", tblSnd_ATCMRN_Fremd))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Warenwert", tblSnd_Warenwert))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_WarenwertWaehrung", tblSnd_WarenwertWaehrung))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_QS_MA", tblSnd_QS_MA,,, Not saveSachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Status", tblSnd_Status,,, Not saveSachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorbereitet", tblSnd_Vorbereitet,,, Not saveSachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorgeschrieben", tblSnd_Vorgeschrieben,,, Not saveSachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_VG_MA", tblSnd_VG_MA,,, Not saveSachbearbeiter))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LetzterMitarbeiter", LetzterMitarbeiter,,, Not saveSachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LetzterMitarbeiterId", LetzterMitarbeiterId,,, Not saveSachbearbeiter))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_NCTSaufDISPO", tblSnd_NCTSaufDISPO))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AvisiererKdNr", tblSnd_AvisiererKdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Avisierer", tblSnd_Avisierer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_FrachtfuehrerKdNr", tblSnd_FrachtfuehrerKdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Frachtfuehrer", tblSnd_Frachtfuehrer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_DakosyRef", tblSnd_DakosyRef))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_TeamId", tblSnd_TeamId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Fakturiert", tblSnd_Fakturiert))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_FilialeAbklaerung", tblSnd_FilialeAbklaerung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VORSYSTEM", VORSYSTEM))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VORSYSTEM_Id", VORSYSTEM_Id))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbklaerungTR", tblSnd_AbklaerungTR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbklaerungTR_MA", tblSnd_AbklaerungTR_MA))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_ATB_Nr", tblSnd_ATB_Nr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_ATB_T1", tblSnd_ATB_T1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier", tblSnd_Vorpapier))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier_Pos", tblSnd_Vorpapier_Pos))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier2", tblSnd_Vorpapier2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier2_Pos", tblSnd_Vorpapier2_Pos))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier3", tblSnd_Vorpapier3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier3_Pos", tblSnd_Vorpapier3_Pos))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Frachtkosten", tblSnd_Frachtkosten))
+
+
+
+
+ Return list
+ End Function
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam And Not i.isonlyForLoad Then
+ str &= "[" & i.Text & "] = @" & i.Text.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblSendungen] SET " & str & " WHERE tblSnd_SendungID=@tblSnd_SendungID ")
+
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam And Not i.isonlyForLoad Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblSendungen (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ 'MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function SAVE_Abrechnung() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ SAVE_Abrechnung = False
+ Dim sqlstr = " DELETE FROM tblSendAbrechnung WHERE sndabr_sendId=" & Me.tblSnd_SendungID
+ If SQL.doSQL(sqlstr, "AVISO") Then
+ SAVE_Abrechnung = True
+ For Each a In ABRECHNUNG
+ If Not a.INSERT() Then SAVE_Abrechnung = False
+ Next
+ End If
+
+ ' Return b
+ End Function
+
+
+ Public Function SAVE_HANDLING() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ SAVE_HANDLING = False
+ Dim sqlstr = " DELETE FROM tblSendHandling WHERE sndhdg_sendId=" & Me.tblSnd_SendungID
+ ' MsgBox(sqlstr)
+ If SQL.doSQL(sqlstr, "AVISO") Then
+ SAVE_HANDLING = True
+ For Each a In HANDLING
+ If Not a.INSERT() Then SAVE_HANDLING = False
+ Next
+ End If
+
+ ' Return b
+ End Function
+
+
+ Public Function SAVE_VORKOSTEN() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ SAVE_VORKOSTEN = False
+ Dim sqlstr = " DELETE FROM tblSendVorkosten WHERE sndvk_sendId=" & Me.tblSnd_SendungID
+ ' MsgBox(sqlstr)
+ If SQL.doSQL(sqlstr, "AVISO") Then
+ SAVE_VORKOSTEN = True
+ For Each a In VORKOSTEN
+ a.sndvk_sendId = Me.tblSnd_SendungID
+ If Not a.INSERT() Then SAVE_VORKOSTEN = False
+ Next
+ End If
+
+ ' Return b
+ End Function
+
+
+ Public Shared Function SET_SpedbuchEntry(tblSnd_SendungID As Integer, tblSnd_SpeditionsbuchEingetragen As Boolean) As String
+ Try
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Return SQL.doSQL(" UPDATE [tblSendungen] SET tblSnd_SpeditionsbuchEingetragen=" & If(tblSnd_SpeditionsbuchEingetragen, 1, 0) & " WHERE tblSnd_SendungID=" & tblSnd_SendungID & " ", "AVISO")
+
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function getNCTSAdress(Optional htmlOptimized As Boolean = False, Optional ansprechpartner As Boolean = True, Optional Bestimmungszollstelle As Boolean = True) As String
+ Dim adresse = ""
+ adresse &= If(Me.tblSnd_NCTSVerzollungsadresse, "") & vbNewLine
+ adresse &= If(Me.NCTS_Verzollungsadresse_Strasse, "") & vbNewLine
+ adresse &= If(Me.NCTS_Verzollungsadresse_Land, "") & " " & If(Me.NCTS_Verzollungsadresse_PLZ, "") & " " & If(Me.NCTS_Verzollungsadresse_Ort, "") & vbNewLine
+
+ If ansprechpartner Then adresse &= If(Me.NCTS_Verzollungsadresse_Ansprechpartner, "") & vbNewLine
+
+ If Bestimmungszollstelle And If(Me.NCTS_Bestimmungszollstelle, "") <> "" Then
+ adresse &= SQL.getValueTxtBySql("SELECT basncd_dstnr +' - ' + [basncd_name] FROM basncd WHERE basncd_dstnr='" & Me.NCTS_Bestimmungszollstelle & "' ", "ATLAS")
+ End If
+
+ If htmlOptimized Then adresse = adresse.Trim.Replace(vbNewLine, "
")
+ Return adresse.Trim
+ End Function
+
+
+ Public Function getEmpfaengerAdress(Optional htmlOptimized As Boolean = False, Optional ansprechpartner As Boolean = False) As String
+ If tblSnd_EmpfaengerKdNr > 0 Then
+ Dim AD As New cAdressen(tblSnd_EmpfaengerKdNr)
+ Dim adresse = ""
+ adresse &= If(AD.Name_1, "") & If(AD.Name_2, "") & vbNewLine
+ If If(AD.Straße, "") <> "" Then adresse &= If(AD.Straße, "") & vbNewLine
+ adresse &= If(AD.LandKz, "") & " " & If(AD.PLZ, "").ToString.ToUpper.Replace("OHNE", "") & " " & If(AD.Ort, "")
+
+ If htmlOptimized Then adresse = adresse.Trim.Replace(vbNewLine, "
")
+ Return adresse.Trim
+ Else
+ Return tblSnd_Empfaenger
+ End If
+
+ End Function
+
+End Class
+
+Public Class cSendungAbrechnung
+ Property sndabr_id As Integer = Nothing
+ Property sndabr_sendId As Integer = Nothing
+ Property sndabr_beteiligter As String = Nothing
+ Property sndabr_abrArt As String = Nothing
+ Property sndabr_wert As String = Nothing
+ Property sndabr_bezeichnung As String = Nothing
+ Property sndabr_anzahl As Integer = Nothing
+ Property sndabr_einzelPreis As Object = Nothing
+ Property sndabr_preis As Object = Nothing
+
+ Dim SQL As New SQL
+
+ Sub New(sndabr_sendId)
+ Me.sndabr_sendId = sndabr_sendId
+ End Sub
+
+ Sub New(sndabr_sendId, sndabr_beteiligter, sndabr_abrArt, sndabr_wert)
+ Me.sndabr_sendId = sndabr_sendId
+ Me.sndabr_beteiligter = sndabr_beteiligter
+ Me.sndabr_abrArt = sndabr_abrArt
+ Me.sndabr_wert = sndabr_wert
+ End Sub
+
+ Sub New(sndabr_sendId, sndabr_beteiligter, sndabr_abrArt, sndabr_wert, sndabr_bezeichnung, sndabr_anzahl, sndabr_einzelPreis, sndabr_preis)
+ Me.sndabr_sendId = sndabr_sendId
+ Me.sndabr_beteiligter = sndabr_beteiligter
+ Me.sndabr_abrArt = sndabr_abrArt
+ Me.sndabr_wert = sndabr_wert
+ Me.sndabr_bezeichnung = sndabr_bezeichnung
+ Me.sndabr_anzahl = sndabr_anzahl
+ Me.sndabr_einzelPreis = sndabr_einzelPreis
+ Me.sndabr_preis = sndabr_preis
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_id", sndabr_id, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_sendId", sndabr_sendId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_beteiligter", sndabr_beteiligter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_abrArt", sndabr_abrArt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_wert", sndabr_wert))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_bezeichnung", sndabr_bezeichnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_anzahl", sndabr_anzahl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_einzelPreis", sndabr_einzelPreis))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndabr_preis", sndabr_preis))
+ Return list
+ End Function
+
+ Public Function INSERT() As Boolean
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return SQL.doSQLVarList(" INSERT INTO [tblSendAbrechnung] (" & str & ") VALUES(" & values & ") ", "AVISO", , list)
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return False
+ End Function
+
+
+
+End Class
+
+
+Public Class cSendHandling
+ Property sndhdg_id As Integer = Nothing
+ Property sndhdg_sendId As Integer = Nothing
+ Property sndhdg_abrArt As String = Nothing
+ Property sndhdg_nr As String = Nothing
+ Property sndhdg_colli As Double = 0
+ Property sndhdg_gewicht As Double = 0
+
+
+ Dim SQL As New SQL
+
+ Sub New(sndhdg_sendId)
+ Me.sndhdg_sendId = sndhdg_sendId
+ End Sub
+
+ Sub New(sndhdg_sendId, sndabr_beteiligter, sndabr_abrArt, sndabr_wert, sndhdg_colli, sndhdg_gewicht)
+ Me.sndhdg_sendId = sndhdg_sendId
+ Me.sndhdg_abrArt = sndhdg_abrArt
+ Me.sndhdg_nr = sndhdg_nr
+ Me.sndhdg_colli = sndhdg_colli
+ Me.sndhdg_gewicht = sndhdg_gewicht
+ End Sub
+
+ Sub New(sndhdg_sendId, sndhdg_abrArt, sndhdg_nr, sndhdg_colli, sndhdg_gewicht)
+ Me.sndhdg_sendId = sndhdg_sendId
+ Me.sndhdg_abrArt = sndhdg_abrArt
+ Me.sndhdg_nr = sndhdg_nr
+ Me.sndhdg_colli = sndhdg_colli
+ Me.sndhdg_gewicht = sndhdg_gewicht
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndhdg_id", sndhdg_id, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndhdg_sendId", sndhdg_sendId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndhdg_abrArt", sndhdg_abrArt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndhdg_nr", sndhdg_nr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndhdg_colli", sndhdg_colli))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndhdg_gewicht", sndhdg_gewicht))
+ Return list
+ End Function
+
+ Public Function INSERT() As Boolean
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return SQL.doSQLVarList(" INSERT INTO [tblSendHandling] (" & str & ") VALUES(" & values & ") ", "AVISO", , list)
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return False
+ End Function
+
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSession.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSession.vb
new file mode 100644
index 0000000..fa6d54b
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSession.vb
@@ -0,0 +1,204 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cSession
+
+ Property sess_Id As Integer
+ Property sess_system As String = ""
+ Property sess_progId As Object = Nothing
+ Property sess_progName As String = ""
+ Property sess_progVersion As String = ""
+
+ Property sess_maName As String = ""
+ Property sess_maId As Integer
+
+ Property sess_firma As String = ""
+ Property sess_niederlassung As String = ""
+ Property sess_ipAddress As String = ""
+ Property sess_PCName As String = ""
+ Property sess_PCUserName As String = ""
+
+
+ Property sess_login As Object = Nothing = Now
+ Property sess_logout As Object = Nothing
+ Property sess_lastRm As Object = Nothing
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+ Sub New(sess_Id)
+ Me.sess_Id = sess_Id
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_Id", sess_Id, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_system", sess_system))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_progId", sess_progId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_progName", sess_progName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_progVersion", sess_progVersion))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_firma", sess_firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_niederlassung", sess_niederlassung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_ipAddress", sess_ipAddress))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_PCName", sess_PCName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_PCUserName", sess_PCUserName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_maName", sess_maName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_maId", sess_maId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_login", sess_login))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_logout", sess_logout))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_lastRm", sess_lastRm))
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblSessions WITH(updlock,serializable) WHERE sess_Id=@sess_Id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Dim id = SQL.doSQLVarListID(sess_Id, sqlstr, "ADMIN", , list)
+ Me.sess_Id = id
+ Return id > 0
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblSessions WHERE sess_Id=@sess_Id ", conn)
+ cmd.Parameters.AddWithValue("@sess_Id", sess_Id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function UPDATE_TIME() As String
+ If sess_Id > 0 Then
+ Try
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_Id", sess_Id, , True))
+ sess_lastRm = Now
+ 'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_lastRm", sess_lastRm))
+
+ Return SQL.doSQLVarList(" UPDATE [tblSessions] SET sess_lastRm=GETDATE() WHERE sess_Id=@sess_Id ", "ADMIN", , list)
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End If
+ Return ""
+ End Function
+
+
+
+ Public Shared Function GET_IP_FROM_MAID(sess_maId) As String
+ Dim SQL As New SQL
+ Return SQL.getValueTxtBySql(" SELECT TOP 1 isnull(sess_ipaddress,'') as sess_ipaddress FROM [tblSessions] where sess_lastRm > DATEADD(SECOND,-70, GETDATE()) AND sess_maId=" & sess_maId, "ADMIN")
+ End Function
+
+ Public Function LOGIN() As String
+ Me.sess_system = (If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "T", "E"))
+ Me.sess_login = Now
+ Me.sess_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_id
+ Me.sess_maName = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
+ Me.sess_firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+ Me.sess_niederlassung = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG
+ Try
+ Me.sess_ipAddress = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList(0).ToString()
+ Me.sess_PCName = System.Environment.MachineName
+ Me.sess_PCUserName = My.User.Name.ToString
+ Catch ex As Exception
+ End Try
+ Me.sess_lastRm = Now
+ Me.sess_progId = Nothing
+ Me.sess_progName = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGNAME
+ Me.sess_progVersion = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGVERSION
+
+ Return SAVE()
+ End Function
+
+ Public Function LOGOUT() As String
+ Try
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_Id", sess_Id, , True))
+ sess_lastRm = Now
+ ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_lastRm", sess_lastRm))
+ sess_logout = Now
+ ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sess_logout", sess_logout))
+
+ Return SQL.doSQLVarList(" UPDATE [tblSessions] SET sess_lastRm=GETDATE(),sess_logout=GETDATE() WHERE sess_Id=@sess_Id ", "ADMIN", , list)
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblSessions] SET " & str & " WHERE sess_Id=@sess_Id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblSessions (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSpeditionsbuch.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSpeditionsbuch.vb
new file mode 100644
index 0000000..46dbd85
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cSpeditionsbuch.vb
@@ -0,0 +1,876 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+
+Public Class cSpeditionsbuchList
+ Property FilialenNr As Integer = -1
+ Property AbfertigungsNr As Integer = -1
+
+ Property min As Integer = -1
+ Property max As Integer = -1
+
+
+ ' Property OffertenNr As Object = Nothing
+ Public LIST As New List(Of cSpeditionsbuch)
+ Dim SQL As New SQL
+ 'Dim listTodelete As New List(Of cOfferte)
+
+ Sub New(FilialenNr, AbfertigungsNr)
+ Me.FilialenNr = FilialenNr
+ Me.AbfertigungsNr = AbfertigungsNr
+
+ LOAD_LIST(Me.FilialenNr, Me.AbfertigungsNr)
+ End Sub
+ Public Sub CLEAR()
+ LIST.Clear()
+ End Sub
+
+ Public Sub LOAD_LIST()
+ LOAD_LIST(FilialenNr, AbfertigungsNr)
+ End Sub
+
+ Public Sub LOAD_LIST(FilialenNr, AbfertigungsNr)
+ Try
+ LIST.Clear()
+ min = 999999
+ max = -1
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Speditionsbuch WHERE FilialenNr=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr ", conn)
+ cmd.Parameters.AddWithValue("@FilialenNr", FilialenNr)
+ cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cSpeditionsbuch
+ l.LOAD(dr.Item("FilialenNr"), dr.Item("AbfertigungsNr"), dr.Item("UnterNr"))
+ LIST.Add(l)
+ If l.UnterNr < min Then min = l.UnterNr
+ If l.UnterNr > max Then max = l.UnterNr
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+ 'Function SAVE()
+ ' If SQL.doSQLVarList("DELETE FROM tblEmailBenachrichtigung WHERE eb_KundenNr=" & Me.eb_KundenNr & " and eb_ebartId=" & Me.eb_ebartId & " ", "FMZOLL") Then
+ ' For Each l In LIST
+ ' If Not l.INSERT() Then Return False
+ ' Next
+ ' Return True
+ ' Else
+ ' Return False
+ ' End If
+ 'End Function
+End Class
+
+
+Public Class cSpeditionsbuch
+ Property FilialenNr As Integer = -1
+ Property AbfertigungsNr As Integer = -1
+ Property UnterNr As Integer = -1
+ Property Abfertigungsdatum As Object = CDate(Now.ToShortDateString)
+ Property Bar As Boolean = False
+ Property Fakturiert As Boolean = False
+ Property BelegNr As String = ""
+ Property ErfassungsNr As String = ""
+ Property LKW_Kennzeichen As String = ""
+ ' Property AvisiererKundenNr As Object = Nothing
+ ' Property Avisierer As String = ""
+ ' Property AbsenderKundenNr As Object = Nothing
+ 'Property Absender As String = ""
+ 'Property AbsenderOffertenNr As Object = Nothing
+ 'Property EmpfängerKundenNr As Object = Nothing
+ 'Property Empfänger As String = ""
+ 'Property EmpfängerOffertenNr As Object = Nothing
+ 'Property VermittlerKundenNr As Object = Nothing
+ 'Property Vermittler As String = ""
+ 'Property VermittlerOffertenNr As Object = Nothing
+ 'Property FrachtführerKundenNr As Object = Nothing
+ 'Property Frachtführer As String = ""
+
+ Property AvisiererKundenNr As Object = Nothing
+ Public Avisierer As String = ""
+ Property AbsenderKundenNr As Object = Nothing
+ Public Absender As String = ""
+ Property AbsenderOffertenNr As Object = Nothing
+ Property EmpfängerKundenNr As Object = Nothing
+ Public Empfänger As String = ""
+ Property EmpfängerOffertenNr As Object = Nothing
+ Property VermittlerKundenNr As Object = Nothing
+ Public Vermittler As String = ""
+ Property VermittlerOffertenNr As Object = Nothing
+ Property FrachtführerKundenNr As Object = Nothing
+ Public Frachtführer As String = ""
+
+
+ Property AnzahlZA As Integer = 0
+ Property AnzahlZAFremd As Integer = 0
+ Property AnzahlZnV As Integer = 0
+ Property AnzahlZnVFremd As Integer = 0
+ Property AnzahlT1 As Integer = 0
+ Property AnzahlT2 As Integer = 0
+ Property AnzahlAE As Integer = 0
+ Property AnzahlCarnetTIR As Integer = 0
+ Property AnzahlBarvorlagen As Integer = 0
+ Property AnzahlSonstiges As Integer = 0
+ Property AnzahlGrenzgebühren As Integer = 0
+ Property AvisUhrzeit As String = ""
+ Property Vermerk As String = ""
+ Property Bemerkungen As String = ""
+ Property Währungsschlüssel As Object = Nothing 'int=-1
+ Property Rechnungsbetrag As Object = Nothing 'dbl=0
+ Property Umrechnungskurs As Object = CDbl(1) 'dbl=1
+ Property Packstücke As String = ""
+ Property Rohmasse As Object = Nothing 'int=0
+ Property Zahlungsaufschub As String = ""
+ Property Löschen As Object = Nothing
+ Property Abfertigungsart As Object = Nothing
+ Property Abfertigungsanzahl As Integer = 0
+ Property AbfertigungsanzahlPos As Object = Nothing
+ Property Barzahlungsbetrag As Double = 0
+ ' Property Sachbearbeiter As String = ""
+ Public Sachbearbeiter As String = ""
+ Property Personalnummer As Object = Nothing 'int=-1
+ Property PersonalnummerQS As Object = Nothing 'int=-1
+ Property AtlasBezNrEZA As String = ""
+ Property AtlasBezNrNCTS As String = ""
+ Property Versendungsland As String = ""
+ Property SB_CMR As Boolean = False
+ Property SB_CMRDatum As Object = Nothing
+ Property SB_CMRNr As Object = Nothing
+ Property veoerz_basbtg As Double = 0
+ Property Zucker_MRN_Nr As Object = Nothing
+ Property Zucker_MRN_Datum As Object = Nothing
+ Property Zucker_Aufschub As Object = Nothing
+ Property Zollsystem As String = Nothing
+ Property Bestimmungszollstelle As String = ""
+ Property Bürgschaft As String = ""
+ Property Sicherheitsbetrag As Double = 0
+ Property SgutKompl As Object = Nothing
+ Property Bestimmungsland As String = ""
+ Property EuFiskalEmpfänger As String = ""
+ Property QKN As String = ""
+ Property EndempfängerKundenNr As Object = Nothing
+ ' Property Endempfänger As String = ""
+ Public Endempfänger As String = ""
+
+ Property AvisoID As Object = Nothing
+ Property SendungID As Object = Nothing
+ Property Grenzstelle As Object = Nothing
+
+
+ Property KdAuftragsNr As Object = Nothing
+ Property KdAuftragsNrAvisierer As Object = Nothing
+ Property KdAuftragsNrEmpfaenger As Object = Nothing
+ Property KdAuftragsNrFrachtfuehrer As Object = Nothing
+ Property SB_Zeitstempel As Object = Now
+
+ Property NCTS_Verzollungsadresse As Object = Nothing
+ Property NCTS_VerzollungsadresseKdNr As Object = Nothing
+ Property AuftraggeberBetragKassiert As Object = Nothing
+
+ Property Lieferantenrechnung As Object = Nothing
+ Property DokumentId_Steuerbeleg As Object = Nothing
+ Property DokumentId_Mitteilung As Object = Nothing
+ Property DokumentId_VBD As Object = Nothing
+ Property DokumentId_ABD As Object = Nothing
+ Property DokumentId_AVM As Object = Nothing
+ Property FilialenNrHandling As Object = Nothing
+ Property HandlingZuKassieren As Double = 0
+
+ Property FilialenNrAbklaerung As Object = Nothing
+ Property PersonalnummerAbklTR As Object = Nothing
+ Property UK_EIDR_ausstehend As Boolean = False
+
+
+ Property UNTERPOS As New List(Of cSpeditionsbuchUnterPos)
+ Property VORKOSTEN As New List(Of cVorkosten)
+ Property ENDEMPFAENGER As New List(Of cEndEmpfaener)
+
+ Dim SQL As New SQL
+
+ Public Sub New()
+ End Sub
+
+ Property hasEntry As Boolean = False
+
+ Public Sub New(FilialenNr As Integer, AbfertigungsNr As Integer, UnterNr As Integer)
+ Me.FilialenNr = FilialenNr
+ Me.AbfertigungsNr = AbfertigungsNr
+ Me.UnterNr = UnterNr
+ LOAD(FilialenNr, AbfertigungsNr, UnterNr)
+ End Sub
+
+ Public Sub New(FilialenNr As Integer, AbfertigungsNr As Integer)
+ Me.FilialenNr = FilialenNr
+ Me.AbfertigungsNr = AbfertigungsNr
+ Me.UnterNr = NewUNTER_NR()
+ LOAD(FilialenNr, AbfertigungsNr, UnterNr)
+ End Sub
+
+
+ Function NewUNTER_NR() As Integer
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr))
+ UnterNr = SQL.getValueTxtBySqlVarList("SELECT isnull(MAX(UnterNr)+1,0) FROM Speditionsbuch WHERE [FilialenNr]=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr", "FMZOLL", list)
+ Return UnterNr
+ End Function
+
+
+
+ Public Shared Function existsSpedBuch(FilialenNr As Integer, AbfertigungsNr As Integer) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ If FilialenNr <= 0 Then Return False
+ If AbfertigungsNr <= 0 Then Return False
+ Dim SQL As New SQL
+ Return (CInt(SQL.getValueTxtBySql(" SELECT COUNT(*) FROM [Speditionsbuch] WHERE [FilialenNr]='" & FilialenNr & "' AND AbfertigungsNr='" & AbfertigungsNr & "' ", "FMZOLL")) > 0)
+ End Function
+
+
+ Public Function SAVE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ ' MsgBox(getUpdateCmd())
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM [Speditionsbuch] WITH(updlock,serializable) WHERE [FilialenNr]=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr AND UnterNr=@UnterNr) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ If SQL.doSQLVarList(sqlstr, "FMZOLL", , list) Then
+ If SAVE_VORKOSTEN() And SAVE_ENDEMPFAENGER() Then
+ Return True
+ End If
+ End If
+ Return False
+ End Function
+ Public Sub LOAD()
+ LOAD(FilialenNr, AbfertigungsNr, UnterNr)
+ End Sub
+ Public Sub LOAD(FilialenNr As Integer, AbfertigungsNr As Integer, UnterNr As Integer)
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Speditionsbuch WHERE [FilialenNr]=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr AND UnterNr=@UnterNr ", conn)
+ cmd.Parameters.AddWithValue("@FilialenNr", FilialenNr)
+ cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr)
+ cmd.Parameters.AddWithValue("@UnterNr", UnterNr)
+
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ Me.FilialenNr = SQL.checkNullInteger(dr.Item("FilialenNr"))
+ Me.AbfertigungsNr = SQL.checkNullInteger(dr.Item("AbfertigungsNr"))
+ Me.UnterNr = SQL.checkNullInteger(dr.Item("UnterNr"))
+ Me.Abfertigungsdatum = SQL.checkNullDateNothing(dr.Item("Abfertigungsdatum"))
+ Me.Bar = SQL.checkNullBool(dr.Item("Bar"))
+ Me.Fakturiert = SQL.checkNullBool(dr.Item("Fakturiert"))
+ Me.BelegNr = SQL.checkNullStr(dr.Item("BelegNr"))
+ Me.ErfassungsNr = SQL.checkNullStr(dr.Item("ErfassungsNr"))
+ Me.LKW_Kennzeichen = SQL.checkNullStr(dr.Item("LKW Kennzeichen"))
+ Me.AvisiererKundenNr = SQL.checkNullReturnValue(dr.Item("AvisiererKundenNr"), Nothing)
+ Me.Avisierer = SQL.checkNullStr(dr.Item("Avisierer"))
+ Me.AbsenderKundenNr = SQL.checkNullReturnValue(dr.Item("AbsenderKundenNr"), Nothing)
+ Me.Absender = SQL.checkNullStr(dr.Item("Absender"))
+ Me.AbsenderOffertenNr = SQL.checkNullInteger(dr.Item("AbsenderOffertenNr"))
+ Me.EmpfängerKundenNr = SQL.checkNullReturnValue(dr.Item("EmpfängerKundenNr"), Nothing)
+ Me.Empfänger = SQL.checkNullStr(dr.Item("Empfänger"))
+ Me.EmpfängerOffertenNr = SQL.checkNullInteger(dr.Item("EmpfängerOffertenNr"))
+ Me.VermittlerKundenNr = SQL.checkNullReturnValue(dr.Item("VermittlerKundenNr"), Nothing)
+ Me.Vermittler = SQL.checkNullStr(dr.Item("Vermittler"))
+ Me.VermittlerOffertenNr = SQL.checkNullInteger(dr.Item("VermittlerOffertenNr"))
+ Me.FrachtführerKundenNr = SQL.checkNullReturnValue(dr.Item("FrachtführerKundenNr"), Nothing)
+ Me.Frachtführer = SQL.checkNullStr(dr.Item("Frachtführer"))
+ Me.AnzahlZA = SQL.checkNullIntegerZero(dr.Item("AnzahlZA"))
+ Me.AnzahlZAFremd = SQL.checkNullIntegerZero(dr.Item("AnzahlZAFremd"))
+ Me.AnzahlZnV = SQL.checkNullIntegerZero(dr.Item("AnzahlZnV"))
+ Me.AnzahlZnVFremd = SQL.checkNullIntegerZero(dr.Item("AnzahlZnVFremd"))
+ Me.AnzahlT1 = SQL.checkNullIntegerZero(dr.Item("AnzahlT1"))
+ Me.AnzahlT2 = SQL.checkNullIntegerZero(dr.Item("AnzahlT2"))
+ Me.AnzahlAE = SQL.checkNullStr(dr.Item("AnzahlAE"))
+ Me.AnzahlCarnetTIR = SQL.checkNullIntegerZero(dr.Item("AnzahlCarnetTIR"))
+ Me.AnzahlBarvorlagen = SQL.checkNullIntegerZero(dr.Item("AnzahlBarvorlagen"))
+ Me.AnzahlSonstiges = SQL.checkNullIntegerZero(dr.Item("AnzahlSonstiges"))
+ Me.AnzahlGrenzgebühren = SQL.checkNullIntegerZero(dr.Item("AnzahlGrenzgebühren"))
+ Me.AvisUhrzeit = SQL.checkNullStr(dr.Item("AvisUhrzeit"))
+ Me.Vermerk = SQL.checkNullStr(dr.Item("Vermerk"))
+ Me.Bemerkungen = SQL.checkNullStr(dr.Item("Bemerkungen"))
+ Me.Währungsschlüssel = SQL.checkNullReturnValue(dr.Item("Währungsschlüssel"), 900)
+ Me.Rechnungsbetrag = SQL.checkNullReturnValue(dr.Item("Rechnungsbetrag"), Nothing)
+ Me.Umrechnungskurs = SQL.checkNullReturnValue(dr.Item("Umrechnungskurs"), 1)
+ Me.Packstücke = SQL.checkNullStr(dr.Item("Packstücke"))
+ Me.Rohmasse = SQL.checkNullReturnValue(dr.Item("Rohmasse"), Nothing)
+ Me.Zahlungsaufschub = SQL.checkNullStr(dr.Item("Zahlungsaufschub"))
+ Me.Löschen = SQL.checkNullDateNothing(dr.Item("Löschen"))
+ Me.Abfertigungsart = SQL.checkNullInteger(dr.Item("Abfertigungsart"))
+ Me.Abfertigungsanzahl = SQL.checkNullIntegerZero(dr.Item("Abfertigungsanzahl"))
+ Me.AbfertigungsanzahlPos = SQL.checkNullInteger(dr.Item("AbfertigungsanzahlPos"))
+ Me.Barzahlungsbetrag = SQL.checkNulDbl(dr.Item("Barzahlungsbetrag"))
+ Me.Sachbearbeiter = SQL.checkNullStr(dr.Item("Sachbearbeiter"))
+ Me.Personalnummer = SQL.checkNullReturnValue(dr.Item("Personalnummer"), Nothing)
+ Me.PersonalnummerQS = SQL.checkNullReturnValue(dr.Item("PersonalnummerQS"), Nothing)
+ Me.AtlasBezNrEZA = SQL.checkNullStr(dr.Item("AtlasBezNrEZA"))
+ Me.AtlasBezNrNCTS = SQL.checkNullStr(dr.Item("AtlasBezNrNCTS"))
+ Me.Versendungsland = SQL.checkNullStr(dr.Item("Versendungsland"))
+ Me.SB_CMR = SQL.checkNullBool(dr.Item("SB_CMR"))
+ Me.SB_CMRDatum = SQL.checkNullDateNothing(dr.Item("SB_CMRDatum"))
+ Me.veoerz_basbtg = SQL.checkNulDbl(dr.Item("veoerz_basbtg"))
+ Me.Zucker_MRN_Nr = SQL.checkNullReturnValue(dr.Item("Zucker_MRN_Nr"), Nothing)
+ Me.Zucker_MRN_Datum = SQL.checkNullDateNothing(dr.Item("Zucker_MRN_Datum"))
+ Me.Zucker_Aufschub = SQL.checkNullReturnValue(dr.Item("Zucker_Aufschub"), Nothing)
+ Me.Zollsystem = SQL.checkNullStr(dr.Item("Zollsystem"))
+ Me.Bestimmungszollstelle = SQL.checkNullStr(dr.Item("Bestimmungszollstelle"))
+ Me.Bürgschaft = SQL.checkNullStr(dr.Item("Bürgschaft"))
+ Me.Sicherheitsbetrag = SQL.checkNulDbl(dr.Item("Sicherheitsbetrag"))
+ Me.SgutKompl = SQL.checkNullStr(dr.Item("SgutKompl"))
+ Me.Bestimmungsland = SQL.checkNullStr(dr.Item("Bestimmungsland"))
+ Me.EuFiskalEmpfänger = SQL.checkNullStr(dr.Item("EuFiskalEmpfänger"))
+ Me.QKN = SQL.checkNullStr(dr.Item("QKN"))
+ Me.EndempfängerKundenNr = SQL.checkNullReturnValue(dr.Item("EndempfängerKundenNr"), Nothing)
+ Me.Endempfänger = SQL.checkNullStr(dr.Item("Endempfänger"))
+ Me.AvisoID = SQL.checkNullReturnValue(dr.Item("AvisoID"), Nothing)
+ Me.SendungID = SQL.checkNullReturnValue(dr.Item("SendungID"), Nothing)
+ Me.KdAuftragsNr = SQL.checkNullReturnValue(dr.Item("KdAuftragsNr"), Nothing)
+ Me.KdAuftragsNrAvisierer = SQL.checkNullReturnValue(dr.Item("KdAuftragsNrAvisierer"), Nothing)
+ Me.KdAuftragsNrEmpfaenger = SQL.checkNullReturnValue(dr.Item("KdAuftragsNrEmpfaenger"), Nothing)
+ Me.KdAuftragsNrFrachtfuehrer = SQL.checkNullReturnValue(dr.Item("KdAuftragsNrFrachtfuehrer"), Nothing)
+
+ Me.NCTS_Verzollungsadresse = SQL.checkNullReturnValue(dr.Item("NCTS_Verzollungsadresse"), "")
+ Me.NCTS_VerzollungsadresseKdNr = SQL.checkNullReturnValue(dr.Item("NCTS_VerzollungsadresseKdNr"), Nothing)
+ Me.Grenzstelle = SQL.checkNullReturnValue(dr.Item("Grenzstelle"), Nothing)
+ Me.AuftraggeberBetragKassiert = SQL.checkNullReturnValue(dr.Item("AuftraggeberBetragKassiert"), Nothing)
+ Me.Lieferantenrechnung = SQL.checkNullReturnValue(dr.Item("Lieferantenrechnung"), Nothing)
+ Me.DokumentId_Steuerbeleg = SQL.checkNullReturnValue(dr.Item("DokumentId_Steuerbeleg"), Nothing)
+ Me.DokumentId_Mitteilung = SQL.checkNullReturnValue(dr.Item("DokumentId_Mitteilung"), Nothing)
+ Me.DokumentId_VBD = SQL.checkNullReturnValue(dr.Item("DokumentId_VBD"), Nothing)
+ Me.DokumentId_ABD = SQL.checkNullReturnValue(dr.Item("DokumentId_ABD"), Nothing)
+ Me.DokumentId_AVM = SQL.checkNullReturnValue(dr.Item("DokumentId_avm"), Nothing)
+ Me.FilialenNrHandling = SQL.checkNullReturnValue(dr.Item("FilialenNrHandling"), Nothing)
+ Me.FilialenNrAbklaerung = SQL.checkNullReturnValue(dr.Item("FilialenNrAbklaerung"), Nothing)
+ Me.HandlingZuKassieren = SQL.checkNulDbl(dr.Item("HandlingZuKassieren"))
+ Me.PersonalnummerAbklTR = SQL.checkNullReturnValue(dr.Item("PersonalnummerAbklTR"), Nothing)
+ Me.UK_EIDR_ausstehend = SQL.checkNullBool(dr.Item("UK_EIDR_ausstehend"))
+
+ Me.SB_CMRNr = SQL.checkNullReturnValue(dr.Item("SB_CMRNr"), Nothing)
+
+ LOAD_VORKOSTEN()
+ LOAD_ENDEMPFAENGER()
+
+ Me.SB_Zeitstempel = SQL.checkNullDateNothing(dr.Item("SB_Zeitstempel"))
+
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ 'Return Nothing
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ ' Return Nothing
+ End Sub
+
+ Shared Function LOADByBezugsNr(bezugsNr As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False) As cSpeditionsbuch 'PROBLEM!
+ Try
+ Dim SPEDBUCH As New cSpeditionsbuch
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT TOP 1 * FROM Speditionsbuch WHERE ([AtlasBezNrEZA]=@bezugsNr OR [AtlasBezNrNCTS]=@bezugsNr )", conn)
+ cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In SPEDBUCH.getParameterList()
+ Dim propInfo As PropertyInfo = SPEDBUCH.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(SPEDBUCH, Nothing)
+ Else
+ propInfo.SetValue(SPEDBUCH, dr.Item(l.Text))
+ End If
+
+ Next
+ If loadALL Then
+ SPEDBUCH.LOAD_VORKOSTEN()
+ SPEDBUCH.LOAD_ENDEMPFAENGER()
+ End If
+
+ dr.Close()
+ SPEDBUCH.hasEntry = True
+ Return SPEDBUCH
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsdatum", Abfertigungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bar", Bar))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fakturiert", Fakturiert))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegNr", BelegNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErfassungsNr", ErfassungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW Kennzeichen", LKW_Kennzeichen, "LKWKennzeichen"))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisiererKundenNr", AvisiererKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Avisierer", Avisierer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderKundenNr", AbsenderKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Absender", Absender))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderOffertenNr", AbsenderOffertenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerKundenNr", EmpfängerKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Empfänger", Empfänger))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerOffertenNr", EmpfängerOffertenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerKundenNr", VermittlerKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermittler", Vermittler))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerOffertenNr", VermittlerOffertenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FrachtführerKundenNr", FrachtführerKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Frachtführer", Frachtführer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlZA", AnzahlZA))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlZAFremd", AnzahlZAFremd))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlZnV", AnzahlZnV))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlZnVFremd", AnzahlZnVFremd))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlT1", AnzahlT1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlT2", AnzahlT2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlAE", AnzahlAE))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlCarnetTIR", AnzahlCarnetTIR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlBarvorlagen", AnzahlBarvorlagen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlSonstiges", AnzahlSonstiges))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlGrenzgebühren", AnzahlGrenzgebühren))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisUhrzeit", AvisUhrzeit))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermerk", Vermerk))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bemerkungen", Bemerkungen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Währungsschlüssel", Währungsschlüssel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsbetrag", Rechnungsbetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Umrechnungskurs", Umrechnungskurs))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Packstücke", Packstücke))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rohmasse", Rohmasse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsaufschub", Zahlungsaufschub))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Löschen", Löschen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsart", Abfertigungsart))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsanzahl", Abfertigungsanzahl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsanzahlPos", AbfertigungsanzahlPos))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Barzahlungsbetrag", Barzahlungsbetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Personalnummer", Personalnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PersonalnummerQS", PersonalnummerQS))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AtlasBezNrEZA", AtlasBezNrEZA))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AtlasBezNrNCTS", AtlasBezNrNCTS))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Versendungsland", Versendungsland))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SB_CMR", SB_CMR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SB_CMRDatum", SB_CMRDatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("veoerz_basbtg", veoerz_basbtg))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_MRN_Nr", Zucker_MRN_Nr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_MRN_Datum", Zucker_MRN_Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_Aufschub", Zucker_Aufschub))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zollsystem", Zollsystem))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bestimmungszollstelle", Bestimmungszollstelle))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bürgschaft", Bürgschaft))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sicherheitsbetrag", Sicherheitsbetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SgutKompl", SgutKompl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bestimmungsland", Bestimmungsland))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EuFiskalEmpfänger", EuFiskalEmpfänger))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("QKN", QKN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EndempfängerKundenNr", EndempfängerKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Endempfänger", Endempfänger))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisoID", AvisoID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SendungID", SendungID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdAuftragsNr", KdAuftragsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdAuftragsNrAvisierer", KdAuftragsNrAvisierer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdAuftragsNrEmpfaenger", KdAuftragsNrEmpfaenger))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdAuftragsNrFrachtfuehrer", KdAuftragsNrFrachtfuehrer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SB_Zeitstempel", SB_Zeitstempel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_Verzollungsadresse", NCTS_Verzollungsadresse))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("NCTS_VerzollungsadresseKdNr", NCTS_VerzollungsadresseKdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Grenzstelle", Grenzstelle))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AuftraggeberBetragKassiert", AuftraggeberBetragKassiert))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lieferantenrechnung", Lieferantenrechnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DokumentId_Steuerbeleg", DokumentId_Steuerbeleg))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DokumentId_Mitteilung", DokumentId_Mitteilung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DokumentId_VBD", DokumentId_VBD))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DokumentId_ABD", DokumentId_ABD))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DokumentId_AVM", DokumentId_AVM))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNrHandling", FilialenNrHandling))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNrAbklaerung", FilialenNrAbklaerung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("HandlingZuKassieren", HandlingZuKassieren))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PersonalnummerAbklTR", PersonalnummerAbklTR))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UK_EIDR_ausstehend", UK_EIDR_ausstehend))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SB_CMRNr", SB_CMRNr))
+
+
+ Return list
+ End Function
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ str &= "[" & i.Text & "] = @" & i.Text.Replace("-", "").Replace(" ", "") & ","
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [Speditionsbuch] SET " & str & " WHERE [FilialenNr]=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr AND UnterNr=@UnterNr ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & ","
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO [Speditionsbuch] (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Sub LOAD_UNTERPOS()
+ Try
+ Dim conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+
+ 'Using cmd2 As New SqlCommand("SELECT * FROM tblSpeditionsbuchUnterPos INNER JOIN [Abfertigungsarten] ON sbup_Abfertigungsart=Abfertigungsart WHERE sbup_Filiale=@sbup_Filiale AND sbup_AbfertigungsNr=@sbup_AbfertigungsNr AND sbup_UnterNr=@sbup_UnterNr ", conn)
+ Using cmd2 As New SqlCommand("SELECT * FROM tblSpeditionsbuchUnterPos WHERE sbup_Filiale=@sbup_Filiale AND sbup_AbfertigungsNr=@sbup_AbfertigungsNr AND sbup_UnterNr=@sbup_UnterNr ", conn)
+ cmd2.Parameters.AddWithValue("@sbup_Filiale", Me.FilialenNr)
+ cmd2.Parameters.AddWithValue("@sbup_AbfertigungsNr", Me.AbfertigungsNr)
+ cmd2.Parameters.AddWithValue("@sbup_UnterNr", Me.UnterNr)
+ Dim dr2 = cmd2.ExecuteReader()
+ Me.UNTERPOS.Clear()
+ While dr2.Read
+ Dim a As New cSpeditionsbuchUnterPos()
+
+ a.sbup_id = SQL.checkNullReturnValue(dr2.Item("sbup_id"), -1)
+ a.sbup_Filiale = SQL.checkNullReturnValue(dr2.Item("sbup_Filiale"), -1)
+ a.sbup_AbfertigungsNr = SQL.checkNullReturnValue(dr2.Item("sbup_AbfertigungsNr"), -1)
+ a.sbup_UnterNr = SQL.checkNullReturnValue(dr2.Item("sbup_UnterNr"), -1)
+ a.sbup_UnterPosArt = SQL.checkNullReturnValue(dr2.Item("sbup_UnterPosArt"), -1)
+ a.sbup_Anzahl = SQL.checkNullReturnValue(dr2.Item("sbup_Anzahl"), -1)
+ ' a.Abfertigungsbezeichnung = SQL.checkNullReturnValue(dr2.Item("Abfertigungsbezeichnung"), "-")
+
+ Me.UNTERPOS.Add(a)
+ End While
+ dr2.Close()
+ End Using
+
+ conn.Close()
+ 'End Using
+ 'Return Nothing
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+ Public Sub LOAD_VORKOSTEN()
+ Try
+ Dim conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+
+ 'Using cmd2 As New SqlCommand("SELECT * FROM tblSpeditionsbuchUnterPos INNER JOIN [Abfertigungsarten] ON sbup_Abfertigungsart=Abfertigungsart WHERE sbup_Filiale=@sbup_Filiale AND sbup_AbfertigungsNr=@sbup_AbfertigungsNr AND sbup_UnterNr=@sbup_UnterNr ", conn)
+ Using cmd2 As New SqlCommand("SELECT * FROM Vorkosten WHERE FilialenNr=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr AND UnterNr=@UnterNr ", conn)
+ cmd2.Parameters.AddWithValue("@FilialenNr", Me.FilialenNr)
+ cmd2.Parameters.AddWithValue("@AbfertigungsNr", Me.AbfertigungsNr)
+ cmd2.Parameters.AddWithValue("@UnterNr", Me.UnterNr)
+ Dim dr2 = cmd2.ExecuteReader()
+ Me.VORKOSTEN.Clear()
+ While dr2.Read
+ Dim a As New cVorkosten()
+
+ a.FilialenNr = SQL.checkNullReturnValue(dr2.Item("FilialenNr"), -1)
+ a.AbfertigungsNr = SQL.checkNullReturnValue(dr2.Item("AbfertigungsNr"), -1)
+ a.UnterNr = SQL.checkNullReturnValue(dr2.Item("UnterNr"), -1)
+ a.LeistungsNr = SQL.checkNullReturnValue(dr2.Item("LeistungsNr"), -1)
+ a.LeistungsBez = SQL.checkNullReturnValue(dr2.Item("LeistungsBez"), -1)
+ a.Preis = SQL.checkNullReturnValue(dr2.Item("Preis"), 0)
+ ' a.Abfertigungsbezeichnung = SQL.checkNullReturnValue(dr2.Item("Abfertigungsbezeichnung"), "-")
+
+ Me.VORKOSTEN.Add(a)
+ End While
+ dr2.Close()
+ End Using
+
+ conn.Close()
+ 'End Using
+ 'Return Nothing
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Sub LOAD_ENDEMPFAENGER()
+ Try
+ Dim conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+
+ 'Using cmd2 As New SqlCommand("SELECT * FROM tblSpeditionsbuchUnterPos INNER JOIN [Abfertigungsarten] ON sbup_Abfertigungsart=Abfertigungsart WHERE sbup_Filiale=@sbup_Filiale AND sbup_AbfertigungsNr=@sbup_AbfertigungsNr AND sbup_UnterNr=@sbup_UnterNr ", conn)
+ Using cmd2 As New SqlCommand("SELECT * FROM tblSpeditionsbuchEndEmpfaenger WHERE FilialenNr=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr AND UnterNr=@UnterNr ", conn)
+ cmd2.Parameters.AddWithValue("@FilialenNr", Me.FilialenNr)
+ cmd2.Parameters.AddWithValue("@AbfertigungsNr", Me.AbfertigungsNr)
+ cmd2.Parameters.AddWithValue("@UnterNr", Me.UnterNr)
+ Dim dr2 = cmd2.ExecuteReader()
+ Me.ENDEMPFAENGER.Clear()
+ While dr2.Read
+ Dim a As New cEndEmpfaener()
+
+ a.FilialenNr = SQL.checkNullReturnValue(dr2.Item("FilialenNr"), -1)
+ a.AbfertigungsNr = SQL.checkNullReturnValue(dr2.Item("AbfertigungsNr"), -1)
+ a.UnterNr = SQL.checkNullReturnValue(dr2.Item("UnterNr"), -1)
+ a.EndEmpfaengerKdNr = SQL.checkNullReturnValue(dr2.Item("EndEmpfaengerKdNr"), -1)
+ a.EndEmpfaenger = SQL.checkNullReturnValue(dr2.Item("EndEmpfaenger"), "")
+ a.UstIdKz = SQL.checkNullReturnValue(dr2.Item("UstIdKz"), Nothing)
+ a.UstIdNr = SQL.checkNullReturnValue(dr2.Item("UstIdNr"), Nothing)
+ a.Rechnungsbetrag = SQL.checkNullReturnValue(dr2.Item("Rechnungsbetrag"), Nothing)
+ a.RechnungsNr = SQL.checkNullReturnValue(dr2.Item("RechnungsNr"), Nothing)
+ ' a.Abfertigungsbezeichnung = SQL.checkNullReturnValue(dr2.Item("Abfertigungsbezeichnung"), "-")
+
+ Me.ENDEMPFAENGER.Add(a)
+ End While
+ dr2.Close()
+ End Using
+
+ conn.Close()
+ 'End Using
+ 'Return Nothing
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+ Public Function SAVE_UNTERPOS() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ SAVE_UNTERPOS = False
+ Dim sqlstr = " DELETE FROM tblSpeditionsbuchUnterPos WHERE sbup_Filiale=" & Me.FilialenNr & " AND sbup_AbfertigungsNr=" & Me.AbfertigungsNr & " AND sbup_UnterNr=" & Me.UnterNr & " "
+ If SQL.doSQL(sqlstr, "FMZOLL") Then
+ SAVE_UNTERPOS = True
+ For Each a In UNTERPOS
+ If Not a.INSERT() Then SAVE_UNTERPOS = False
+ Next
+ End If
+
+ ' Return b
+ End Function
+ Public Function SAVE_VORKOSTEN() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ SAVE_VORKOSTEN = False
+ Dim sqlstr = " DELETE FROM Vorkosten WHERE FilialenNr=" & Me.FilialenNr & " AND AbfertigungsNr=" & Me.AbfertigungsNr & " AND UnterNr=" & Me.UnterNr & " "
+ If SQL.doSQL(sqlstr, "FMZOLL") Then
+ SAVE_VORKOSTEN = True
+ For Each a In VORKOSTEN
+ If Not a.INSERT() Then SAVE_VORKOSTEN = False
+ Next
+ End If
+
+ ' Return b
+ End Function
+ Public Function SAVE_ENDEMPFAENGER() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ ' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ SAVE_ENDEMPFAENGER = False
+ Dim sqlstr = " DELETE FROM tblSpeditionsbuchEndEmpfaenger WHERE FilialenNr=" & Me.FilialenNr & " AND AbfertigungsNr=" & Me.AbfertigungsNr & " AND UnterNr=" & Me.UnterNr & " "
+ If SQL.doSQL(sqlstr, "FMZOLL") Then
+ SAVE_ENDEMPFAENGER = True
+ For Each a In ENDEMPFAENGER
+ If Not a.INSERT() Then SAVE_ENDEMPFAENGER = False
+ Next
+ End If
+
+ ' Return b
+ End Function
+End Class
+
+
+Public Class cSpeditionsbuchUnterPos
+ Property sbup_id As Integer = Nothing
+ Property sbup_Filiale As Integer = Nothing
+ Property sbup_AbfertigungsNr As Integer = Nothing
+ Property sbup_UnterNr As Integer = Nothing
+ Property sbup_UnterPosArt As Integer = Nothing
+ Property sbup_Anzahl As Integer = Nothing
+ ' Property Abfertigungsbezeichnung As String = "-"
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(sbup_Filiale, sbup_AbfertigungsNr, sbup_UnterNr, sbup_UnterPosArt, sbup_Anzahl)
+ Me.sbup_Filiale = sbup_Filiale
+ Me.sbup_AbfertigungsNr = sbup_AbfertigungsNr
+ Me.sbup_UnterNr = sbup_UnterNr
+ Me.sbup_UnterPosArt = sbup_UnterPosArt
+ Me.sbup_Anzahl = sbup_Anzahl
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sbup_id", sbup_id, , True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sbup_Filiale", sbup_Filiale))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sbup_AbfertigungsNr", sbup_AbfertigungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sbup_UnterNr", sbup_UnterNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sbup_UnterPosArt", sbup_UnterPosArt))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sbup_Anzahl", sbup_Anzahl))
+ Return list
+ End Function
+
+ Public Function INSERT() As Boolean
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+
+ Return SQL.doSQLVarList(" INSERT INTO [tblSpeditionsbuchUnterPos] (" & str & ") VALUES(" & values & ") ", "FMZOLL", , list)
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return False
+ End Function
+
+
+
+End Class
+
+
+Public Class cVorkosten
+
+ Property FilialenNr As Integer
+ Property AbfertigungsNr As Integer
+ Property UnterNr As Integer
+ Property LeistungsNr As Integer
+ Property LeistungsBez As Object = Nothing
+ Property Preis As Double = 0
+
+ ' Property Abfertigungsbezeichnung As String = "-"
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(FilialenNr, AbfertigungsNr, UnterNr, LeistungsNr, LeistungsBez, Preis)
+ Me.FilialenNr = FilialenNr
+ Me.AbfertigungsNr = AbfertigungsNr
+ Me.UnterNr = UnterNr
+ Me.LeistungsNr = LeistungsNr
+ Me.LeistungsBez = LeistungsBez
+ Me.Preis = Preis
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preis", Preis))
+ Return list
+ End Function
+
+ Public Function INSERT() As Boolean
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+
+ Return SQL.doSQLVarList(" INSERT INTO [Vorkosten] (" & str & ") VALUES(" & values & ") ", "FMZOLL", , list)
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return False
+ End Function
+
+End Class
+
+
+Public Class cEndEmpfaener
+
+ Property FilialenNr As Integer
+ Property AbfertigungsNr As Integer
+ Property UnterNr As Integer
+ Property EndEmpfaengerKdNr As Integer
+ Property EndEmpfaenger As Object = Nothing
+ Property UstIdKz As Object = Nothing
+ Property UstIdNr As Object = Nothing
+ Property Rechnungsbetrag As Object = Nothing
+ Property RechnungsNr As Object = Nothing
+
+ ' Property Abfertigungsbezeichnung As String = "-"
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(FilialenNr, AbfertigungsNr, UnterNr, EndEmpfaengerKdNr, EndEmpfaenger, UstIdKz, UstIdNr, Rechnungsbetrag, RechnungsNr)
+ Me.FilialenNr = FilialenNr
+ Me.AbfertigungsNr = AbfertigungsNr
+ Me.UnterNr = UnterNr
+ Me.EndEmpfaengerKdNr = EndEmpfaengerKdNr
+ Me.EndEmpfaenger = EndEmpfaenger
+ Me.UstIdKz = UstIdKz
+ Me.UstIdNr = UstIdNr
+ Me.Rechnungsbetrag = Rechnungsbetrag
+ Me.RechnungsNr = RechnungsNr
+ End Sub
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EndEmpfaengerKdNr", EndEmpfaengerKdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EndEmpfaenger", EndEmpfaenger))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstIdKz", UstIdKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstIdNr", UstIdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsbetrag", Rechnungsbetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsNr", RechnungsNr))
+ Return list
+ End Function
+
+ Public Function INSERT() As Boolean
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Text.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+
+ Return SQL.doSQLVarList(" INSERT INTO [tblSpeditionsbuchEndEmpfaenger] (" & str & ") VALUES(" & values & ") ", "FMZOLL", , list)
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return False
+ End Function
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTextkonserve.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTextkonserve.vb
new file mode 100644
index 0000000..f7cf797
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTextkonserve.vb
@@ -0,0 +1,178 @@
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+
+Public Class cTextkonserve
+ Property txt_Id As Integer
+ Property txt_kategorie As String
+ Property txt_bezeichnung As String
+ Property txt_sprache As String
+ Property txt_text As String
+ Property txt_betreff As String
+ Property txt_FIRMA As String
+ Property txt_firmaSig As Integer = 1
+
+
+ Public hasEntry As Boolean = False
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(txt_Id)
+ ' If txt_Id IsNot Nothing Then
+ Me.txt_Id = txt_Id
+ LOAD()
+ ' End If
+ End Sub
+
+ Sub New(txt_kategorie, txt_bezeichnung, txt_sprache, txt_FIRMA)
+ ' If txt_Id IsNot Nothing Then
+ Me.txt_kategorie = txt_kategorie
+ Me.txt_bezeichnung = txt_bezeichnung
+ Me.txt_sprache = txt_sprache
+ Me.txt_FIRMA = txt_FIRMA
+ LOAD(txt_kategorie, txt_bezeichnung, txt_sprache, txt_FIRMA)
+ ' End If
+ End Sub
+
+
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_Id", txt_Id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_kategorie", txt_kategorie))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_bezeichnung", txt_bezeichnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_sprache", txt_sprache))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_text", txt_text))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_betreff", txt_betreff))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_FIRMA", txt_FIRMA))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("txt_firmaSig", txt_firmaSig))
+
+ Return list
+ End Function
+
+
+ Public Function SAVE(Optional errHinweis = "") As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTextkonserve WITH(updlock,serializable) WHERE txt_Id=@txt_Id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ txt_Id = SQL.doSQLVarListID(txt_Id, sqlstr, "FMZOLL", , list,, errHinweis)
+ Return txt_Id > 0
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL
+ Using cmd As New SqlCommand("SELECT * FROM tblTextkonserve WHERE txt_Id=@txt_Id ", conn)
+ cmd.Parameters.AddWithValue("@txt_Id", txt_Id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+ hasEntry = True
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Sub LOAD(txt_kategorie, txt_bezeichnung, txt_sprache, txt_FIRMA)
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL
+ Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblTextkonserve WHERE txt_kategorie=@txt_kategorie AND txt_bezeichnung=@txt_bezeichnung AND txt_sprache=@txt_sprache AND txt_FIRMA=@txt_FIRMA ", conn)
+ cmd.Parameters.AddWithValue("@txt_kategorie", txt_kategorie)
+ cmd.Parameters.AddWithValue("@txt_bezeichnung", txt_bezeichnung)
+ cmd.Parameters.AddWithValue("@txt_sprache", txt_sprache)
+ cmd.Parameters.AddWithValue("@txt_FIRMA", txt_FIRMA)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+ hasEntry = True
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblTextkonserve] SET " & str & " WHERE txt_Id=@txt_Id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblTextkonserve (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblTextkonserve] WITH(updlock,serializable) WHERE txt_Id=" & Me.txt_Id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Shared Function DELETE(id As Integer) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblTextkonserve] WITH(updlock,serializable) WHERE txt_Id=" & id
+ Return (New VERAG_PROG_ALLGEMEIN.SQL).doSQL(sqlstr, "FMZOLL")
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTranslate.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTranslate.vb
new file mode 100644
index 0000000..a5ad5fb
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTranslate.vb
@@ -0,0 +1,166 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cTranslate_LIST
+
+ Public list As New List(Of cTranslate)
+ Dim trs_progId
+
+ Sub New(trs_progId)
+ Me.trs_progId = trs_progId
+ LOAD()
+ End Sub
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblTranslate WHERE trs_progId=@trs_progId ", conn)
+ cmd.Parameters.AddWithValue("@trs_progId", trs_progId)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim T As New cTranslate
+ T.trs_id = dr("trs_id")
+ T.trs_progName = dr("trs_progName")
+ T.trs_object = dr("trs_object")
+ T.trs_control = dr("trs_control")
+ T.trs_subControl = dr("trs_subControl")
+ T.trs_sprache = dr("trs_sprache")
+ T.trs_text = dr("trs_text")
+ list.Add(T)
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+End Class
+Public Class cTranslate
+ Property trs_id As Integer
+ Property trs_progId As String
+ Property trs_progName As String
+ Property trs_object As String
+ Property trs_control As String
+ Property trs_subControl As Object = Nothing
+ Property trs_sprache As String
+ Property trs_text As String
+
+
+ Public hasEntry = False
+
+ Dim SQL As New SQL
+ Sub New()
+
+ End Sub
+ Sub New(trs_id)
+ Me.trs_id = trs_id
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_id", trs_id,, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_progId", trs_progId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_progName", trs_progName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_object", trs_object))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_control", trs_control))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_subControl", trs_subControl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_sprache", trs_sprache))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("trs_text", trs_text))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTranslate WHERE trs_id=@trs_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ hasEntry = False
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblTranslate WHERE trs_id=@trs_id ", conn)
+ cmd.Parameters.AddWithValue("@trs_id", trs_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblTranslate] SET " & str & " WHERE trs_id=@trs_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblTranslate (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+
+ End Function
+
+
+
+
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb
new file mode 100644
index 0000000..3c32dfe
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb
@@ -0,0 +1,617 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cTrdInvoice
+
+ Property Rechnungsdatum As Date
+ Property Rechnungsnummer As Integer
+ Property Speditionsbuch As Object = Nothing
+ Property FilialenNr As Object = Nothing
+ Property AbfertigungsNr As Object = Nothing
+ Property UnterNr As Object = Nothing
+ Property Abfertigungsdatum As Object = Nothing
+ Property BelegartenNr As Object = Nothing
+ Property KundenNrZentrale As Object = Nothing
+ Property RechnungsKundenNr As Object = Nothing
+ Property RechnungsLandKz As Object = Nothing
+ Property RechnungsUstIdKz As Object = Nothing
+ Property RechnungsUstIdNr As Object = Nothing
+ Property Lastschrift As Object = Nothing
+ Property Steuerschlüssel As Object = Nothing
+ Property Steuersatz As Object = Nothing '[Steuersatz %]
+ Property WährungLokal As Object = Nothing
+ Property SteuerpflichtigerBetragLokal As Object = Nothing
+ Property SteuerfreierBetragLokal As Object = Nothing
+ Property SteuerbetragLokal As Object = Nothing
+ Property RechnungsbetragLokal As Object = Nothing
+ Property WährungFremd As Object = Nothing
+ Property SteuerpflichtigerBetragFremd As Object = Nothing
+ Property SteuerfreierBetragFremd As Object = Nothing
+ Property SteuerbetragFremd As Object = Nothing
+ Property RechnungsbetragFremd As Object = Nothing
+ Property TrdinDateiname As Object = Nothing
+ Property Abgleich_op_debitor As Object = Nothing
+ Property Nettozahlungsziel As Object = Nothing
+ Property Firma_ID As Object = Nothing
+ Property UStVAn_ID As Object = Nothing
+
+ Property hasEntry As Boolean = False
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+
+ Sub New(Rechnungsdatum, Rechnungsnummer)
+ Me.Rechnungsnummer = Rechnungsnummer
+ Me.Rechnungsdatum = Rechnungsdatum
+ LOAD()
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdatum", Rechnungsdatum))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsnummer", Rechnungsnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Speditionsbuch", Speditionsbuch))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsdatum", Abfertigungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegartenNr", BelegartenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNrZentrale", KundenNrZentrale))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsKundenNr", RechnungsKundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsLandKz", RechnungsLandKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdKz", RechnungsUstIdKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdNr", RechnungsUstIdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lastschrift", Lastschrift))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerschlüssel", Steuerschlüssel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuersatz %", Steuersatz, "Steuersatz")) '[Steuersatz %]
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("WährungLokal", WährungLokal))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetragLokal", SteuerpflichtigerBetragLokal))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetragLokal", SteuerfreierBetragLokal))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerbetragLokal", SteuerbetragLokal))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsbetragLokal", RechnungsbetragLokal))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("WährungFremd", WährungFremd))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetragFremd", SteuerpflichtigerBetragFremd))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetragFremd", SteuerfreierBetragFremd))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerbetragFremd", SteuerbetragFremd))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsbetragFremd", RechnungsbetragFremd))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TrdinDateiname", TrdinDateiname))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abgleich_op_debitor", Abgleich_op_debitor))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nettozahlungsziel", Nettozahlungsziel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID))
+
+
+ Return list
+ End Function
+
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTrdinInvoice WITH(updlock,serializable) WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblTrdinInvoice WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum ", conn)
+ cmd.Parameters.AddWithValue("@Rechnungsnummer", Rechnungsnummer)
+ cmd.Parameters.AddWithValue("@Rechnungsdatum", Rechnungsdatum)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ hasEntry = True
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblTrdinInvoice] SET " & str & " WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblTrdinInvoice (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblTrdinInvoice] WITH(updlock,serializable) WHERE Rechnungsnummer=" & Me.Rechnungsnummer & " and Rechnungsdatum='" & Me.Rechnungsdatum.ToShortDateString & "'"
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+End Class
+
+
+
+Public Class cTrdProduct
+
+ Property Rechnungsdatum As Date
+ Property Rechnungsnummer As Integer
+
+ Property Leistungsnummer As Integer
+ Property Leistungsbezeichnung As String
+ Property Steuerpflichtig As Boolean
+ Property SteuerpflichtigerBetragLokal As Object = Nothing
+ Property SteuerfreierBetragLokal As Object = Nothing
+ Property SteuerpflichtigerBetragFremd As Object = Nothing
+ Property SteuerfreierBetragFremd As Object = Nothing
+ Property Belegdaten As Object = Nothing
+ Property Sachkonto As Object = Nothing
+ Property Buchungstext As Object = Nothing
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdatum", Rechnungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsnummer", Rechnungsnummer))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsnummer", Leistungsnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsbezeichnung", Leistungsbezeichnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerpflichtig", Steuerpflichtig))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetragLokal", SteuerpflichtigerBetragLokal))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetragLokal", SteuerfreierBetragLokal))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetragFremd", SteuerpflichtigerBetragFremd))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetragFremd", SteuerfreierBetragFremd))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegdaten", Belegdaten))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachkonto", Sachkonto))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungstext", Buchungstext))
+
+ Return list
+ End Function
+
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTrdinProduct WITH(updlock,serializable) WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum and Leistungsnummer=@Leistungsnummer and Leistungsbezeichnung=@Leistungsbezeichnung and Steuerpflichtig=@Steuerpflichtig) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
+ End Function
+
+
+ 'Public Sub LOAD()
+ ' Try
+ ' Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ ' Using cmd As New SqlCommand("SELECT * FROM tblTrdinProduct WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum ", conn)
+ ' cmd.Parameters.AddWithValue("@Rechnungsnummer", Rechnungsnummer)
+ ' cmd.Parameters.AddWithValue("@Rechnungsdatum", Rechnungsdatum)
+ ' Dim dr = cmd.ExecuteReader()
+ ' If dr.Read Then
+ ' For Each l In getParameterList()
+ ' Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ ' If dr.Item(l.Text) Is DBNull.Value Then
+ ' propInfo.SetValue(Me, Nothing)
+ ' Else
+ ' propInfo.SetValue(Me, dr.Item(l.Text))
+ ' End If
+
+ ' Next
+
+ ' End If
+ ' dr.Close()
+ ' End Using
+ ' End Using
+ ' Catch ex As Exception
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ ' End Try
+ 'End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblTrdinProduct] SET " & str & " WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum and Leistungsnummer=@Leistungsnummer and Leistungsbezeichnung=@Leistungsbezeichnung and Steuerpflichtig=@Steuerpflichtig ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblTrdinProduct (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+
+End Class
+
+
+
+Class TrdInvoice_FUNCTIONS
+
+ Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Shared Function TrdinSchreiben(Optional Firma As Integer = -1) As Boolean 'Lädt die Daten aus der Tabelle Rechnungsausgang/RechnungsausgangPositionen in die Tabelle trdInvoice/trdProduct
+ Try
+
+ Dim LOKALWÄHRUNG = "EUR"
+ Dim lngSatzzähler As Integer
+ Dim WährungsdifferenzSteuerpflichtigerBetrag As Double
+ Dim WährungsdifferenzSteuerfreierBetrag As Integer
+
+ Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdInvoice(Firma), "FMZOLL")
+ If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
+ For Each ROW In dt.Rows
+ Dim TRD_INVOICE As New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr"))
+ If TRD_INVOICE.hasEntry Then
+ ' MsgBox("RG-Nr. bereits vorhanden!")
+ Else
+ Dim RK_Währungscode = ROW("RK_Währungscode")
+ If ROW("RK_Währungscode") Is DBNull.Value Then RK_Währungscode = LOKALWÄHRUNG
+
+ If RK_Währungscode = LOKALWÄHRUNG Then
+ TRD_INVOICE.SteuerpflichtigerBetragLokal = ROW("RK_SteuerpflichtigerBetrag")
+ TRD_INVOICE.SteuerfreierBetragLokal = ROW("RK_SteuerfreierBetrag")
+ TRD_INVOICE.SteuerbetragLokal = ROW("RK_Steuerbetrag")
+ TRD_INVOICE.RechnungsbetragLokal = ROW("RK_Rechnungsbetrag")
+
+ TRD_INVOICE.SteuerpflichtigerBetragFremd = 0
+ TRD_INVOICE.SteuerfreierBetragFremd = 0
+ TRD_INVOICE.SteuerbetragFremd = 0
+ TRD_INVOICE.RechnungsbetragFremd = 0
+
+ TRD_INVOICE.WährungFremd = Nothing
+ Else
+ TRD_INVOICE.SteuerpflichtigerBetragFremd = ROW("RK_SteuerpflichtigerBetrag")
+ TRD_INVOICE.SteuerfreierBetragFremd = ROW("RK_SteuerfreierBetrag")
+ TRD_INVOICE.SteuerbetragFremd = ROW("RK_Steuerbetrag")
+ TRD_INVOICE.RechnungsbetragFremd = ROW("RK_Rechnungsbetrag")
+
+ TRD_INVOICE.SteuerpflichtigerBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("[RK_SteuerpflichtigerBetrag]"), ROW("[RK_Währungscode]"), LOKALWÄHRUNG)
+ TRD_INVOICE.SteuerfreierBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("[RK_SteuerfreierBetrag]"), ROW("[RK_Währungscode]"), LOKALWÄHRUNG)
+ TRD_INVOICE.SteuerbetragLokal = CDbl(TRD_INVOICE.SteuerpflichtigerBetragLokal * ROW("[RK_SteuersatzProzent]") * 100) / 100
+ TRD_INVOICE.RechnungsbetragLokal = TRD_INVOICE.SteuerpflichtigerBetragLokal + TRD_INVOICE.SteuerfreierBetragLokal + TRD_INVOICE.SteuerbetragLokal
+ ' Basis zur Feststellung von Rundungsdifferenzen schaffen.
+
+ TRD_INVOICE.SteuerpflichtigerBetragLokal = 0
+ TRD_INVOICE.SteuerfreierBetragLokal = 0
+ TRD_INVOICE.SteuerbetragLokal = 0
+ TRD_INVOICE.RechnungsbetragLokal = 0
+
+ WährungsdifferenzSteuerpflichtigerBetrag = TRD_INVOICE.SteuerpflichtigerBetragLokal
+ WährungsdifferenzSteuerfreierBetrag = TRD_INVOICE.SteuerfreierBetragLokal
+ lngSatzzähler = ROW("RK_Satzzähler")
+
+ TRD_INVOICE.WährungFremd = RK_Währungscode
+ End If
+
+
+ TRD_INVOICE.FilialenNr = ROW("RK_FilialenNr")
+ TRD_INVOICE.Speditionsbuch = SQL.DLookup("Speditionsbuch", "Filialen", "FilialenNr=" & ROW("RK_FilialenNr"), "FMZOLL", Nothing) ' ROW("Speditionsbuch")
+ TRD_INVOICE.AbfertigungsNr = ROW("RK_AbfertigungsNr")
+ TRD_INVOICE.UnterNr = ROW("RK_UnterNr")
+ TRD_INVOICE.Abfertigungsdatum = ROW("RK_Abfertigungsdatum")
+ TRD_INVOICE.BelegartenNr = ROW("RK_BelegartenNr")
+ TRD_INVOICE.KundenNrZentrale = ROW("RK_KundenNrZentrale")
+ TRD_INVOICE.RechnungsKundenNr = ROW("RK_RechnungsKundenNr")
+ TRD_INVOICE.RechnungsLandKz = ROW("RK_RechnungsLandKz")
+ TRD_INVOICE.RechnungsUstIdKz = ROW("RK_RechnungsUstIdKz")
+ TRD_INVOICE.RechnungsUstIdNr = ROW("RK_RechnungsUstIdNr")
+ TRD_INVOICE.Lastschrift = ROW("RK_Lastschrift")
+ TRD_INVOICE.Steuerschlüssel = ROW("RK_Steuerschlüssel")
+ TRD_INVOICE.Steuersatz = ROW("RK_SteuersatzProzent")
+ TRD_INVOICE.WährungLokal = LOKALWÄHRUNG
+ TRD_INVOICE.TrdinDateiname = Nothing
+ TRD_INVOICE.Abgleich_op_debitor = 0
+ TRD_INVOICE.Nettozahlungsziel = ROW("RK_Nettozahlungsziel")
+ TRD_INVOICE.Firma_ID = ROW("RK_Firma_ID")
+ TRD_INVOICE.UStVAn_ID = Nothing
+
+ If TRD_INVOICE.SAVE Then
+ If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), ROW("RK_Buchungstext"), TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag) Then
+ 'UPDATE rechnugnsausgang
+ SQL.doSQL("UPDATE [Rechnungsausgang] SET [Trdin] = 1 WHERE convert(date,[RechnungsDatum] ,104) = '" & TRD_INVOICE.Rechnungsdatum.ToShortDateString & "' AND RechnungsNr = " & TRD_INVOICE.Rechnungsnummer & " ", "FMZOLL")
+ End If
+ End If
+ End If
+ Next
+ Return True
+
+ Else
+ Return False
+ End If
+
+ ' Buchung im Rechnungskopfsatz eintragen.
+ ' Call SPAktionsabfrageOhneErgebnis("dbo.spTrdinSchreibenUpdateRK", AktuelleVerbindungszeichenfolge(0), rstRK![RK_RechnungsDatum], rstRK![RK_RechnungsNr], 1)
+ Catch ex As Exception
+ MsgBox(ex.StackTrace & "" & ex.Message)
+ Return False
+ End Try
+
+ End Function
+
+
+
+ Shared Function TrdinSchreibenProduct(RechnungsDatum, RK_RechnungsNr, RK_Währungscode, RK_RechnungsLandKz, RK_Buchungstext, RK_Firma_ID, ByRef lngSatzzähler, ByRef WährungsdifferenzSteuerpflichtigerBetrag, ByRef WährungsdifferenzSteuerfreierBetrag) As Boolean
+ Try
+
+ Dim LOKALWÄHRUNG = "EUR"
+
+ Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdProduct(RechnungsDatum, RK_RechnungsNr), "FMZOLL")
+ If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
+ For Each ROW In dt.Rows
+ Dim TRD_PRODUCT As New VERAG_PROG_ALLGEMEIN.cTrdProduct()
+
+ TRD_PRODUCT.Rechnungsdatum = RechnungsDatum
+ TRD_PRODUCT.Rechnungsnummer = RK_RechnungsNr
+
+
+ If RK_Währungscode = LOKALWÄHRUNG Then
+ TRD_PRODUCT.SteuerpflichtigerBetragLokal = ROW("RP_SteuerpflichtigerBetrag")
+ TRD_PRODUCT.SteuerfreierBetragLokal = ROW("RP_SteuerfreierBetrag")
+
+ TRD_PRODUCT.SteuerpflichtigerBetragFremd = 0
+ TRD_PRODUCT.SteuerfreierBetragFremd = 0
+ Else
+ TRD_PRODUCT.SteuerpflichtigerBetragFremd = ROW("RP_SteuerpflichtigerBetrag")
+ TRD_PRODUCT.SteuerfreierBetragFremd = ROW("RP_SteuerfreierBetrag")
+
+
+ TRD_PRODUCT.SteuerpflichtigerBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RP_SteuerpflichtigerBetrag"), RK_Währungscode, LOKALWÄHRUNG)
+ TRD_PRODUCT.SteuerfreierBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RP_SteuerfreierBetrag"), RK_Währungscode, LOKALWÄHRUNG)
+
+
+ WährungsdifferenzSteuerpflichtigerBetrag -= TRD_PRODUCT.SteuerpflichtigerBetragLokal
+ WährungsdifferenzSteuerfreierBetrag -= TRD_PRODUCT.SteuerfreierBetragLokal
+
+ lngSatzzähler = lngSatzzähler - ROW("RP_Satzzähler")
+ If lngSatzzähler = 0 Then
+ If WährungsdifferenzSteuerpflichtigerBetrag <> 0 Then
+ TRD_PRODUCT.SteuerpflichtigerBetragLokal += WährungsdifferenzSteuerpflichtigerBetrag
+ End If
+ If WährungsdifferenzSteuerfreierBetrag <> 0 Then
+ TRD_PRODUCT.SteuerfreierBetragLokal += WährungsdifferenzSteuerfreierBetrag
+ End If
+ End If
+ End If
+
+
+ TRD_PRODUCT.Leistungsnummer = ROW("RP_LeistungsNr")
+ TRD_PRODUCT.Leistungsbezeichnung = ROW("RP_LeistungsBez")
+ TRD_PRODUCT.Steuerpflichtig = ROW("RP_Steuerpflichtig")
+ TRD_PRODUCT.Belegdaten = ROW("RP_Belegdaten")
+ TRD_PRODUCT.Sachkonto = getSachkonto(RK_Firma_ID, ROW("RP_LeistungsNr"), RK_RechnungsLandKz, ROW("RP_Steuerpflichtig"), ROW("AufschubkontoNr"))
+ TRD_PRODUCT.Buchungstext = RK_Buchungstext
+
+
+
+ TRD_PRODUCT.SAVE()
+ Next
+
+ Return True
+ Else
+ Return False
+ End If
+
+
+ Catch ex As Exception
+ MsgBox(ex.StackTrace & "" & ex.Message)
+ Return False
+ End Try
+ End Function
+
+ Shared Function getSachkonto(Firma_Id, RP_LeistungsNr, [RK_RechnungsLandKz], RP_Steuerpflichtig, RP_AufschubkontoNr)
+ ' Sachkonto ermitteln.
+ Dim FIRMA = New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_Id)
+
+ Select Case Firma_Id
+ Case 20 'IMEX --> Andere Sachkonten in Tbl Leistungen!
+ If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz] Is DBNull.Value OrElse [RK_RechnungsLandKz].trim = "" _
+ OrElse [RK_RechnungsLandKz] = "A" _
+ OrElse [RK_RechnungsLandKz] = "AT" Then
+ If CBool([RP_Steuerpflichtig]) Then
+ getSachkonto = If(SQL.DLookup("[IMEX_SachkontoInlandSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
+
+ Else
+ getSachkonto = If(SQL.DLookup("[IMEX_SachkontoInlandSteuerfrei]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
+ End If
+ Else
+ If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & [RK_RechnungsLandKz] & "'", "FMZOLL", False) Then
+ If [RP_Steuerpflichtig] Then
+ getSachkonto = If(SQL.DLookup("[IMEX_SachkontoEUSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
+ Else
+ getSachkonto = If(SQL.DLookup("[IMEX_SachkontoEUSteuerfrei]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
+ End If
+ Else
+ getSachkonto = If(SQL.DLookup("[IMEX_Sachkonto3Land]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
+ End If
+ End If
+ If getSachkonto = "" Then getSachkonto = "9999" 'DEFAULT!
+
+ Case 21, 22, 23, 24 '--> cLeistungenBUKonten!
+ Dim BU_KTO As New VERAG_PROG_ALLGEMEIN.cLeistungenBUKonten(RP_LeistungsNr, Firma_Id)
+ If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz] Is DBNull.Value OrElse [RK_RechnungsLandKz].trim = "" OrElse
+ [RK_RechnungsLandKz] = FIRMA.Firma_LandKz.ToString.Replace("AT", "A").Replace("DE", "D") Then
+
+ If CBool([RP_Steuerpflichtig]) Then
+ getSachkonto = BU_KTO.SachkontoInlandSteuerpflichtig
+
+ Else
+ getSachkonto = BU_KTO.SachkontoInlandSteuerfrei
+ End If
+ Else
+ If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & [RK_RechnungsLandKz] & "'", "FMZOLL", False) Then
+ If [RP_Steuerpflichtig] Then
+ getSachkonto = BU_KTO.SachkontoEUSteuerpflichtig
+ Else
+ getSachkonto = BU_KTO.SachkontoEUSteuerfrei
+ End If
+ Else
+ getSachkonto = BU_KTO.Sachkonto3Land
+ End If
+ End If
+ If getSachkonto = "" Then getSachkonto = "9999" 'DEFAULT!
+
+ Case Else
+ If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz] Is DBNull.Value OrElse [RK_RechnungsLandKz].trim = "" _
+ OrElse [RK_RechnungsLandKz] = "A" _
+ OrElse [RK_RechnungsLandKz] = "AT" Then
+ If CBool([RP_Steuerpflichtig]) Then
+ getSachkonto = If(SQL.DLookup("[SachkontoInlandSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
+
+ Else
+ getSachkonto = If(SQL.DLookup("[SachkontoInlandSteuerfrei]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
+ End If
+ Else
+ If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & [RK_RechnungsLandKz] & "'", "FMZOLL", False) Then
+ If [RP_Steuerpflichtig] Then
+ getSachkonto = If(SQL.DLookup("[SachkontoEUSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
+ Else
+ getSachkonto = If(SQL.DLookup("[SachkontoEUSteuerfrei]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
+ End If
+ Else
+ getSachkonto = If(SQL.DLookup("[Sachkonto3Land]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
+ End If
+ End If
+ If getSachkonto = "" Then getSachkonto = "4000" 'DEFAULT!
+ End Select
+ Try
+
+ If Firma_Id = 20 Then
+ If getSachkonto = "3553" Then 'IMEX EUST
+ If RP_AufschubkontoNr Is DBNull.Value Then RP_AufschubkontoNr = ""
+ If RP_AufschubkontoNr.ToString.Contains("2719") Then
+ getSachkonto = "3550" '--> KTO M-2719
+ Else
+ getSachkonto = "3553" '--> KTO M-2718
+ End If
+ End If
+ End If
+ Catch ex As Exception
+
+ End Try
+ getSachkonto = CInt(getSachkonto)
+ End Function
+
+ Shared Function getSQLString_SELECTForTrdInvoice(Optional Firma As Integer = -1)
+ getSQLString_SELECTForTrdInvoice = "SELECT Rechnungsausgang.RechnungsDatum AS RK_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RK_RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum) AS RK_Abfertigungsdatum, min(Rechnungsausgang.FilialenNr) AS RK_FilialenNr,
+ min(Rechnungsausgang.AbfertigungsNr) AS RK_AbfertigungsNr, min(Rechnungsausgang.UnterNr) AS RK_UnterNr, min(Rechnungsausgang.BelegartenNr) AS RK_BelegartenNr,
+ (min(cast([FilialenNr] as varchar(4))) + '/' + min(cast([AbfertigungsNr] as varchar(8))) + '/' + min(cast([UnterNr] as varchar(2)))) AS RK_Buchungstext,
+ min(Rechnungsausgang.KundenNrZentrale) AS RK_KundenNrZentrale, min(Rechnungsausgang.RechnungsKundenNr) AS RK_RechnungsKundenNr, min(Rechnungsausgang.RechnungsLandKz) AS RK_RechnungsLandKz,
+ min(Rechnungsausgang.RechnungsUstIdKz) AS RK_RechnungsUstIdKz, min(Rechnungsausgang.RechnungsUstIdNr) AS RK_RechnungsUstIdNr, min(Rechnungsausgang.Lastschrift+0) AS RK_Lastschrift,
+ min(Rechnungsausgang.Steuerschlüssel) AS RK_Steuerschlüssel, min(Rechnungsausgang.[Steuersatz %]) AS RK_SteuersatzProzent, min(Rechnungsausgang.Währungscode) AS RK_Währungscode,
+ min(Rechnungsausgang.Nettozahlungsziel) AS RK_Nettozahlungsziel, min(Rechnungsausgang.Firma_ID) AS RK_Firma_ID, Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS RK_SteuerpflichtigerBetrag,
+ Sum(RechnungsausgangPositionen.SteuerfreierBetrag) AS RK_SteuerfreierBetrag
+ , (Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100 AS RK_Steuerbetrag,
+ Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)+Sum(RechnungsausgangPositionen.SteuerfreierBetrag)+((Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100) AS RK_Rechnungsbetrag,
+ Count(1) AS RK_Satzzähler
+ FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID
+ WHERE (((Rechnungsausgang.RechnungsDatum) Is Not Null) AND ((Rechnungsausgang.RechnungsNr) Is Not Null) AND ((Rechnungsausgang.Trdin)=0)) " & If(Firma > 0, " and Firma_ID=" & Firma, "") & "
+ GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr
+ ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);"
+ End Function
+
+
+ Shared Function getSQLString_SELECTForTrdProduct(RechnungsDatum As Date, RechnungsNr As Integer)
+ getSQLString_SELECTForTrdProduct = "SELECT Rechnungsausgang.RechnungsDatum AS RP_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RP_RechnungsNr, RechnungsausgangPositionen.LeistungsNr AS RP_LeistungsNr, RechnungsausgangPositionen.LeistungsBez AS RP_LeistungsBez,
+ RechnungsausgangPositionen.Steuerpflichtig AS RP_Steuerpflichtig, Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS RP_SteuerpflichtigerBetrag, Sum(RechnungsausgangPositionen.SteuerfreierBetrag) AS RP_SteuerfreierBetrag,
+ min(RechnungsausgangPositionen.Belegdaten) AS RP_Belegdaten, Count(1) AS RP_Satzzähler, min(AufschubkontoNr) as AufschubkontoNr
+ FROM RechnungsausgangPositionen INNER JOIN Rechnungsausgang ON RechnungsausgangPositionen.RK_ID = Rechnungsausgang.RK_ID
+ GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.LeistungsBez, RechnungsausgangPositionen.Steuerpflichtig
+ HAVING (((Rechnungsausgang.RechnungsDatum)='" & RechnungsDatum.ToShortDateString & "') AND ((Rechnungsausgang.RechnungsNr)=" & RechnungsNr & "))
+ ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.LeistungsBez, RechnungsausgangPositionen.Steuerpflichtig;"
+ End Function
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDAbfrage.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDAbfrage.vb
new file mode 100644
index 0000000..024b62c
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDAbfrage.vb
@@ -0,0 +1,250 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cUIDAbfrage
+
+
+ Property uid_id As Integer
+ Property uid_KundenNr As Integer
+ Property uid_Datum As Object = Nothing
+ Property uid_MaId As Integer
+ Property uid_Sachbearbeiter As Object = Nothing
+ Property uid_requesterCountryCode As Object = Nothing
+ Property uid_requesterVatNumber As Object = Nothing
+ Property uid_countryCode As Object = Nothing
+ Property uid_vatNumber As Object = Nothing
+ Property uid_requestDate As Object = Nothing
+ Property uid_valid As Boolean
+ Property uid_traderName As Object = Nothing
+ Property uid_traderCompanyType As Object = Nothing
+ Property uid_traderAddress As Object = Nothing
+ Property uid_traderStreet As Object = Nothing
+ Property uid_traderPostcode As Object = Nothing
+ Property uid_traderCity As Object = Nothing
+ Property uid_traderNameMatch As Object = Nothing
+ Property uid_traderCompanyTypeMatch As Object = Nothing
+ Property uid_traderStreetMatch As Object = Nothing
+ Property uid_traderPostcodeMatch As Object = Nothing
+ Property uid_traderCityMatch As Object = Nothing
+ Property uid_requestIdentifier As Object = Nothing
+
+
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(uid_id)
+ Me.uid_id = uid_id
+ LOAD()
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_id", uid_id, , True, True))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_KundenNr", uid_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_Datum", uid_Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_MaId", uid_MaId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_Sachbearbeiter", uid_Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_requesterCountryCode", uid_requesterCountryCode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_requesterVatNumber", uid_requesterVatNumber))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_countryCode", uid_countryCode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_vatNumber", uid_vatNumber))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_requestDate", uid_requestDate))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_valid", uid_valid))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderName", uid_traderName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderCompanyType", uid_traderCompanyType))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderAddress", uid_traderAddress))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderStreet", uid_traderStreet))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderPostcode", uid_traderPostcode))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderCity", uid_traderCity))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderNameMatch", uid_traderNameMatch))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderCompanyTypeMatch", uid_traderCompanyTypeMatch))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderStreetMatch", uid_traderStreetMatch))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderPostcodeMatch", uid_traderPostcodeMatch))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_traderCityMatch", uid_traderCityMatch))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_requestIdentifier", uid_requestIdentifier))
+
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblUIDAbfrage WITH(updlock,serializable) WHERE uid_id=@uid_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ uid_id = SQL.doSQLVarListID(uid_id, sqlstr, "FMZOLL", , list)
+ Return uid_id > 0
+ End Function
+
+ Public Shared Function LOADByKdNrDate(uid_KundenNr As Integer, uid_Datum As Date) As cUIDAbfrage
+ Try
+ Dim UID As New cUIDAbfrage
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblUIDAbfrage WHERE uid_KundenNr=@uid_KundenNr AND cast(uid_Datum as date)=@uid_Datum ", conn)
+ cmd.Parameters.AddWithValue("@uid_KundenNr", uid_KundenNr)
+ cmd.Parameters.AddWithValue("@uid_Datum", uid_Datum.ToShortDateString)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In UID.getParameterList()
+ Dim propInfo As PropertyInfo = UID.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(UID, Nothing)
+ Else
+ propInfo.SetValue(UID, dr.Item(l.Text))
+ End If
+
+ Next
+ dr.Close()
+ Return UID
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblUIDAbfrage WHERE uid_id=@uid_id ", conn)
+ cmd.Parameters.AddWithValue("@uid_id", uid_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblUIDAbfrage] SET " & str & " WHERE uid_id=@uid_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblUIDAbfrage (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+
+ Public Shared Function ABFRAGE(UstIdKz As String, UstIdNr As String, ByRef valid As Boolean) As cUIDAbfrage
+
+ Try
+ Dim vat As New UIDPruefung.checkVatService
+
+ Dim countryCode As String = UstIdKz
+ Dim vatNumber As String = UstIdNr
+ Dim traderName As String
+ Dim traderCompanyType As String
+ Dim traderStreet As String
+ Dim traderPostcode As String
+ Dim traderCity As String
+ Dim requesterCountryCode As String = "AT"
+ Dim requesterVatNumber As String = "U62663022"
+ 'Dim valid As Boolean
+ Dim traderAddress As String
+ Dim traderNameMatch As Integer
+ Dim traderNameMatchSpecified As Boolean
+ Dim traderCompanyTypeMatch As Integer
+ Dim traderCompanyTypeMatchSpecified As Boolean
+ Dim traderStreetMatch As Integer
+ Dim traderStreetMatchSpecified As Boolean
+ Dim traderPostcodeMatch As Integer
+ Dim traderPostcodeMatchSpecified As Boolean
+ Dim traderCityMatch As Integer
+ Dim traderCityMatchSpecified As Boolean
+ Dim requestIdentifier As String
+
+
+
+ ' Dim ass As New EU_UID_Pruefung.checkVatPortTypeClient()
+
+ ' ass.checkVatPortTypeClient()
+
+ ' Dim s = EU3t.checkVat("AT", "U53187000", valid, name, adress)
+ 'Dim s = vat.checkVat(ADRESSE.UstIdKz, ADRESSE.UstIdNr, valid, name, adress)
+ Dim s As Date = vat.checkVatApprox(countryCode, vatNumber, traderName, traderCompanyType, traderStreet, traderPostcode, traderCity, requesterCountryCode, requesterVatNumber, valid, traderAddress, traderNameMatch, traderNameMatchSpecified, traderCompanyTypeMatch, traderCompanyTypeMatchSpecified, traderStreetMatch, traderStreetMatchSpecified, traderPostcodeMatch, traderPostcodeMatchSpecified, traderCityMatch, traderCityMatchSpecified, requestIdentifier)
+
+
+ Dim UID As New cUIDAbfrage
+
+ ' UID()
+ ' MsgBox(requestIdentifier)
+ ' MsgBox(traderName)
+ ' MsgBox(traderStreet)
+ '' MsgBox(traderAddress)
+ ' ' MsgBox(adress)
+ ' MsgBox(name)
+
+
+ Return UID
+ Catch ex As Exception
+
+
+ Return Nothing
+ End Try
+ End Function
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb
new file mode 100644
index 0000000..ee53712
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb
@@ -0,0 +1,341 @@
+
+Imports System.Data.SqlClient
+Imports System.Reflection
+Imports VERAG_PROG_ALLGEMEIN.UIDPruefung
+'Imports SDL.eu.europa.ec
+
+Public Class cUIDPruefung
+
+ Property uid_id As Integer = -1
+ Property uid_KundenNr As Integer
+ Property uid_UstIdKz As String
+ Property uid_UstIdNr As String
+ Property uid_Datum As Date = Now
+ Property uid_valid As Boolean
+ Property uid_MaId As Object = Nothing
+ Property uid_Sachbearbeiter As String
+ Property uid_firma As Object = Nothing
+
+
+ Property uid_stufe As Integer = 1
+ Property Firma As String = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+ Property uid_abfrageUid As Object = Nothing
+ Property uid_sessionId As Object = Nothing
+
+
+
+ Property uid_adr1 As Object = Nothing
+ Property uid_adr2 As Object = Nothing
+ Property uid_adr3 As Object = Nothing
+ Property uid_adr4 As Object = Nothing
+ Property uid_adr5 As Object = Nothing
+ Property uid_adr6 As Object = Nothing
+
+
+ Shared SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(uid_id)
+ Me.uid_id = uid_id
+ LOAD()
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_id", uid_id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_KundenNr", uid_KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_UstIdKz", uid_UstIdKz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_UstIdNr", uid_UstIdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_Datum", uid_Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_valid", uid_valid))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_MaId", uid_MaId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_Sachbearbeiter", uid_Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_firma", uid_firma))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_stufe", uid_stufe))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma", Firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_abfrageUid", uid_abfrageUid))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_sessionId", uid_sessionId))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_adr1", uid_adr1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_adr2", uid_adr2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_adr3", uid_adr3))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_adr4", uid_adr4))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_adr5", uid_adr5))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uid_adr6", uid_adr6))
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblUIDPruefung WITH(updlock,serializable) WHERE uid_id=@uid_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ uid_id = SQL.doSQLVarListID(uid_id, sqlstr, "FMZOLL", , list)
+ Return uid_id > 0
+ End Function
+
+ Public Shared Function LOADByKdNrDate(ba_KundenNr As Integer, ba_Datum As Date) As cUIDPruefung
+ Try
+ Dim UID As New cUIDPruefung
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblUIDPruefung WHERE ba_KundenNr=@ba_KundenNr AND cast(ba_Datum as date)=@ba_Datum ", conn)
+ cmd.Parameters.AddWithValue("@ba_KundenNr", ba_KundenNr)
+ cmd.Parameters.AddWithValue("@ba_Datum", ba_Datum.ToShortDateString)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In UID.getParameterList()
+ Dim propInfo As PropertyInfo = UID.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(UID, Nothing)
+ Else
+ propInfo.SetValue(UID, dr.Item(l.Text))
+ End If
+
+ Next
+ dr.Close()
+ Return UID
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+
+ Public Shared Function doUIDPruefungALL(Optional datum As Object = Nothing, Optional SaveErgInAdressen As Boolean = True, Optional Sciherheitsabfrage As Boolean = True, Optional MaxEintraege As Integer = -1, Optional showErr As Boolean = True) As DataTable
+ Dim dt As DataTable = Nothing
+ If datum = Nothing Then datum = CDate("01." & Now.ToString("MM.yyyy")).AddMonths(-1)
+
+ Dim where = ""
+ Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+ Case "AMBAR" : where = " And Filialen.FilialenNr IN (5701)"
+ Case "IMEX" : where = " And Filialen.FilialenNr IN (5501)"
+ Case "ATILLA" : where = " And Filialen.FilialenNr IN (4801)"
+ Case "UNISPED" : where = " AND Filialen.firma='UNISPED' "
+ Case Else : where = " AND Filialen.firma='VERAG' " '" And isnull(FilialenNr,'') Not IN (5501,5701)"
+ End Select
+ Dim Top = ""
+ If MaxEintraege > 0 Then
+ Top = " TOP " & MaxEintraege
+ End If
+
+ dt = SQL.loadDgvBySql("SELECT " & Top & " [AdressenNr] as KdNr,[Ordnungsbegriff] as Firma,UstIdGeprüft as [letzte Prüfung],Adressen.UstIdKz,Adressen.UstIdnr " &
+ " From [Adressen] inner Join kunden On KundenNr=AdressenNr inner join Filialen on Filialen.FilialenNr=Kunden.FilialenNr " &
+ " where (UstIdGeprüft <= '" & datum.ToShortDateString & "' OR (Adressen.UstIdKz is not null and Adressen.UstIdNr is not null)) " &
+ " And Auswahl='A' " & where & " ORDER BY Ordnungsbegriff", "FMZOLL")
+
+ If dt IsNot Nothing Then
+ If dt.Rows.Count = 0 Then Return Nothing
+ If Sciherheitsabfrage Then
+ If vbYes <> MsgBox("Es werden " & dt.Rows.Count & " Datensätze abgefragt, möchten Sie fortfahren?", vbYesNoCancel) Then
+ Return Nothing
+ End If
+ End If
+ Dim c As New DataColumn
+ c.ColumnName = "Ergebnis"
+ dt.Columns.Add(c)
+ For Each r As DataRow In dt.Rows
+ Dim UID_TMP = doUIDPruefung(r("KdNr"),, SaveErgInAdressen, showErr)
+ If UID_TMP IsNot Nothing Then
+ If UID_TMP.uid_valid Then
+ r("Ergebnis") = "OK"
+ Else
+ r("Ergebnis") = "UNGÜLTIG"
+ End If
+ Else
+ r("Ergebnis") = "ERROR"
+ End If
+ Next
+ End If
+
+ Return dt
+ End Function
+
+
+ Public Shared Function doUIDPruefung(ba_KundenNr, Optional AskIfDouble = False, Optional SaveErgInAdressen = True, Optional showErr = True) As cUIDPruefung
+
+ Dim AD As New cAdressen(ba_KundenNr)
+ If AD IsNot Nothing Then
+ If AD.UstIdKz IsNot Nothing AndAlso AD.UstIdNr IsNot Nothing Then
+
+ Try
+ If AskIfDouble Then
+ If IsDate(AD.UstIdGeprüft) AndAlso CDate(AD.UstIdGeprüft).ToShortDateString = Now.ToShortDateString Then
+ If vbYes <> MsgBox("Die UID-Nummer wurde heute bereits geprüft. Soll die Prüfung nochmal durchgeführt werden?", vbYesNoCancel) Then
+ Return Nothing
+ End If
+ End If
+ End If
+
+ Dim vat As New UIDPruefung.checkVatService
+
+ ' Dim EU3t As New SDL.eu.europa.ec.checkVatService("checkVatPort", "http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl") '"urn:ec.europa.eu:taxud:vies:services:checkVat:types")
+ ' Dim EU4 As New EU_Uid_Pruefung.checkVatPortTyp
+ ' EU3.checkVatPortType()
+ ' "EU_Uid_Pruefung.checkVatPortType"
+ ' Dim valid As Boolean = False
+ 'Dim name As String = ""
+ 'Dim adress As String = ""
+
+ Dim countryCode As String = AD.UstIdKz
+ Dim vatNumber As String = AD.UstIdNr
+ Dim traderName As String
+ Dim traderCompanyType As String
+ Dim traderStreet As String
+ Dim traderPostcode As String
+ Dim traderCity As String
+
+ Dim requesterCountryCode As String = "AT"
+ Dim requesterVatNumber As String = "U62663022"
+ Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+ Case "IMEX"
+ requesterCountryCode = "AT"
+ requesterVatNumber = "U68490714"
+ End Select
+ Dim valid As Boolean = False
+ Dim traderAddress As String
+ Dim traderNameMatch As matchCode
+ Dim traderNameMatchSpecified As Boolean
+ Dim traderCompanyTypeMatch As matchCode
+ Dim traderCompanyTypeMatchSpecified As Boolean
+ Dim traderStreetMatch As matchCode
+ Dim traderStreetMatchSpecified As Boolean
+ Dim traderPostcodeMatch As matchCode
+ Dim traderPostcodeMatchSpecified As Boolean
+ Dim traderCityMatch As matchCode
+ Dim traderCityMatchSpecified As Boolean
+ Dim requestIdentifier As String
+
+
+
+ ' Dim ass As New EU_UID_Pruefung.checkVatPortTypeClient()
+
+ ' ass.checkVatPortTypeClient()
+
+ ' Dim s = EU3t.checkVat("AT", "U53187000", valid, name, adress)
+ 'Dim s = vat.checkVat(ADRESSE.UstIdKz, ADRESSE.UstIdNr, valid, name, adress)
+ Dim s = vat.checkVatApprox(countryCode, vatNumber, traderName, traderCompanyType, traderStreet, traderPostcode, traderCity, requesterCountryCode, requesterVatNumber, valid, traderAddress, traderNameMatch, traderNameMatchSpecified, traderCompanyTypeMatch, traderCompanyTypeMatchSpecified, traderStreetMatch, traderStreetMatchSpecified, traderPostcodeMatch, traderPostcodeMatchSpecified, traderCityMatch, traderCityMatchSpecified, requestIdentifier)
+
+ If s >= Now.ToShortDateString Then 'If s IsNot Nothing Then
+ Dim UID_TMP As New cUIDPruefung
+ UID_TMP.uid_Datum = Now
+ UID_TMP.uid_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
+ If If(UID_TMP.uid_Sachbearbeiter, "") = "" Then UID_TMP.uid_Sachbearbeiter = "AUTO"
+ UID_TMP.uid_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+ UID_TMP.uid_valid = valid
+ UID_TMP.uid_KundenNr = ba_KundenNr
+
+ UID_TMP.uid_UstIdKz = AD.UstIdKz
+ UID_TMP.uid_UstIdNr = AD.UstIdNr
+ UID_TMP.uid_stufe = 1
+ UID_TMP.Firma = If(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA, "VERAG")
+
+ UID_TMP.uid_abfrageUid = requesterCountryCode & requesterVatNumber
+ ' UID.uid_firma =
+ ' UID.uid_strasse))
+ 'UID.uid_plz))
+ 'UID.uid_ort))
+
+ UID_TMP.SAVE()
+ If valid Then
+ If SaveErgInAdressen Then
+ AD.UstIdGeprüft = Now.ToShortDateString
+ AD.SAVE()
+ End If
+ End If
+ Return UID_TMP
+ End If
+ Catch ex As Exception
+ If showErr Then MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End If
+ End If
+
+ Return Nothing
+ End Function
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblUIDPruefung WHERE uid_id=@uid_id ", conn)
+ cmd.Parameters.AddWithValue("@uid_id", uid_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblUIDPruefung] SET " & str & " WHERE uid_id=@uid_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblUIDPruefung (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cVoraskasse.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cVoraskasse.vb
new file mode 100644
index 0000000..b3db36d
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cVoraskasse.vb
@@ -0,0 +1,144 @@
+
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cVoraskasse
+
+ Property vk_id As Integer
+ Property vk_FilialeNr As Object = Nothing
+ Property vk_AbfertigungsNr As Object = Nothing
+ Property vk_Datum As Object = Nothing
+ Property vk_LKW As Object = Nothing
+ Property vk_KdNr As Object = Nothing
+ Property vk_Firma As Object = Nothing
+ Property vk_Betrag As Object = Nothing
+ Property vk_QS_SachbearbeiterId As Object = Nothing
+ Property vk_QS_Sachbearbeiter As Object = Nothing
+ Property vk_QS_Bemerkung As Object = Nothing
+ Property vk_GeldEingetroffen As Boolean = False
+ Property vk_BH_SachbearbeiterId As Object = Nothing
+ Property vk_BH_Sachbearbeiter As Object = Nothing
+ Property vk_BH_Bemerkung As Object = Nothing
+ Property vk_BH_DatumGeldeingang As Object = Nothing
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+
+ End Sub
+ Sub New(vk_id)
+ Me.vk_id = vk_id
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_id", vk_id, , True))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_FilialeNr", vk_FilialeNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_AbfertigungsNr", vk_AbfertigungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Datum", vk_Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_LKW", vk_LKW))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_KdNr", vk_KdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Firma", vk_Firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Betrag", vk_Betrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_QS_SachbearbeiterId", vk_QS_SachbearbeiterId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_QS_Sachbearbeiter", vk_QS_Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_QS_Bemerkung", vk_QS_Bemerkung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_GeldEingetroffen", vk_GeldEingetroffen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_SachbearbeiterId", vk_BH_SachbearbeiterId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_Sachbearbeiter", vk_BH_Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_Bemerkung", vk_BH_Bemerkung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_DatumGeldeingang", vk_BH_DatumGeldeingang))
+
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblVorauskasse WITH(updlock,serializable) WHERE vk_id=@vk_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Dim id = SQL.doSQLVarListID(vk_id, sqlstr, "ADMIN", , list)
+ Me.vk_id = id
+ Return id > 0
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
+ Using cmd As New SqlCommand("SELECT * FROM tblVorauskasse WHERE vk_id=@vk_id ", conn)
+ cmd.Parameters.AddWithValue("@vk_id", vk_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblVorauskasse] SET " & str & " WHERE vk_id=@vk_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblVorauskasse (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cVorauskasse.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cVorauskasse.vb
new file mode 100644
index 0000000..726c060
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cVorauskasse.vb
@@ -0,0 +1,303 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+
+Public Class cVorauskasse
+
+
+ Property vk_id As Integer = -1
+ Property vk_FilialeNr As Object = Nothing
+ Property vk_AbfertigungsNr As Object = Nothing
+ Property vk_Datum As Object = Nothing
+ Property vk_LKW As Object = Nothing
+ Property vk_KdNr As Object = Nothing
+ Property vk_Firma As Object = Nothing
+ Property vk_Betrag As Decimal = 0.0
+ Property vk_QS_SachbearbeiterId As Integer
+ Property vk_QS_Sachbearbeiter As Object = Nothing
+ Property vk_QS_Bemerkung As Object = Nothing
+ Property vk_GeldEingetroffen As Boolean = False
+ Property vk_BH_SachbearbeiterId As Object = Nothing
+ Property vk_BH_Sachbearbeiter As Object = Nothing
+ Property vk_BH_Bemerkung As Object = Nothing
+ Property vk_BH_DatumGeldeingang As Object = Nothing
+ Property vk_storno As Boolean = False
+ Property vk_stornoDatum As Object = Nothing
+
+
+ Property vk_Rolle As Object = Nothing
+ Property vk_Anrede As Object = Nothing
+ Property vk_Firmenwortlauf As Object = Nothing
+ Property vk_Aresse1 As Object = Nothing
+ Property vk_Adresse2 As Object = Nothing
+ Property vk_UID As Object = Nothing
+ Property vk_EORI As Object = Nothing
+ Property vk_Tel As Object = Nothing
+ Property vk_Fax As Object = Nothing
+ Property vk_Email As Object = Nothing
+ Property vk_RgNr As Object = Nothing
+ Property vk_Absender As Object = Nothing
+ Property vk_ATREUR1 As Object = Nothing
+ Property vk_Fraechter As Object = Nothing
+ Property vk_Anzahl As Object = Nothing
+ Property vk_Warenbezeichnung As Object = Nothing
+ Property vk_Colli As Object = Nothing
+ Property vk_FaStNr As Object = Nothing
+
+ Property vk_Berechnung_Rechnungsbetrag As Object = Nothing
+ Property vk_Berechnung_FrachtkostAusland As Object = Nothing
+ Property vk_Berechnung_ZollProz As Object = Nothing
+ Property vk_Berechnung_FrachtkostInland As Object = Nothing
+ Property vk_Berechnung_AbgabenSonst_Bez As Object = Nothing
+ Property vk_Berechnung_AbgabenSonst_Betrag As Object = Nothing
+ Property vk_Berechnung_EUSTProz As Object = Nothing
+ Property vk_Berechnung_KostenSonst_Bez As Object = Nothing
+ Property vk_Berechnung_KostenSonst_Betrag As Object = Nothing
+ Property vk_Berechnung_Verzollung As Object = Nothing
+ Property vk_Berechnung_jeWeitere As Object = Nothing
+ Property vk_Berechnung_ATLAS As Object = Nothing
+ Property vk_Berechnung_Clearing As Object = Nothing
+ Property vk_Berechnung_korrRg As Object = Nothing
+ Property vk_Berechnung_Übersetzung As Object = Nothing
+ Property vk_Berechnung_Aviso As Object = Nothing
+ Property vk_Berechnung_SVS As Object = Nothing
+ Property vk_Berechnung_SonstigeKosten As Object = Nothing
+ Property vk_Berechnung_SonstigeKostenText As Object = Nothing
+ Property vk_Berechnung_PP As Object = Nothing
+ Property vk_Freigegeben As Boolean = False
+ Property vk_SendungId As Object = Nothing
+ Property vk_AvisoId As Object = Nothing
+ Property vk_VermerkId As Object = Nothing
+
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(vk_id)
+ Me.vk_id = vk_id
+ LOAD()
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_id", vk_id, , True, True))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_FilialeNr", vk_FilialeNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_AbfertigungsNr", vk_AbfertigungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Datum", vk_Datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_LKW", vk_LKW))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_KdNr", vk_KdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Firma", vk_Firma))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Betrag", (vk_Betrag))) '.ToString("N2")))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_QS_SachbearbeiterId", vk_QS_SachbearbeiterId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_QS_Sachbearbeiter", vk_QS_Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_QS_Bemerkung", vk_QS_Bemerkung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_GeldEingetroffen", vk_GeldEingetroffen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_SachbearbeiterId", vk_BH_SachbearbeiterId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_Sachbearbeiter", vk_BH_Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_Bemerkung", vk_BH_Bemerkung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_BH_DatumGeldeingang", vk_BH_DatumGeldeingang))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_storno", vk_storno))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_stornoDatum", vk_stornoDatum))
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Rolle", vk_Rolle))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Anrede", vk_Anrede))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Firmenwortlauf", vk_Firmenwortlauf))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Aresse1", vk_Aresse1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Adresse2", vk_Adresse2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_UID", vk_UID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_EORI", vk_EORI))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Tel", vk_Tel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Fax", vk_Fax))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Email", vk_Email))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_RgNr", vk_RgNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Absender", vk_Absender))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_ATREUR1", vk_ATREUR1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Fraechter", vk_Fraechter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Anzahl", vk_Anzahl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Warenbezeichnung", vk_Warenbezeichnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Colli", vk_Colli))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_FaStNr", vk_FaStNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_Rechnungsbetrag", vk_Berechnung_Rechnungsbetrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_FrachtkostAusland", vk_Berechnung_FrachtkostAusland))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_ZollProz", vk_Berechnung_ZollProz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_FrachtkostInland", vk_Berechnung_FrachtkostInland))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_AbgabenSonst_Bez", vk_Berechnung_AbgabenSonst_Bez))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_AbgabenSonst_Betrag", vk_Berechnung_AbgabenSonst_Betrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_EUSTProz", vk_Berechnung_EUSTProz))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_KostenSonst_Bez", vk_Berechnung_KostenSonst_Bez))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_KostenSonst_Betrag", vk_Berechnung_KostenSonst_Betrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_Verzollung", vk_Berechnung_Verzollung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_jeWeitere", vk_Berechnung_jeWeitere))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_ATLAS", vk_Berechnung_ATLAS))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_Clearing", vk_Berechnung_Clearing))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_korrRg", vk_Berechnung_korrRg))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_Übersetzung", vk_Berechnung_Übersetzung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_Aviso", vk_Berechnung_Aviso))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_SVS", vk_Berechnung_SVS))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_SonstigeKosten", vk_Berechnung_SonstigeKosten))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Berechnung_PP", vk_Berechnung_PP))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_Freigegeben", vk_Freigegeben))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_SendungId", vk_SendungId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_AvisoId", vk_AvisoId))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vk_VermerkId", vk_VermerkId))
+
+ Return list
+ End Function
+
+
+
+ Public Shared Function LOADByFilialeAbfNr(FilialeNr As Integer, AbfertigungsNr As Integer, Optional vk_Rolle As String = "") As cVorauskasse
+ Try
+ Dim VK As New cVorauskasse
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblVorauskassen WHERE vk_AbfertigungsNr=@vk_AbfertigungsNr AND vk_FilialeNr=@vk_FilialeNr " & If(If(vk_Rolle, "") <> "", "AND vk_Rolle=@vk_Rolle ", ""), conn)
+ cmd.Parameters.AddWithValue("@vk_FilialeNr", FilialeNr)
+ cmd.Parameters.AddWithValue("@vk_AbfertigungsNr", AbfertigungsNr)
+ cmd.Parameters.AddWithValue("@vk_Rolle", vk_Rolle)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In VK.getParameterList()
+ Dim propInfo As PropertyInfo = VK.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(VK, Nothing)
+ Else
+ propInfo.SetValue(VK, dr.Item(l.Text))
+ End If
+ Next
+ dr.Close()
+ Return VK
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return Nothing
+ End Function
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblVorauskassen WITH(updlock,serializable) WHERE vk_id=@vk_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ vk_id = SQL.doSQLVarListID(vk_id, sqlstr, "FMZOLL", , list)
+ Return vk_id > 0
+ End Function
+
+
+ Public Function SET_GELDEINGANG(vk_GeldEingetroffen As Boolean, Optional vk_BH_Bemerkung As Object = Nothing) As Boolean
+ Me.vk_GeldEingetroffen = vk_GeldEingetroffen
+ Me.vk_Freigegeben = vk_GeldEingetroffen
+
+ If Me.vk_GeldEingetroffen Then
+ Me.vk_BH_DatumGeldeingang = Now
+ Me.vk_BH_SachbearbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_id
+ Me.vk_BH_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
+ Else
+ Me.vk_BH_DatumGeldeingang = Nothing
+ Me.vk_BH_SachbearbeiterId = Nothing
+ Me.vk_BH_Sachbearbeiter = Nothing
+ End If
+ Me.vk_BH_Bemerkung = vk_BH_Bemerkung
+
+ Return SAVE()
+ End Function
+
+ Public Function SET_FREIGEGEBEN(vk_Freigegeben As Boolean, Optional vk_BH_Bemerkung As Object = Nothing) As Boolean
+ Me.vk_Freigegeben = vk_Freigegeben
+ Me.vk_BH_Bemerkung = vk_BH_Bemerkung
+ Return SAVE()
+ End Function
+
+ Public Function SET_STORNO() As Boolean
+ Me.vk_storno = Not Me.vk_storno
+ Return SAVE()
+ End Function
+
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblVorauskassen WHERE vk_id=@vk_id ", conn)
+ cmd.Parameters.AddWithValue("@vk_id", vk_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblVorauskassen] SET " & str & " WHERE vk_id=@vk_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblVorauskassen (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblVorauskassen] WITH(updlock,serializable) WHERE vk_id=" & Me.vk_id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cWarenbezeichnungBegriffe.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cWarenbezeichnungBegriffe.vb
new file mode 100644
index 0000000..6b43830
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cWarenbezeichnungBegriffe.vb
@@ -0,0 +1,134 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cWarenbezeichnungBegriffe
+ Property wb_id As Integer
+ Property wb_begriff As String
+ Property wb_beispiele As String
+ Property wb_datum As Date = Now
+ Property wb_Sachbearbeiter As String
+ Property wb_SachbearbeiterId As Integer
+
+
+ Public hasEntry As Boolean = False
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(wb_id)
+ If wb_id IsNot Nothing Then
+ Me.wb_id = wb_id
+ LOAD()
+ End If
+ End Sub
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wb_id", wb_id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wb_begriff", wb_begriff))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wb_beispiele", wb_beispiele))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wb_datum", wb_datum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wb_Sachbearbeiter", wb_Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("wb_SachbearbeiterId", wb_SachbearbeiterId))
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Me.wb_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
+ Me.wb_SachbearbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblWarenbezeichnungBegriffe WITH(updlock,serializable) WHERE wb_id=@wb_id) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ wb_id = SQL.doSQLVarListID(wb_id, sqlstr, "FMZOLL", , list)
+ Return wb_id > 0
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblWarenbezeichnungBegriffe WHERE wb_id=@wb_id ", conn)
+ cmd.Parameters.AddWithValue("@wb_id", wb_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+ hasEntry = True
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [tblWarenbezeichnungBegriffe] SET " & str & " WHERE wb_id=@wb_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblWarenbezeichnungBegriffe (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [tblWarenbezeichnungBegriffe] WITH(updlock,serializable) WHERE wb_id=" & Me.wb_id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Shared Function DELETE(id As Integer) As Boolean
+ Dim SQL As New SQL
+ Dim sqlstr = " DELETE FROM [tblWarenbezeichnungBegriffe] WHERE wb_id=" & id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZkteing.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZkteing.vb
new file mode 100644
index 0000000..669432b
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZkteing.vb
@@ -0,0 +1,181 @@
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+
+
+Public Class cZkteing
+
+ Property Index As Integer = -1
+ Property Status As Object = Nothing
+ Property ZollamtsNr As Object = Nothing
+ Property Jahr As Object = Nothing
+ Property KennNr As Object = Nothing
+ Property Nummer As Object = Nothing
+ Property Leitzahl As Object = Nothing
+ Property Belegart As Object = Nothing
+ Property LeistungsNr As Object = Nothing
+ Property Betrag As Object = Nothing
+ Property Eingabedatum As Date
+ Property Abfertigungsdatum As Object = Nothing
+ Property Übernahmedatum As Date
+ Property Bemerkung As Object = Nothing
+ Property Sachbearbeiter As String = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
+ Property Bezugsnummer As Object = Nothing
+ Property Registriernummer As Object = Nothing
+ Property Korrekturnummer As Object = Nothing
+ Property AOFD As Object = Nothing
+ Property AKTO As Object = Nothing
+ Property Fälligkeitsdatum As Object = Nothing
+ Property Dateiname As Object = Nothing
+ Property Mandant As Object = Nothing
+ Property Niederlassung As Object = Nothing
+
+ Property LeistungsBez As Object = Nothing
+
+ Public hasEntry As Boolean = False
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(Index)
+ Me.Index = Index
+ LOAD()
+ End Sub
+
+ Shared Function UPDATE_Status(Status, Zkteing_Index) As Boolean
+ Dim ZK As New VERAG_PROG_ALLGEMEIN.cZkteing(Zkteing_Index)
+ If ZK IsNot Nothing AndAlso ZK.hasEntry Then
+ ZK.Status = Status
+ Return ZK.SAVE
+ End If
+ Return False
+ End Function
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Index", Index, , True, True))
+
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Status", Status))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ZollamtsNr", ZollamtsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Jahr", Jahr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KennNr", KennNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nummer", Nummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leitzahl", Leitzahl))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegart", Belegart))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag", Betrag))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eingabedatum", Eingabedatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsdatum", Abfertigungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Übernahmedatum", Übernahmedatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bemerkung", Bemerkung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezugsnummer", Bezugsnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Registriernummer", Registriernummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Korrekturnummer", Korrekturnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AOFD", AOFD))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AKTO", AKTO))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fälligkeitsdatum", Fälligkeitsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Dateiname", Dateiname))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mandant", Mandant))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Niederlassung", Niederlassung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez))
+
+ Return list
+ End Function
+
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Zkteing WITH(updlock,serializable) WHERE [Index]=@Index) " &
+ " BEGIN " & getUpdateCmd() & " END " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " END " &
+ " commit tran "
+
+ Index = SQL.doSQLVarListID(Index, sqlstr, "FMZOLL", , list)
+ Return Index > 0
+ End Function
+
+
+ Public Sub LOAD()
+ hasEntry = False
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM Zkteing WHERE [Index]=@Index ", conn)
+ cmd.Parameters.AddWithValue("@Index", Index)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+
+ Next
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [Zkteing] SET " & str & " WHERE [Index]=@Index ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO Zkteing (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM [Zkteing] WITH(updlock,serializable) WHERE Index=" & Me.Index
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+
+End Class
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollArtikel.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollArtikel.vb
new file mode 100644
index 0000000..b0db5c2
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollArtikel.vb
@@ -0,0 +1,173 @@
+
+Imports System.Data.SqlClient
+ Imports System.Reflection
+
+Public Class cZollArtikel
+
+ Property zollArt_id As Integer
+ Property KundenNr As Integer
+ Property zollArt_Teilsatzschluessel As Object = Nothing
+ Property zollArt_Verarbeitungskennzeichen As Object = Nothing
+ Property zollArt_Artikelnummer As Object = Nothing
+ Property zollArt_Dynamische_Ergaenzung_1 As Object = Nothing
+ Property zollArt_Dynamische_Ergaenzung_2 As Object = Nothing
+ Property zollArt_Kundennummer As Object = Nothing
+ Property zollArt_Warencodenummer As Object = Nothing
+ Property zollArt_Zusatzcode_1 As Object = Nothing
+ Property zollArt_Zusatzcode_2 As Object = Nothing
+ Property zollArt_Kennzeichen_Gueltig As Object = Nothing
+ Property zollArt_Kurzbezeichnung As Object = Nothing
+ Property zollArt_Warenbeschreibung As Object = Nothing
+ Property zollArt_Statistische_Maßeinheit As Object = Nothing
+ Property zollArt_Statistische_Maßeinheit_Qualifikator As Object = Nothing
+ Property zollArt_Besondere_Maßeinheit As Object = Nothing
+ Property zollArt_Besondere_Maßeinheit_Qualifikator As Object = Nothing
+ Property zollArt_Gewicht As Object = Nothing
+ Property zollArt_Menge As Object = Nothing
+ Property Erfassungsdatum As Object = Nothing
+ Property Aenderungsdatum As Object = Nothing
+ Property Sachbearbeiter As Object = Nothing
+ Property zollArt_Status As Object = Nothing
+
+
+ Public hasEntry As Boolean = False
+
+ Dim SQL As New SQL
+
+ Sub New()
+ End Sub
+
+ Sub New(zollArt_id)
+ If zollArt_id IsNot Nothing Then
+ Me.zollArt_id = zollArt_id
+ LOAD()
+ End If
+ End Sub
+
+
+ Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_id", zollArt_id, , True, True))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Teilsatzschluessel", zollArt_Teilsatzschluessel))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Verarbeitungskennzeichen", zollArt_Verarbeitungskennzeichen))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Artikelnummer", zollArt_Artikelnummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Dynamische_Ergaenzung_1", zollArt_Dynamische_Ergaenzung_1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Dynamische_Ergaenzung_2", zollArt_Dynamische_Ergaenzung_2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Kundennummer", zollArt_Kundennummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Warencodenummer", zollArt_Warencodenummer))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Zusatzcode_1", zollArt_Zusatzcode_1))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Zusatzcode_2", zollArt_Zusatzcode_2))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Kennzeichen_Gueltig", zollArt_Kennzeichen_Gueltig))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Kurzbezeichnung", zollArt_Kurzbezeichnung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Warenbeschreibung", zollArt_Warenbeschreibung))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Statistische_Maßeinheit", zollArt_Statistische_Maßeinheit))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Statistische_Maßeinheit_Qualifikator", zollArt_Statistische_Maßeinheit_Qualifikator))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Besondere_Maßeinheit", zollArt_Besondere_Maßeinheit))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Besondere_Maßeinheit_Qualifikator", zollArt_Besondere_Maßeinheit_Qualifikator))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Gewicht", zollArt_Gewicht))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Menge", zollArt_Menge))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erfassungsdatum", Erfassungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Aenderungsdatum", Aenderungsdatum))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("zollArt_Status", zollArt_Status))
+
+
+ Return list
+ End Function
+
+
+
+ Public Function SAVE(Optional errHinweis = "") As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblZollArtikel WHERE zollArt_id=@zollArt_id) " &
+ " BEGIN " & getUpdateCmd() & " End " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " End " &
+ " commit tran "
+
+ zollArt_id = SQL.doSQLVarListID(zollArt_id, sqlstr, "FMZOLL", , list,, errHinweis)
+ Return zollArt_id > 0
+ End Function
+
+ Public Sub LOAD()
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("Select * FROM tblZollArtikel WHERE zollArt_id=@zollArt_id ", conn)
+ cmd.Parameters.AddWithValue("@zollArt_id", zollArt_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each l In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
+
+ If dr.Item(l.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(l.Text))
+ End If
+ hasEntry = True
+ Next
+
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "" & i.Text & " = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE tblZollArtikel SET " & str & " WHERE zollArt_id=@zollArt_id ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "" & i.Text & ","
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO tblZollArtikel (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+ Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
+ Dim sqlstr = " DELETE FROM tblZollArtikel WITH(updlock,serializable) WHERE zollArt_id=" & Me.zollArt_id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+
+ Public Shared Function DELETE(id As Integer) As Boolean
+ Dim SQL As New SQL
+ Dim sqlstr = " DELETE FROM tblZollArtikel WHERE zollArt_id=" & id
+ Return SQL.doSQL(sqlstr, "FMZOLL")
+ End Function
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollTarifAtlas.vb b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollTarifAtlas.vb
new file mode 100644
index 0000000..b6cc21c
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Classes/cZollTarifAtlas.vb
@@ -0,0 +1,123 @@
+Imports System.Data.SqlClient
+Imports System.Reflection
+
+Public Class cZollTarifAtlas_LIST
+
+ Property LIST As New List(Of cZollTarifAtlas)
+
+ Dim SQL As New SQL
+
+ Sub New()
+ LOAD_LIST()
+ End Sub
+
+ Public Sub LOAD_LIST()
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionATLAS()
+ Using cmd As New SqlCommand("SELECT * FROM [ezttxt] WHERE [ezttxt_datend] >= getdate() ORDER BY [ezttxt_code] ", conn)
+ Dim dr = cmd.ExecuteReader()
+ While dr.Read
+ Dim l As New cZollTarifAtlas
+ For Each i In l.getParameterList()
+ Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
+ If dr.Item(i.Text) Is DBNull.Value Then
+ propInfo.SetValue(l, Nothing)
+ Else
+ propInfo.SetValue(l, dr.Item(i.Text))
+ End If
+ Next
+
+ LIST.Add(l)
+
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+ Function getFullTxt(WCNR As cZollTarifAtlas) As String
+ getFullTxt = WCNR.ezttxt_text
+ Dim index = getIndexInList(WCNR.ezttxt_code)
+ 'Dim hirachie = WCNR.ezttxt_hirnr
+ For hirachie = WCNR.ezttxt_hirnr To 0 Step -1 'so oft bis alle Hirachieebenen durchgelaufen sind
+ For i = index To 0 Step -1
+ If LIST(i).ezttxt_hirnr = (hirachie - 1) Then
+ getFullTxt = WCNR.ezttxt_text & " " & getFullTxt
+ index = i
+ End If
+ Next
+ Next
+ End Function
+
+ Function getFullTxtByCode(code As String) As String
+ Dim WCNR As cZollTarifAtlas = getFromList(code)
+ If WCNR Is Nothing Then Return ""
+ getFullTxtByCode = WCNR.ezttxt_text
+ Dim index = getIndexInList(WCNR.ezttxt_code)
+
+ If index < 0 Then Return ""
+ If WCNR.ezttxt_hirnr > 0 Then
+ For hirachie = CInt(WCNR.ezttxt_hirnr) To 0 Step -1 'so oft bis alle Hirachieebenen durchgelaufen sind
+ For i = index To 0 Step -1
+ If LIST(i).ezttxt_hirnr = (hirachie - 1) Then
+ getFullTxtByCode = LIST(i).ezttxt_text & " " & getFullTxtByCode
+ index = i
+ Exit For
+ End If
+ Next
+ Next
+ End If
+ End Function
+
+
+ Function getIndexInList(code) As Integer
+ For Each i In LIST
+ If i.ezttxt_code.trim = code.trim Then
+ Return LIST.IndexOf(i)
+ End If
+ Next
+ Return -1
+ End Function
+
+ Function getFromList(code) As cZollTarifAtlas
+ For Each i In LIST
+ If i.ezttxt_code = code Then
+ Return i
+ End If
+ Next
+ Return Nothing
+ End Function
+End Class
+Public Class cZollTarifAtlas
+
+ Property ezttxt_code As Object = Nothing
+ Property ezttxt_hirnr As Object = Nothing
+ Property ezttxt_cdesid As Object = Nothing
+ Property ezttxt_datbeg As Object = Nothing
+ Property ezttxt_datend As Object = Nothing
+ Property ezttxt_txtart As Object = Nothing
+ Property ezttxt_text As Object = Nothing
+ Property ezttxt_edat As Object = Nothing
+ Property ezttxt_adat As Object = Nothing
+ Property ezttxt_sb As Object = Nothing
+
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_code", ezttxt_code))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_hirnr", ezttxt_hirnr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_cdesid", ezttxt_cdesid))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_datbeg", ezttxt_datbeg))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_datend", ezttxt_datend))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_txtart", ezttxt_txtart))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_text", ezttxt_text))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_edat", ezttxt_edat))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_adat", ezttxt_adat))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezttxt_sb", ezttxt_sb))
+
+ Return list
+ End Function
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb
new file mode 100644
index 0000000..04d1ec0
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb
@@ -0,0 +1,1919 @@
+Imports System.Data.SqlClient
+Imports System.IO
+Imports iTextSharp.text.pdf
+Imports System.Drawing.Printing
+Imports Ghostscript.NET.Processor
+Imports System.Runtime.InteropServices
+Imports System.Windows.Forms
+Imports System.Drawing
+
+
+Public Class cDATENSERVER
+
+ Property da_id As Object = Nothing
+ Property da_kategorie As String = ""
+ Property da_ordner As String = ""
+ Property da_KundenNr As Integer = 0
+ Property da_vorlage As Boolean = True
+ Property da_uOrdner1 As String = "" 'SDL: LKW
+ Property da_uOrdner2 As String = "" 'SDL: SDL_Leistung/...
+ Property da_uOrdner3 As String = "" 'SDL: History
+ Property da_name As String = ""
+ 'Property da_pfad As Object = Nothing
+ Property da_info As String = ""
+ Property da_multifiles As Boolean = False
+
+ Public Property DATA_LIST As New cDatenserverIDCollectionList
+
+ Dim rootDir = ""
+ Dim SQL As New SQL
+ ' Public LAST_ID = -1
+
+
+ Sub New(da_id)
+ Me.da_id = da_id
+ Me.rootDir = DATENVERVER_OPTIONS.initRootDir()
+ LOADById()
+ End Sub
+
+
+
+ Sub New(da_kategorie, da_ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_name, Optional da_KundenNr = 0)
+ Me.rootDir = DATENVERVER_OPTIONS.initRootDir()
+ Me.da_KundenNr = da_KundenNr
+ Me.da_vorlage = (da_KundenNr <= 0)
+ Me.da_kategorie = da_kategorie
+ Me.da_ordner = da_ordner
+ Me.da_uOrdner1 = replaceInvalidCahr(If(da_uOrdner1, ""))
+ Me.da_uOrdner2 = replaceInvalidCahr(If(da_uOrdner2, ""))
+ Me.da_uOrdner3 = replaceInvalidCahr(If(da_uOrdner3, ""))
+ Me.da_name = da_name
+ LOAD()
+ End Sub
+
+
+ Sub New(da_kategorie, da_ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_name, da_KundenNr, da_multifiles)
+ Me.rootDir = DATENVERVER_OPTIONS.initRootDir()
+ Me.da_KundenNr = da_KundenNr
+ Me.da_vorlage = (da_KundenNr <= 0)
+ Me.da_kategorie = da_kategorie
+ Me.da_ordner = da_ordner
+ Me.da_uOrdner1 = replaceInvalidCahr(If(da_uOrdner1, ""))
+ Me.da_uOrdner2 = replaceInvalidCahr(If(da_uOrdner2, ""))
+ Me.da_uOrdner3 = replaceInvalidCahr(If(da_uOrdner3, ""))
+ Me.da_name = da_name
+ Me.da_multifiles = da_multifiles
+ LOAD()
+ End Sub
+
+ Public Function LOADById() As Boolean
+ Try
+ DATA_LIST = New cDatenserverIDCollectionList
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT * FROM tblDatenarchiv WHERE da_id=@da_id ", conn)
+ cmd.Parameters.AddWithValue("@da_id", Me.da_id)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ ' Me.da_id = dr.Item("da_id")
+ Me.da_KundenNr = dr.Item("da_KundenNr")
+ Me.da_vorlage = dr.Item("da_vorlage")
+ Me.da_kategorie = dr.Item("da_kategorie")
+ Me.da_ordner = dr.Item("da_ordner")
+ Me.da_uOrdner1 = dr.Item("da_uOrdner1")
+ Me.da_uOrdner2 = dr.Item("da_uOrdner2")
+ Me.da_uOrdner3 = dr.Item("da_uOrdner3")
+ Me.da_name = dr.Item("da_name")
+ Me.da_info = dr.Item("da_info")
+ Me.da_multifiles = dr.Item("da_multifiles")
+
+ DATA_LIST = New cDatenserverIDCollectionList(Me.da_id, rootDir)
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Return True
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return False
+ End Function
+
+ Public Function LOAD() As Boolean
+ Try
+ DATA_LIST = New cDatenserverIDCollectionList
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ 'MsgBox("SELECT * FROM tblDatenarchiv WHERE da_KundenNr = @da_KundenNr AND da_kategorie = '" & Me.da_kategorie & "' And da_ordner ='" & Me.da_ordner & "' AND da_uOrdner1= '" & Me.da_uOrdner1 & "' AND da_uOrdner2= '" & Me.da_uOrdner2 & "' AND da_uOrdner3= '" & Me.da_uOrdner3 & "' AND da_name='" & Me.da_name & "' ")
+ Using cmd As New SqlCommand("SELECT * FROM tblDatenarchiv WHERE da_KundenNr = @da_KundenNr AND da_kategorie = @da_kategorie AND da_ordner=@da_ordner AND da_uOrdner1= @da_uOrdner1 AND da_uOrdner2= @da_uOrdner2 AND da_uOrdner3= @da_uOrdner3 AND da_name=@da_name ", conn)
+ cmd.Parameters.AddWithValue("@da_KundenNr", Me.da_KundenNr)
+ ' cmd.Parameters.AddWithValue("@da_vorlage", Me.da_vorlage)
+ cmd.Parameters.AddWithValue("@da_kategorie", Me.da_kategorie)
+ cmd.Parameters.AddWithValue("@da_ordner", Me.da_ordner)
+ cmd.Parameters.AddWithValue("@da_uOrdner1", Me.da_uOrdner1)
+ cmd.Parameters.AddWithValue("@da_uOrdner2", Me.da_uOrdner2)
+ cmd.Parameters.AddWithValue("@da_uOrdner3", Me.da_uOrdner3)
+ cmd.Parameters.AddWithValue("@da_name", Me.da_name)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ Me.da_id = dr.Item("da_id")
+ Me.da_vorlage = dr.Item("da_vorlage")
+ Me.da_info = dr.Item("da_info")
+ Me.da_multifiles = dr.Item("da_multifiles")
+
+ DATA_LIST = New cDatenserverIDCollectionList(Me.da_id, rootDir)
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Return True
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return False
+ End Function
+
+ 'Function REMANE_FOLDER(new_kategorie, new_ordner, new_uOrdner1, new_uOrdner2, new_uOrdner3, new_kdnr)
+ Function REMANE_FOLDER(old_kategorie, old_ordner, old_uOrdner1, old_uOrdner2, old_uOrdner3, old_kdnr, new_kategorie, new_ordner, new_uOrdner1, new_uOrdner2, new_uOrdner3, new_kdnr)
+ Dim oldDIR = DATENVERVER_OPTIONS.getDescPath(rootDir, old_kategorie, old_ordner, old_uOrdner1, old_uOrdner2, old_uOrdner3, old_kdnr, "", "", True)
+ If new_kategorie IsNot Nothing Then Me.da_kategorie = new_kategorie
+ If new_ordner IsNot Nothing Then Me.da_ordner = new_ordner
+ If new_uOrdner1 IsNot Nothing Then Me.da_uOrdner1 = new_uOrdner1
+ If new_uOrdner2 IsNot Nothing Then Me.da_uOrdner2 = new_uOrdner2
+ If new_uOrdner3 IsNot Nothing Then Me.da_uOrdner3 = new_uOrdner3
+ Dim newDIR = DATENVERVER_OPTIONS.getDescPath(rootDir, new_kategorie, new_ordner, new_uOrdner1, new_uOrdner2, new_uOrdner3, new_kdnr, "", "", True)
+
+ Try
+ ' My.Computer.FileSystem.RenameDirectory(oldDIR, newname)
+ For Each l In DATA_LIST.LIST
+ Dim newPfad = l.coll_pfad.Replace(oldDIR, newDIR)
+ If Not IO.Directory.Exists(newDIR) Then IO.Directory.CreateDirectory(newDIR)
+ My.Computer.FileSystem.CopyFile(l.coll_pfad, newPfad, True)
+ My.Computer.FileSystem.DeleteFile(l.coll_pfad)
+ l.coll_pfad = newPfad
+ If Not l.UPDATE() Then
+ Return False
+ End If
+ Next
+ Return UPDATE()
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return False
+ End Function
+
+
+ Function UPDATE() As Boolean
+ Try
+ 'If coll_id < 0 Then 'Wenn noch keine ID vergeben
+ 'Me.coll_id = getMaxId()
+ 'End If
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("UPDATE tblDatenarchiv SET da_KundenNr=@da_KundenNr,da_vorlage=@da_vorlage, da_kategorie=@da_kategorie, da_ordner=@da_ordner,da_uOrdner1=@da_uOrdner1, da_uOrdner2=@da_uOrdner2, da_uOrdner3=@da_uOrdner3, da_name=@da_name, da_info=@da_info, da_multifiles=@da_multifiles WHERE da_id=@da_id ", conn)
+ cmd.Parameters.AddWithValue("@da_KundenNr", da_KundenNr)
+ cmd.Parameters.AddWithValue("@da_vorlage", da_vorlage)
+ cmd.Parameters.AddWithValue("@da_kategorie", da_kategorie)
+ cmd.Parameters.AddWithValue("@da_ordner", da_ordner)
+ cmd.Parameters.AddWithValue("@da_uOrdner1", da_uOrdner1)
+ cmd.Parameters.AddWithValue("@da_uOrdner2", da_uOrdner2)
+ cmd.Parameters.AddWithValue("@da_uOrdner3", da_uOrdner3)
+ cmd.Parameters.AddWithValue("@da_name", da_name)
+ cmd.Parameters.AddWithValue("@da_info", da_info)
+ cmd.Parameters.AddWithValue("@da_multifiles", da_multifiles)
+ cmd.Parameters.AddWithValue("@da_id", da_id)
+ cmd.ExecuteNonQuery()
+ Return True
+ End Using
+ End Using
+ Return True
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ Return False
+ End Try
+ End Function
+
+ Public Shared Function replaceInvalidCahr(ByRef s As String) As String
+
+ s = s.Replace("İ", "I")
+ s = s.Replace("İ", "I")
+ s = s.Replace("ı", "i")
+ s = s.Replace("€", "E")
+ s = s.Replace(",", ".")
+ s = s.Replace("^", "") ' Es gibt Ü, die so geschreiben werden: Ü ....
+ s = s.Replace("Ì", ".")
+ s = s.Replace("Ü", "U") ' .... das zum Beispiel
+
+
+
+ Dim tempBytes = System.Text.Encoding.GetEncoding("ISO-8859-8").GetBytes(s)
+ s = System.Text.Encoding.UTF8.GetString(tempBytes)
+
+ Return s
+ End Function
+
+ Public Function uploadDataToDATENSERVER(srcPath, Optional bezeichnung = "", Optional endung = "", Optional allowMsg = True, Optional coll_archiv = False, Optional delteFromFileSystem = True) As Boolean
+ 'LAST_ID = -1
+ If endung = "" Then Dim fi As New IO.DirectoryInfo(srcPath) : endung = fi.Extension
+ ' If bezeichnung = "" Then bezeichnung = System.IO.Path.GetFileName(srcPath) : endung = ""
+ If bezeichnung = "" Then bezeichnung = da_name
+
+ Dim destpath = DATENVERVER_OPTIONS.getDescPath(rootDir, da_kategorie, da_ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_KundenNr, replaceInvalidCahr(da_name), endung)
+ genHEADER_DATA()
+
+ If Not da_multifiles Then
+ If allowMsg AndAlso DATA_LIST.LIST.Count > 0 Then
+ If Not vbYes = MsgBox("Die Datei existiert bereits. Soll die Datei ersetzt werden?", vbYesNoCancel) Then
+ Return False 'NICHT Passiert
+ End If
+ End If
+ DATA_LIST.DELETE_ALL(delteFromFileSystem) 'Wenn nur eine Datei existieren darf, müssen zuerst alle Einträge gelöscht werden
+ End If
+
+ If DATA_LIST.ADD(srcPath, destpath, bezeichnung, "", coll_archiv) Then
+ Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Return (destpath <> "")
+ End If
+ Return False
+ End Function
+
+ Public Function insertDataToDATENSERVER(srcPath, Optional bezeichnung = "", Optional endung = "", Optional allowMsg = True, Optional coll_archiv = False) As Boolean
+ 'Datei musss schon am Datenserver liegen, wird nciht mehr kopiert!!!!!
+
+ If endung = "" Then Dim fi As New IO.DirectoryInfo(srcPath) : endung = fi.Extension
+ ' If bezeichnung = "" Then bezeichnung = System.IO.Path.GetFileName(srcPath) : endung = ""
+ If bezeichnung = "" Then bezeichnung = da_name
+ replaceInvalidCahr(bezeichnung)
+
+ genHEADER_DATA()
+
+ If Not da_multifiles Then
+ DATA_LIST.DELETE_ALL() 'Wenn nur eine Datei existieren darf, müssen zuerst alle Einträge gelöscht werden
+ End If
+ If DATA_LIST.ADD_WOcopy(srcPath, bezeichnung, "", coll_archiv) Then
+ Return True
+ End If
+ Return False
+
+ End Function
+
+
+
+ Public Function uploadDataToDATENSERVER_fromBytes(bytes, Optional bezeichnung = "", Optional endung = "", Optional allowMsg = True, Optional coll_archiv = False) As Boolean
+ Try
+ Dim tmpPath = DATENVERVER_OPTIONS.getTMPPath(bezeichnung, endung, , True) ', Now.ToString("TMP_ddMMyyyy_HHmmSS_fff"))
+ File.WriteAllBytes(tmpPath, bytes)
+ Return uploadDataToDATENSERVER(tmpPath, bezeichnung, endung, allowMsg, coll_archiv)
+ Catch ex As Exception
+ Return False
+ End Try
+ End Function
+
+
+ Public Function uploadDataToDATENSERVER_fromBase64String(base64String, Optional bezeichnung = "", Optional endung = "", Optional allowMsg = True, Optional coll_archiv = False) As Boolean
+ Try
+ Dim bytes As Byte() = Convert.FromBase64String(base64String)
+ Return uploadDataToDATENSERVER_fromBytes(bytes, bezeichnung, endung, allowMsg, coll_archiv)
+ Catch ex As Exception
+ Return False
+ End Try
+ End Function
+
+ Public Function DELETE_LIST_POS(coll_id) As Boolean
+ Return DATA_LIST.DELETE_ATPOS(coll_id)
+ End Function
+
+
+ Public Function uploadDataToDATENSERVERFileDialog(Optional bezeichnung = "", Optional endung = "", Optional allowMsg = True, Optional typ = "", Optional coll_archiv = False) As String
+ Dim fd As New OpenFileDialog
+ ' fd.Filter = "Excel Dateien|*.xls;*.xlsx"
+ fd.RestoreDirectory = True
+ Select Case typ
+ Case "PIC"
+ fd.Title = "Bild auswählen"
+ ' fd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
+
+ fd.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG"
+ fd.FilterIndex = 2
+ Case "PDF"
+ fd.Title = "PDF auswählen"
+ ' fd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
+ fd.Filter = "PDF|*.PDF"
+ fd.FilterIndex = 2
+ fd.DefaultExt = ".pdf"
+ End Select
+ Dim result As DialogResult = fd.ShowDialog()
+
+ If result = System.Windows.Forms.DialogResult.OK And fd.FileName <> "" Then
+ If bezeichnung = "" Then
+ bezeichnung = System.IO.Path.GetFileName(fd.FileName).ToString
+ End If
+ replaceInvalidCahr(bezeichnung)
+ If da_name = "" Then Me.da_name = bezeichnung : LOAD() 'Wenn sich der Name ändert, muss eine neuer Header erstellt werden...
+ Return uploadDataToDATENSERVER(fd.FileName, bezeichnung, endung, allowMsg, coll_archiv)
+ End If
+ Return False
+ End Function
+
+ Dim FD_ID = ""
+ Public Function uploadDataToDATENSERVERFileDialog_MULTI(Optional bezeichnung = "", Optional endung = "", Optional allowMsg = True, Optional typ = "", Optional coll_archiv = False) As Boolean
+ Dim fd As New OpenFileDialog
+ fd.RestoreDirectory = True
+ fd.Multiselect = True
+ ' fd.Filter = "Excel Dateien|*.xls;*.xlsx"
+ Select Case typ
+ Case "PIC"
+ fd.Title = "Bild auswählen"
+ ' fd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
+
+ fd.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG"
+ fd.FilterIndex = 2
+ Case "PDF"
+ fd.Title = "PDF auswählen"
+ ' fd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
+ fd.Filter = "PDF|*.PDF"
+ fd.FilterIndex = 2
+ fd.DefaultExt = ".pdf"
+ endung = ".pdf"
+ Case Else
+ fd.Title = "Datei auswählen"
+
+ End Select
+ Dim result As DialogResult = fd.ShowDialog()
+ If result = System.Windows.Forms.DialogResult.OK And fd.FileNames.Count > 0 Then
+ FD_ID = fd.InitialDirectory
+ For Each f In fd.FileNames
+ Dim bezTmp = bezeichnung
+ If bezeichnung = "" Then
+ bezTmp = System.IO.Path.GetFileName(f).ToString
+ End If
+ 'If da_name = "" Then Me.da_name = bezeichnung : LOAD() 'Wenn sich der Name ändert, muss eine neuer Header erstellt werden...
+ uploadDataToDATENSERVER(f, bezTmp, endung, allowMsg, coll_archiv)
+ Next
+ Me.LOAD() 'neu laden, damit LIST aktualisiert wird
+ Return True
+ End If
+ Return False
+ End Function
+
+
+ Public Function genHEADER_DATA() As Integer
+
+ Dim sqlstr As String = " begin tran" &
+ " if NOT EXISTS(select * FROM [tblDatenarchiv] WHERE da_KundenNr = @da_KundenNr AND da_kategorie = @da_kategorie AND da_ordner=@da_ordner AND da_uOrdner1=@da_uOrdner1 AND da_uOrdner2=@da_uOrdner2 AND da_uOrdner3=@da_uOrdner3 AND da_name=@da_name) " &
+ " begin " &
+ "INSERT INTO [tblDatenarchiv] " &
+ " ([da_KundenNr],[da_vorlage],[da_kategorie],[da_ordner],da_uOrdner1,da_uOrdner2,da_uOrdner3,[da_name],da_info,da_multifiles) " &
+ " VALUES (@da_KundenNr, @da_vorlage, @da_kategorie, @da_ordner, @da_uOrdner1,@da_uOrdner2,@da_uOrdner3,@da_name,@da_info,@da_multifiles)" &
+ " End " &
+ " commit tran "
+
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand(sqlstr, conn)
+ cmd.Parameters.AddWithValue("@da_KundenNr", da_KundenNr)
+ cmd.Parameters.AddWithValue("@da_vorlage", da_vorlage)
+ cmd.Parameters.AddWithValue("@da_kategorie", da_kategorie)
+ cmd.Parameters.AddWithValue("@da_ordner", da_ordner)
+ cmd.Parameters.AddWithValue("@da_uOrdner1", da_uOrdner1)
+ cmd.Parameters.AddWithValue("@da_uOrdner2", da_uOrdner2)
+ cmd.Parameters.AddWithValue("@da_uOrdner3", da_uOrdner3)
+ cmd.Parameters.AddWithValue("@da_name", da_name)
+ cmd.Parameters.AddWithValue("@da_info", da_info)
+ cmd.Parameters.AddWithValue("@da_multifiles", da_multifiles)
+ cmd.ExecuteNonQuery()
+
+ Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn)
+ Dim id = (newcmd.ExecuteScalar)
+ If id Is DBNull.Value Then
+ Return da_id
+ Else
+ 'Wenn insert+
+ DATA_LIST.coll_daId = id
+ Me.da_id = id
+ Return id
+ End If
+ End Using
+ End Using
+ Return False
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ End Try
+ Return da_id
+ End Function
+
+
+ Public Function hasITEMS() As Boolean
+ Return DATA_LIST.LIST.Count > 0
+ End Function
+
+
+ Public Function OPEN_SINGLE(Optional openFile As Boolean = True, Optional useBezeichnung As Boolean = False) As String
+ If DATA_LIST.LIST.Count > 0 Then
+ Return DATA_LIST.LIST(0).OPEN(openFile, useBezeichnung)
+ End If
+ Return ""
+ End Function
+ Public Function OPEN_SINGLE_ORIG(Optional openFile As Boolean = True) As String
+ If DATA_LIST.LIST.Count > 0 Then
+ Return DATA_LIST.LIST(0).OPEN_ORIG(openFile)
+ End If
+ Return ""
+ End Function
+
+ Public Function OPEN(coll_id As Integer, Optional openFile As Boolean = True, Optional useBezeichnung As Boolean = False) As String
+ For Each l In DATA_LIST.LIST
+ If l.coll_id = coll_id Then
+ Return l.OPEN(openFile, useBezeichnung)
+ End If
+ Next
+ Return ""
+ End Function
+
+ Public Function GET_TOP1_PATH(Optional openFile As Boolean = False) As String
+ If DATA_LIST.LIST.Count > 0 Then
+ If openFile Then OPEN(DATA_LIST.LIST(0).coll_id)
+ Return DATA_LIST.LIST(0).coll_pfad
+ End If
+ Return ""
+ End Function
+
+ Public Shared Function GET_PDFPath_BY_DocID(docId As Integer, Optional openFile As Boolean = False) As String
+ Dim DS As New cDATENSERVER(docId)
+ Return DS.GET_TOP1_PATH(openFile)
+ End Function
+
+ Public Shared Function GET_PDFPath_BY_DocID_onlyPATH(docId As Integer) As String
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Return SQL.getValueTxtBySql("SELECT TOP (1) [coll_pfad] FROM [tblDatenarchiv_Collection] where coll_daId=" & docId & " ORDER BY coll_date DESC", "FMZOLL")
+ End Function
+
+
+
+ ' Public Function getPathByIdTOP1(da_id) As String
+ ' Try
+ ' Return SQL.getValueTxtBySql("SELECT TOP 1 isnull([coll_pfad],'') FROM [tblDatenarchiv] INNER JOIN [tblDatenarchiv_Collection] ON [da_id]=[coll_daId] WHERE da_id='" & da_id & "' ", "FMZOLL")
+ ' Catch ex As Exception
+ ' Return ""
+ ' End Try
+ 'End Function
+
+
+ ' Public Function openDataTMPByDatenarchivIdTOP1(id) As Boolean
+ ' Try
+
+
+ ' Dim srcPath = SQL.getValueTxtBySql("SELECT TOP 1 isnull([coll_pfad],'') FROM [tblDatenarchiv] INNER JOIN [tblDatenarchiv_Collection] ON [da_id]=[coll_daId] WHERE da_id='" & da_id & "' ", "FMZOLL")
+ ' If Not IO.File.Exists(srcPath) Then MsgBox("Die Datei existiert nicht") : Exit Function
+
+ ' Dim fi As New IO.DirectoryInfo(srcPath)
+ ' Dim destPath = DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension)
+
+
+
+
+ ' IO.File.Copy(srcPath, destPath, True)
+
+ ' Process.Start(destPath)
+
+
+ ' Return True
+ ' Catch ex As Exception
+ ' MsgBox(ex.Message & ex.StackTrace)
+ ' Return False
+ ' End Try
+ 'End Function
+
+ Public Function DELETE_COMPLETE() As Boolean
+ Try
+ If DATA_LIST.DELETE_ALL() Then
+ ' Dim path = SQL.getValueTxtBySql("SELECT TOP 1 isnull([coll_pfad],'') FROM [tblDatenarchiv] INNER JOIN [tblDatenarchiv_Collection] ON [da_id]=[coll_daId] WHERE da_id='" & da_id & "' ", "FMZOLL")
+ 'If path.Contains(rootDir) Then 'Um sicher zu gehen, dass der pfad im richtigem VZ ist.
+ ' saveFileToDel(path)
+ ' IO.File.Delete(path)
+ 'End If
+ SQL.doSQL("DELETE FROM [tblDatenarchiv] WHERE [da_id]=" & Me.da_id & " ", "FMZOLL")
+ 'SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_daId]=" & id & " ", "FMZOLL")
+ End If
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ Return False
+ End Try
+ Return True
+ End Function
+
+
+
+ ' Public Function getLAST_ID(destpath) As Integer
+ ' Try
+ ' Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+
+ ' Dim newcmd As New SqlCommand("select isnull(da_id,-1) from tblDatenarchiv with (updlock,serializable) where da_pfad = @da_pfad ", conn)
+ ' newcmd.Parameters.AddWithValue("@da_pfad", destpath)
+ ' Return CInt(newcmd.ExecuteScalar)
+
+ ' End Using
+ ' Return False
+ ' Catch ex As Exception
+ ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
+ ' End Try
+ ' Return -1
+
+ 'End Function
+
+End Class
+
+Public Class cDatenserver_Change_Value
+ Property da_kategorie As String = ""
+ Property da_ordner As String = ""
+ Property da_KundenNr As Integer = 0
+ Property da_uOrdner1 As String = "" 'SDL: LKW
+ Property da_uOrdner2 As String = "" 'SDL: SDL_Leistung/...
+ Property da_uOrdner3 As String = "" 'SDL: History
+ Sub New(da_kategorie, da_ordner, da_KundenNr, da_uOrdner1, da_uOrdner2, da_uOrdner3)
+ Me.da_kategorie = da_kategorie
+ Me.da_ordner = da_ordner
+ Me.da_KundenNr = da_KundenNr
+ Me.da_uOrdner1 = da_uOrdner1
+ Me.da_uOrdner2 = da_uOrdner2
+ Me.da_uOrdner3 = da_uOrdner3
+ End Sub
+End Class
+
+Public Class cFormularManager
+ 'Dim cDATENSERVER As New cDATENSERVER
+
+ Shared Function open(ds_id, Optional openFile = True) As String
+ Dim DS As New cDATENSERVER(ds_id)
+ Return DS.OPEN_SINGLE(openFile)
+ End Function
+
+ Shared Function open(da_kategorie, da_ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_name, Optional da_KundenNr = 0, Optional openFile = True) As String
+ Dim DS As New cDATENSERVER(da_kategorie, da_ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_name, da_KundenNr)
+ Return DS.OPEN_SINGLE(openFile)
+ End Function
+
+ Public Sub fillGestellungsGarantie(kdnr As String, sprache As String) 'list As cKundenFMZOLL)
+ Dim name = "GenerelleGestellungsgarantieT1_DEUTSCH.pdf"
+ Select Case sprache
+ Case "DE" : name = "GenerelleGestellungsgarantieT1_DEUTSCH.pdf"
+ Case "EN" : name = "GenerelleGestellungsgarantieT1_ENGLISCH.pdf"
+ Case "NL" : name = "GenerelleGestellungsgarantieT1_NIEDERLAENDISCH.pdf"
+ Case "FR" : name = "GenerelleGestellungsgarantieT1_FRANZOESISCH.pdf"
+ End Select
+
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
+
+ If IsNumeric(kdnr) AndAlso kdnr > 0 Then
+ 'Dim KDSQL As New kundenSQL
+ 'Dim kd As cKundenFMZOLL = KDSQL.getKundeFMZOLLByKdNr(kdnr)
+ Dim KD As New cAdressen(kdnr)
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FaxAn", KD.Telefax))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FaxVon", ""))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("zHd", KD.Ansprechpartner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Datum", Now.ToShortDateString))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firma", (KD.Name_1 & " " & KD.Name_2).Trim))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Adresse1", KD.Straße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Adresse2", KD.LandKz & " " & KD.PLZ & " " & KD.Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Tel", KD.Telefon))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Fax", KD.Telefax))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Ansprechpartner", KD.Ansprechpartner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Bestimmungszollamt", ""))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Anmerkung1", ""))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Anmerkung2", ""))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Anmerkung3", ""))
+
+ End If
+ fillPDF(name, list, Nothing)
+ End Sub
+
+ Public Sub fillVollmacht(kdnr As Integer, art As String) 'list As cKundenFMZOLL)
+ Dim name = "DE-ZOLLVOLLMACHT.pdf"
+ Dim kd As cKunde = Nothing
+ Dim ad As cAdressen = Nothing
+
+ If IsNumeric(kdnr) AndAlso kdnr > 0 Then
+ ad = New cAdressen(kdnr)
+ kd = New cKunde(kdnr)
+ End If
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
+
+ Select Case art
+ Case "ZVM_DE"
+ name = "DE-ZOLLVOLLMACHT.pdf"
+ If IsNumeric(kdnr) AndAlso kdnr > 0 Then
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("zHd", ad.Ansprechpartner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firma", (ad.Name_1 & " " & ad.Name_2).Trim))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Rechtsform", getRechtsform(ad.Name_1 & " " & ad.Name_2).Trim))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Inhaber", ""))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Straße", ad.Straße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("PLZ_Ort", ad.PLZ & " " & ad.Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TelFax", ad.Telefon.Replace(" ", "") & " / " & ad.Telefax.Replace(" ", "")))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UIDNr", ad.UstIdKz & ad.UstIdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EORINr", kd.EORITIN))
+ End If
+ Case "ZVM_DE_Englisch"
+ name = "DE-ZOLLVOLLMACHT Englisch.pdf"
+ If IsNumeric(kdnr) AndAlso kdnr > 0 Then
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Company", (ad.Name_1 & " " & ad.Name_2).Trim))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Street", ad.Straße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Plz", ad.PLZ & " " & ad.Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TelFax", ad.Telefon.Replace(" ", "") & " / " & ad.Telefax.Replace(" ", "")))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Email", ad.E_Mail))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TaxID", ad.UstIdKz & ad.UstIdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DutyNo", kd.EORITIN))
+ End If
+ Case "ZVM_CS"
+ name = "AT-ZOLLVOLLMACHT.pdf" 'Customs Servie
+ If IsNumeric(kdnr) AndAlso kdnr > 0 Then
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firma", (ad.Name_1 & " " & ad.Name_2).Trim))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Straße", ad.Straße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("PLZ_Ort", ad.PLZ & " " & ad.Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Tel", ad.Telefon))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UIDNr", ad.UstIdKz & ad.UstIdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EORINr", kd.EORITIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FA StNr", ad.Steuernummer))
+ End If
+ Case "ZVM_CS_4200"
+ name = "AT-ZOLLVOLLMACHT 4200.pdf"
+ If IsNumeric(kdnr) AndAlso kdnr > 0 Then
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("zu Hd", ad.Ansprechpartner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firmenname", (ad.Name_1 & " " & ad.Name_2).Trim))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Rechtsform", getRechtsform(ad.Name_1 & " " & ad.Name_2).Trim))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Einzelfirma", "")) 'inhaber
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Straße", ad.Straße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("PLZ_Ort", ad.PLZ & " " & ad.Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TelFax", ad.Telefon.Replace(" ", "") & " / " & ad.Telefax.Replace(" ", "")))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UIDNr", ad.UstIdKz & ad.UstIdNr))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EORINr", kd.EORITIN))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FA StNr", ad.Steuernummer))
+ End If
+
+ End Select
+
+
+
+ fillPDF(name, list, Nothing)
+ End Sub
+
+ Sub fillImportaviso(kdnr As Integer, art As String)
+ Dim kd As cAdressen = Nothing
+
+ If IsNumeric(kdnr) AndAlso kdnr > 0 Then
+ kd = New cAdressen(kdnr)
+ End If
+ Dim name = "Importaviso_Standard.pdf"
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
+ Select Case art
+ Case "Standard"
+ name = "Importaviso_Standard.pdf"
+ If IsNumeric(kdnr) AndAlso kdnr > 0 Then
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAGContact", "")) ' AKT MA
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("To", kd.Ansprechpartner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Company", (kd.Name_1 & " " & kd.Name_2).Trim))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Road", kd.Straße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("PostTown", kd.LandKz & " " & kd.PLZ & " " & kd.Ort))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TelFax", kd.Telefon.Replace(" ", "") & " / " & kd.Telefax.Replace(" ", "")))
+ End If
+ fillPDF(name, list, Nothing)
+ Case "Vorauskasse"
+ name = "Importaviso Vorauszahlung.xlt" 'SONDERFALL DA EXCEL
+
+ Dim DS As New cDATENSERVER("DOKUMENTE", "VORLAGEN", "", "", "", name)
+ DS.OPEN_SINGLE(True)
+
+
+ 'Dim path_src As String = cDATENSERVER.getTOP1Path("DOKUMENTE", "VORLAGEN", , name)
+ 'If path_src = "" Then Exit Sub
+ 'Dim path As String = cDATENSERVER.openDataTMP(path_src, True)
+ 'If path = "" Then Exit Sub
+
+
+ End Select
+
+ End Sub
+
+
+ Sub fillDispoliste(kdnr As Integer, art As String)
+ Dim name = "Dispoliste_TR.pdf"
+ Select Case art
+ Case "TR" : name = "Dispoliste_TR.pdf"
+ Case "EN" : name = "Dispoliste_EN.pdf"
+ End Select
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
+ If IsNumeric(kdnr) AndAlso kdnr > 0 Then
+ Dim kd As New cAdressen(kdnr)
+ ' Dim kd As cKundenFMZOLL = KDSQL.getKundeFMZOLLByKdNr(kdnr)
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("zHd", kd.Ansprechpartner))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Datum", Now.ToShortDateString))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("An", (kd.Name_1 & " " & kd.Name_2).Trim))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("LkwKz", ""))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("SB", "")) ' AKT MA
+ End If
+ fillPDF(name, list, Nothing)
+ End Sub
+
+ Sub fillVerzollungspreise()
+ MsgBox("NOCH NICHT VERFÜGBAR")
+ Exit Sub
+
+ Dim name = "Verzollungspreise_ohnePreise.pdf"
+
+ Dim f As New Object 'frmVerzollungspreiseFuellen
+ If f.ShowDialog() = DialogResult.OK Then
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
+ ' Dim KDSQL As New kundenSQL
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Preis1", f.txtVerzollung.Text))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Preis2", f.txtTarifnummer.Text))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Preis3", f.txtPapierePorti.Text))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Preis4", f.txtSVS.Text))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Preis5", f.txtATLAS.Text))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("PreisClearing", f.txtClearing.Text)) ' AKT MA
+ fillPDF(name, list, Nothing, , False)
+ End If
+
+ End Sub
+
+
+
+
+ Sub fillCreditreform(kdnr As Integer)
+ Dim name = "Creditreform Bonität mit GF.pdf"
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem)
+ If IsNumeric(kdnr) AndAlso kdnr > 0 Then
+ Dim kd As New cAdressen(kdnr)
+
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Heute", Now.ToShortDateString))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firma1", (kd.Name_1 & " " & kd.Name_2).Trim))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firma2", kd.Straße))
+ list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Firma3", kd.LandKz & " " & kd.PLZ & " " & kd.Ort))
+ End If
+
+
+ fillPDF(name, list, Nothing)
+ End Sub
+
+
+
+ Public Sub fillPDF(vorlagenname As String, list As List(Of VERAG_PROG_ALLGEMEIN.MyListItem), listToWrite As List(Of cPDFWriteValues), Optional editierbar As Boolean = True, Optional autoDruck As Boolean = False, Optional printerName As String = "", Optional barcode As Image = Nothing, Optional barcodeLKW As Image = Nothing, Optional uo2 As String = "")
+ Dim DS As New cDATENSERVER("DOKUMENTE", "VORLAGEN", "", uo2, "", vorlagenname)
+ If Not DS.hasITEMS Then Exit Sub
+ Dim path_src = DS.OPEN_SINGLE(False)
+ If path_src = "" Then Exit Sub
+
+ Dim fi As New IO.DirectoryInfo(path_src)
+ Dim destPath = DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension, True, False)
+ Dim pdf As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(path_src)
+ Using fw As New FileStream(destPath, FileMode.OpenOrCreate)
+
+ Dim stamper = New PdfStamper(pdf, fw)
+ If True Then
+ Try
+ Dim f = stamper.AcroFields
+ f.GenerateAppearances = True
+ For Each i In list
+ f.SetField(i.Text, i.Value)
+ Next
+ Catch ex As Exception
+
+ End Try
+
+ If listToWrite IsNot Nothing Then
+ Dim overStr As PdfContentByte = stamper.GetOverContent(1)
+ For Each i In listToWrite
+ If i.Text <> "" Then write(overStr, i, pdf.GetPageSize(1).Height)
+ Next
+
+ End If
+
+ End If
+ If barcode IsNot Nothing Then
+ Try
+
+ Dim n = pdf.NumberOfPages
+ Dim pagesize As iTextSharp.text.Rectangle
+ For cnt = 1 To pdf.NumberOfPages
+
+ Dim over As PdfContentByte = stamper.GetOverContent(cnt)
+ pagesize = pdf.GetPageSize(cnt)
+ Dim x As Double = 15 'pagesize.Left + 10
+ Dim y As Double = pagesize.Height / 2 - 100 'pagesize.Top - 50
+ ' barcode = btnScale_Click2(barcode, 40)
+ barcode.RotateFlip(RotateFlipType.Rotate270FlipNone)
+ 'MsgBox(mm(pagesize.Height))
+ Dim image As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(barcode, System.Drawing.Imaging.ImageFormat.Png)
+ ' Dim image As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(New Bitmap(80, 80), System.Drawing.Imaging.ImageFormat.Bmp)
+ image.SetAbsolutePosition(x, y)
+
+ 'Dim r As iTextSharp.text.Image = iTextSharp.text.Rectangle
+
+
+
+ 'image.Width = 35
+ over.AddImage(image)
+ Next
+
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End If
+
+
+ If barcodeLKW IsNot Nothing Then
+ Try
+
+ Dim n = pdf.NumberOfPages
+ Dim pagesize As iTextSharp.text.Rectangle
+ For cnt = 1 To pdf.NumberOfPages
+
+ Dim over As PdfContentByte = stamper.GetOverContent(cnt)
+ pagesize = pdf.GetPageSize(cnt)
+ Dim x As Double = 40 'pagesize.Left + 10
+ Dim y As Double = pagesize.Top - 80
+
+ Dim image As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(barcodeLKW, System.Drawing.Imaging.ImageFormat.Png)
+ image.SetAbsolutePosition(x, y)
+
+ over.AddImage(image)
+ Next
+
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End If
+
+
+ stamper.FormFlattening = Not editierbar
+ stamper.Close()
+
+ If autoDruck Then
+ PrintViaGS(destPath, printerName)
+ 'If Not PrintFile(destPath, printerName) Then Process.Start(destPath) ' Druck! Wenn Problem, wird das PDF geöffnet
+ Else
+ Process.Start(destPath)
+ End If
+ fw.Close()
+ End Using
+ pdf.Close()
+
+ End Sub
+
+ Public Function fillPDFVorhandenesLokalesPDF_Path(path As String, listToWrite As List(Of cPDFWriteValues), Optional editierbar As Boolean = True, Optional autoDruck As Boolean = False, Optional printerName As String = "", Optional genNewPath As Boolean = True, Optional barcode As List(Of barcodeToPdf) = Nothing) As String
+ Return fillPDF("", "", "", "", "", "", listToWrite, editierbar, autoDruck, printerName, genNewPath, path, barcode)
+ End Function
+
+ Public Function fillPDF(da_kategorie As String, da_ordner As String, da_uOrdner1 As String, da_uOrdner2 As String, da_uOrdner3 As String, da_name As String, listToWrite As List(Of cPDFWriteValues), Optional editierbar As Boolean = True, Optional autoDruck As Boolean = False, Optional printerName As String = "", Optional genNewPath As Boolean = True, Optional vorhandenesLokalesPDF_Path As String = "", Optional barcode As List(Of barcodeToPdf) = Nothing) As String
+ Try
+ Dim path_src = ""
+ If vorhandenesLokalesPDF_Path = "" Then
+ Dim DS As New cDATENSERVER(da_kategorie, da_ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_name)
+ If Not DS.hasITEMS Then Return ""
+ path_src = DS.GET_TOP1_PATH
+ Else
+ path_src = vorhandenesLokalesPDF_Path
+ End If
+
+ Dim fi As New IO.DirectoryInfo(path_src)
+ Dim destPath = ""
+ destPath = DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension, True, False)
+
+ Dim pdf As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(path_src)
+ Using fw As New FileStream(destPath, FileMode.OpenOrCreate)
+
+ Dim stamper = New PdfStamper(pdf, fw)
+ If True Then
+ If listToWrite IsNot Nothing Then
+ Dim overStr As PdfContentByte = stamper.GetOverContent(1)
+ For Each i In listToWrite
+ If i.Text <> "" Then write(overStr, i, pdf.GetPageSize(1).Height)
+ Next
+ End If
+ End If
+
+ If barcode IsNot Nothing Then
+ For Each bc As barcodeToPdf In barcode
+ Try
+ ' Dim n = pdf.NumberOfPages
+ Dim pagesize As iTextSharp.text.Rectangle
+ Dim over As PdfContentByte = stamper.GetOverContent(bc.onpage)
+ pagesize = pdf.GetPageSize(bc.onpage)
+ 'Dim x As Double = 40 'pagesize.Left + 10
+ 'Dim y As Double = pagesize.Top - 80
+ bc.image.RotateFlip(bc.rotate)
+
+ Dim image As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(bc.image, System.Drawing.Imaging.ImageFormat.Png)
+ image.SetAbsolutePosition(bc.x, pagesize.Top - bc.y)
+ over.AddImage(image)
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ Next
+ End If
+
+
+ stamper.FormFlattening = Not editierbar
+ stamper.Close()
+
+ If autoDruck Then
+ PrintViaGS(destPath, printerName)
+ Else
+ 'Process.Start(destPath)
+
+ End If
+ fw.Close()
+ End Using
+ pdf.Close()
+ Return destPath
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ Return ""
+ End Try
+
+ End Function
+
+
+ Public Shared f_bold As BaseFont = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED)
+ Public Shared f_normal As BaseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED)
+ Shared Function getFont(t) As BaseFont
+ If t = "bold" Then Return f_bold
+ If t = "normal" Then Return f_normal
+ Return Nothing
+ End Function
+
+ Shared Function mm(pnt As Double) As Integer
+ Return CInt(iTextSharp.text.Utilities.MillimetersToPoints(pnt))
+ End Function
+ Public Shared Sub write(ByVal cb As PdfContentByte, i As cPDFWriteValues, pageHeight As Integer) ' ByVal Text As String, ByVal X As Integer, ByVal Y As Integer, ByVal height As Integer, ByVal width As Integer, ByVal font As String, ByVal Size As Integer, Optional maxlength As Integer = -1, Optional align As Integer = PdfContentByte.ALIGN_LEFT)
+ Dim myCol As New ColumnText(cb)
+ Dim f As iTextSharp.text.Font = New iTextSharp.text.Font(1, i.Size, 0)
+
+ Select Case i.font
+ 'Case "normal"
+ ' f = New iTextSharp.text.Font(1, i.Size, 0)
+ Case "bold"
+ f = New iTextSharp.text.Font(1, i.Size, 1)
+ Case "boldRed"
+ f = New iTextSharp.text.Font(1, i.Size, 1)
+ f.Color = iTextSharp.text.BaseColor.RED
+ Case "italic"
+ f = New iTextSharp.text.Font(1, i.Size, 2)
+ Case "underine"
+ f = New iTextSharp.text.Font(1, i.Size, 4)
+ End Select
+ Dim paragraph = New iTextSharp.text.Paragraph(New iTextSharp.text.Chunk(CStr(i.Text), f)) '1=Helvetica
+
+ pageHeight = CInt(iTextSharp.text.Utilities.PointsToMillimeters(pageHeight)) ' in mm
+
+ myCol.SetSimpleColumn(mm(i.getX), mm(pageHeight - i.getY - i.getHeight), mm(i.getX + i.getWidth), mm(pageHeight - i.getY), i.Size, i.getAlign)
+
+ '
+ ' 1. the phrase
+ ' 2. lower -Left() - x
+ ' 3. lower -Left() - y
+ ' 4. upper -Right() - x(llx + width)
+ ' 5. upper -Right() - y(lly + height)
+ ' 6. leading (The amount of blank space between lines of print)
+ ' 7. alignment.
+
+ myCol.AddText(paragraph)
+ myCol.Go()
+ End Sub
+
+
+ Function btnScale_Click(bm_source As Bitmap, height As Integer) As Bitmap
+
+
+ Dim width As Integer = bm_source.Width / (bm_source.Height / height)
+ ' Make a bitmap for the result.
+ Dim bm_dest As New Bitmap(width, height)
+
+ ' Make a Graphics object for the result Bitmap.
+ Dim gr_dest As Graphics = Graphics.FromImage(bm_dest)
+
+ ' Copy the source image into the destination bitmap.
+ gr_dest.DrawImage(bm_source, 0, 0,
+ bm_dest.Width + 1,
+ bm_dest.Height + 1)
+
+ ' Display the result.
+ Return bm_dest
+ End Function
+ Function btnScale_Click2(bm_source As Bitmap, height As Integer) As Bitmap
+
+
+ Dim width As Integer = bm_source.Width * 0.7
+ ' Make a bitmap for the result.
+ Dim bm_dest As New Bitmap(width, height)
+
+ ' Make a Graphics object for the result Bitmap.
+ Dim gr_dest As Graphics = Graphics.FromImage(bm_dest)
+
+ ' Copy the source image into the destination bitmap.
+ gr_dest.DrawImage(bm_source, 0, 0,
+ bm_dest.Width + 1,
+ bm_dest.Height + 1)
+
+ ' Display the result.
+ Return bm_dest
+ End Function
+
+ Public Shared Function PrintFile(fileName As String, printerName As String) As Boolean
+ Try
+
+ Dim psi As New ProcessStartInfo
+
+ psi.UseShellExecute = True
+ psi.CreateNoWindow = True
+
+ psi.Verb = "PrintTo"
+
+ psi.WindowStyle = ProcessWindowStyle.Hidden
+
+ If printerName <> "" Then
+ psi.Arguments = printerName
+ Else
+ Dim p As New PrintDialog
+ If (p.ShowDialog() = DialogResult.OK) Then
+ psi.Arguments = p.PrinterSettings.PrinterName
+ Else
+ Return False
+ End If
+ End If
+
+ psi.FileName = fileName ' Need to replace this with a string based on the textbox1 input and add .pdf to the string and the location of it for printing.
+
+ Using P As New Process
+ ' P.StartInfo = psi
+ P.StartInfo.UseShellExecute = True
+ P.StartInfo.CreateNoWindow = True
+ P.StartInfo.Arguments = printerName
+ P.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
+ P.StartInfo.Verb = "PrintTo"
+ ' P.StartInfo.FileName = PDFs(PDFs.Count - 1)
+ 'P.StartInfo.Verb = "Print"
+ P.Start()
+ P.WaitForExit()
+ End Using
+
+ 'Process.Start(psi)
+ Return True
+ Catch ex As Exception
+ Return False
+ End Try
+ End Function
+
+ '??????????????????????????????????????????'??????????????????????????????????????????'??????????????????????????????????????????'??????????????????????????????????????????'??????????????????????????????????????????
+ 'Dim pdftmp As New Spire.PdfViewer.Forms.PdfViewer
+ ' pdftmp.LoadFromFile("C:\Users\DEVELOPER1\Desktop\Agrotel.pdf")
+ ' pdftmp.Print()
+
+ ' Dim docs As PdfDocument() = {New PdfDocument("C:\Users\DEVELOPER1\Desktop\Agrotel.pdf")}
+ ' For Each doc As PdfDocument In docs
+ ' doc.PageSettings.Size = PdfPageSize.A4
+ ' doc.PrintDocument.DefaultPageSettings.Landscape = True
+ ' doc.PageScaling = PdfPrintPageScaling.FitSize
+ ' doc.PrinterName = "ES3452 MFP(PCL)"
+ ' doc.PrintDocument.Print()
+ ' Next
+ Public Shared Sub PrintViaSpirePDF(PDFFile As List(Of String), Optional printerName As String = "")
+ PrintViaSpirePDF(PDFFile.ToArray, printerName)
+ End Sub
+
+
+ Public Shared Sub mergePDFs(files As List(Of String), ByRef outputFile As String)
+ Dim doc As Spire.Pdf.PdfDocumentBase = Spire.Pdf.PdfDocument.MergeFiles(files.ToArray)
+ doc.Save(outputFile, Spire.Pdf.FileFormat.PDF)
+
+ End Sub
+
+
+
+
+ Public Shared Sub PrintViaSpirePDF(PDFFile As String(), Optional printerName As String = "")
+ Try
+ If printerName = "" Then
+ Dim oPS As New System.Drawing.Printing.PrinterSettings
+ printerName = oPS.PrinterName
+ End If
+ 'Dim docs As Spire.Pdf.PdfDocument() = {New Spire.Pdf.PdfDocument("C:\Users\DEVELOPER1\Desktop\Agrotel.pdf")}
+
+ For Each pdfPath In PDFFile
+ Dim doc As New Spire.Pdf.PdfDocument(pdfPath)
+
+ doc.PageSettings.Size = Spire.Pdf.PdfPageSize.A4
+ doc.PrintDocument.DefaultPageSettings.Landscape = True
+ doc.PageScaling = Spire.Pdf.PdfPrintPageScaling.FitSize
+
+ doc.PrinterName = printerName
+ doc.PrintDocument.Print()
+
+
+ 'Dim doc As New Spire.Pdf.PdfDocument
+ 'doc.LoadFromFile(pdfPath)
+ 'doc.Pages(0).TryCompressImage(0)
+ ''signature.SetSignNameWidth(float width);
+ 'doc.SaveToFile("C:\Users\DEVELOPER1\Desktop\TEST.pdf", 0, 0, Spire.Pdf.FileFormat.PDF)
+
+
+ 'Dim doc2 As New Spire.Pdf.PdfDocument("C:\Users\DEVELOPER1\Desktop\TEST.pdf")
+ 'doc2.PageSettings.Size = Spire.Pdf.PdfPageSize.A4
+ 'doc2.PrintDocument.DefaultPageSettings.Landscape = True
+ 'doc2.PageScaling = Spire.Pdf.PdfPrintPageScaling.FitSize
+
+ 'doc2.PrinterName = printerName
+ 'doc2.PrintDocument.Print()
+ Next
+
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ 'Public Shared Sub PrintViaitext7(PDFFile As String(), Optional printerName As String = "")
+ ' Try
+
+
+ ' Catch ex As Exception
+ ' MsgBox(ex.Message & ex.StackTrace)
+ ' End Try
+ 'End Sub
+
+
+ Public Shared Sub Print_PICTURE(File As String(), Optional printerName As String = "")
+ Try
+ If printerName = "" Then
+ Dim oPS As New System.Drawing.Printing.PrinterSettings
+ printerName = oPS.PrinterName
+ End If
+ 'Dim docs As Spire.Pdf.PdfDocument() = {New Spire.Pdf.PdfDocument("C:\Users\DEVELOPER1\Desktop\Agrotel.pdf")}
+
+
+
+
+
+
+
+ For Each pdfPath In File
+
+ Dim printer As PrintDocument = New PrintDocument
+ AddHandler printer.PrintPage, Sub(snd As Object, ev As PrintPageEventArgs)
+ Dim img As Image = Image.FromFile(pdfPath)
+ ev.Graphics.DrawImage(img, ev.PageBounds)
+ End Sub
+ ' printer.PrinterSettings.DefaultPageSettings.PrintableArea.
+ printer.Print()
+ 'Dim PrintDocument1 As PrintDocument = New PrintDocument
+ 'PrintDocument1.DocumentName = pdfPath
+ ''PrintDialog1.Document = PrintDocument1
+ ''PrintDocument1.PrinterSettings.
+ 'PrintDocument1.Print()
+
+ Next
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+
+ Public Shared Sub PrintViaSpirePDF_FromURL(URLs As String(), Optional printerName As String = "")
+ Try
+ If printerName = "" Then
+ Dim oPS As New System.Drawing.Printing.PrinterSettings
+ printerName = oPS.PrinterName
+ End If
+ 'Dim docs As Spire.Pdf.PdfDocument() = {New Spire.Pdf.PdfDocument("C:\Users\DEVELOPER1\Desktop\Agrotel.pdf")}
+
+ 'For Each doc As Spire.Pdf.PdfDocument In docs
+ For Each pdfPath In URLs
+ 'Dim doc As New Spire.Pdf.PdfDocument()
+
+ Using webClient As New Net.WebClient()
+ Dim data() As Byte = webClient.DownloadData(pdfPath)
+ Using stream As New MemoryStream(data)
+ Dim doc As Spire.Pdf.PdfDocument = New Spire.Pdf.PdfDocument(stream)
+ If doc IsNot Nothing Then
+ doc.PageSettings.Size = Spire.Pdf.PdfPageSize.A4
+ doc.PrintDocument.DefaultPageSettings.Landscape = True
+ doc.PageScaling = Spire.Pdf.PdfPrintPageScaling.FitSize
+ doc.PrinterName = printerName
+ doc.PrintDocument.Print()
+ End If
+ End Using
+ End Using
+
+ ' doc.LoadFromHTML(pdfPath, True, True, True)
+
+ Next
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+
+ Shared Function getTMPPath_PDF() As String
+ Return System.IO.Path.GetTempPath() & Guid.NewGuid().ToString() & ".pdf"
+ End Function
+
+ Public Shared Function getPDFViaSpirePDF_FromURL(URL As String, Optional targetPath As String = "") As String
+ Try
+ If targetPath = "" Then targetPath = getTMPPath_PDF()
+
+ Dim doc As New Spire.Pdf.PdfDocument '= New Spire.Pdf.PdfDocument(URL)
+ doc.LoadFromHTML(URL, True, True, True)
+ If doc IsNot Nothing Then
+ doc.PageSettings.Size = Spire.Pdf.PdfPageSize.A4
+ doc.PrintDocument.DefaultPageSettings.Landscape = True
+ doc.PageScaling = Spire.Pdf.PdfPrintPageScaling.FitSize
+ ' doc.PrinterName = printerName
+ ' doc.PrintDocument.Print()
+ doc.SaveToFile(targetPath)
+ End If
+
+ 'For Each doc As Spire.Pdf.PdfDocument In docs
+ 'Dim doc As New Spire.Pdf.PdfDocument()
+
+ 'Using webClient As New Net.WebClient()
+ ' Dim data() As Byte = webClient.DownloadData(URL)
+ ' Using stream As New MemoryStream(data)
+ ' Dim doc As Spire.Pdf.PdfDocument = New Spire.Pdf.PdfDocument(stream)
+ ' If doc IsNot Nothing Then
+ ' doc.PageSettings.Size = Spire.Pdf.PdfPageSize.A4
+ ' doc.PrintDocument.DefaultPageSettings.Landscape = True
+ ' doc.PageScaling = Spire.Pdf.PdfPrintPageScaling.FitSize
+ ' ' doc.PrinterName = printerName
+ ' ' doc.PrintDocument.Print()
+ ' doc.SaveToFile(targetPath)
+ ' End If
+ ' End Using
+ 'End Using
+
+ ' doc.LoadFromHTML(pdfPath, True, True, True)
+
+
+ Return targetPath
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+
+ Public Shared Sub PrintViaGS(PDFFile As String, printerName As String)
+ Try
+ Dim assembly = System.Reflection.Assembly.GetExecutingAssembly()
+ Dim location As String = assembly.CodeBase
+ Dim fullPath As String = New Uri(location).LocalPath
+ Dim directoryPath As String = Path.GetDirectoryName(fullPath)
+
+ Dim MyP As New System.Diagnostics.Process
+ MyP.StartInfo.FileName = directoryPath & "\Resources\GS\gswin32c.exe"
+ Dim sw As New List(Of String)()
+
+ 'MyP.StartInfo.Arguments = "-dPrinted -dBATCH -dNOPAUSE -dNOSAFER -dPDFFitPage -dNumCopies=1 -dNoCancel -sDEVICE=mswinpr2 " & (Convert.ToString("-sOutputFile=%printer%") & printerName) & " -f" & PDFFile
+ ' MyP.StartInfo.Arguments = "-dPrinted -dBATCH -dNOPAUSE -dNOSAFER -dPDFFitPage -dNumCopies=1 -dNoCancel -sDEVICE=mswinpr2 -sOutputFile=" & PDFFile ' & " -f" & PDFFile
+
+ 'OK MyP.StartInfo.Arguments = "-dPrinted -dBATCH -dNOPROMPT -dNOSAFER -dPDFFitPage -dNumCopies=1 -dNoCancel -sDEVICE=ppmraw -sOutputFile=""%printer%" & printerName & """ -f " & PDFFile
+ ' MyP.StartInfo.Arguments = "-dPrinted -dBATCH -dNOPROMPT -dNOSAFER -dQUIET -dNOPAUSE -dNOSAFER -sDEVICE=mswinpr2 -dPDFFitPage -dNumCopies=1 -dNoCancel -sOutputFile=""%printer%" & printerName & """ -f " & PDFFile
+ MyP.StartInfo.Arguments = "-dPrinted -dBATCH -dNOPROMPT -dNOSAFER -dQUIET -dNOPAUSE -dNOSAFER -sDEVICE=mswinpr2 -dPDFFitPage -dNumCopies=1 -dNoCancel -sOutputFile=""%printer%" & printerName & """ -f " & PDFFile
+
+ '-dQUIET -sDEVICE=jpeg mswinpr2
+ ' MsgBox(MyP.StartInfo.Arguments)
+ MyP.StartInfo.UseShellExecute = False
+ MyP.StartInfo.CreateNoWindow = True
+ ' MyP.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
+ MyP.StartInfo.RedirectStandardOutput = True
+ MyP.StartInfo.RedirectStandardError = True
+ MyP.StartInfo.CreateNoWindow = True
+
+ MyP.Start()
+
+
+ ' Using processor As New GhostscriptProcessor()
+ ' Dim switches As New List(Of String)()
+ ' switches.Add("-empty")
+ 'switches.Add("-dPrinted")
+ 'switches.Add("-dBATCH")
+ 'switches.Add("-dNOPAUSE")
+ 'switches.Add("-dNOSAFER")
+ 'switches.Add("-dPDFFitPage")
+ 'switches.Add("-dNumCopies=1")
+ 'switches.Add("-sDEVICE=mswinpr2") 'mswinpr2
+ 'switches.Add("-dNoCancel")
+ 'switches.Add(Convert.ToString("-sOutputFile=%printer%") & printerName)
+ 'switches.Add("-f")
+ 'switches.Add(PDFFile)
+ 'processor.StartProcessing(switches.ToArray(), Nothing)
+ 'End Using
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Shared Function PrintFadile2(fileName As String, printerName As String) As Boolean
+ PrintViaGS(fileName, printerName)
+ Return True
+ ' Dim rasterizer As Ghostscript.NET.Rasterizer.GhostscriptRasterizer
+
+ Dim rasterizer = New Ghostscript.NET.Rasterizer.GhostscriptRasterizer
+ rasterizer.Open(fileName)
+ '//Image page = rasterizer.GetPage(96,96); <-- this one prints ok
+ Dim page As Image = rasterizer.GetPage(600, 600, 1)
+ ' doc.DocumentName = fileName
+
+ Dim doc As New PrintDocument
+ doc.PrinterSettings.PrinterName = printerName
+ doc.PrinterSettings.Copies = 1
+ ' doc.PrinterSettings.PaperSizes
+ AddHandler doc.PrintPage, Sub(send As System.Object, ev As System.Drawing.Printing.PrintPageEventArgs)
+ Dim g As Graphics = ev.Graphics
+ g.DrawImage(page, 5, 5)
+ End Sub
+ doc.Print()
+
+
+ End Function
+
+
+
+ Function getRechtsform(firma) As String
+ If firma.Trim.Replace(" ", "").ToLower.EndsWith("GMBH&COKG".ToLower) Then Return "GMBH & CO KG"
+ If firma.Trim.Replace(" ", "").ToLower.EndsWith("GMBH".ToLower) Then Return "GMBH"
+ If firma.Trim.ToLower.EndsWith(" AG".ToLower) Then Return "Aktiengesellschaft"
+ If firma.Trim.ToLower.EndsWith(" OG".ToLower) Then Return "Offene Gesellschaft"
+ If firma.Trim.Replace(" ", "").ToLower.EndsWith("e.U.".ToLower) Then Return "Eingetragenes Einzelunternehmen"
+ If firma.Trim.Replace(" ", "").ToLower.EndsWith("GesbR".ToLower) Then Return "Gesellschaft bürgerl. Rechts"
+ If firma.Trim.Replace(" ", "").ToLower.EndsWith("GesmbH".ToLower) Then Return "GMBH"
+ If firma.Trim.Replace(" ", "").ToLower.EndsWith("Ges.mbH".ToLower) Then Return "GMBH"
+ If firma.Trim.Replace(" ", "").ToLower.EndsWith("Ges.m.b.H.".ToLower) Then Return "GMBH"
+ If firma.Trim.ToLower.EndsWith(" KEG".ToLower) Then Return "Kommanditerwerbsgesellschaft"
+ If firma.Trim.ToLower.EndsWith(" KG".ToLower) Then Return "Kommanditgesellschaft "
+ If firma.Trim.ToLower.EndsWith(" OEG ".ToLower) Then Return "Offene Erwerbsgesellschaft"
+ If firma.Trim.ToLower.EndsWith(" OHG ".ToLower) Then Return "Offene Handelsgesellschaft"
+ If firma.Trim.ToLower.EndsWith(" SCE".ToLower) Then Return "Europäische Genossenschaft"
+ If firma.Trim.ToLower.EndsWith(" SE".ToLower) Then Return "Europäische Gesellschaft"
+ Return ""
+ End Function
+
+End Class
+
+
+
+Public Class cDatenarchiv_Collection
+
+ Property coll_id As Object = Nothing
+ Property coll_daId As Object = Nothing
+ Property coll_bezeichnung As String = ""
+ Property coll_pfad As String = ""
+ Property coll_info As String = ""
+ Property coll_date As Date = Now
+ Property coll_archiv As Boolean = False
+
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Sub New(coll_daId, coll_pfad, coll_bezeichnung, coll_info, coll_archiv)
+ Me.coll_daId = coll_daId
+ Me.coll_pfad = coll_pfad
+ Me.coll_bezeichnung = coll_bezeichnung
+ Me.coll_info = coll_info
+ Me.coll_archiv = coll_archiv
+ End Sub
+
+ Sub New(coll_id, coll_daId, coll_pfad, coll_bezeichnung, coll_info, coll_archiv)
+ Me.coll_id = coll_id
+ Me.coll_daId = coll_daId
+ Me.coll_pfad = coll_pfad
+ Me.coll_bezeichnung = coll_bezeichnung
+ Me.coll_info = coll_info
+ Me.coll_archiv = coll_archiv
+ End Sub
+
+ Public Function DELETE() As Boolean
+ Try
+ If coll_pfad.Contains(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir) Then '"\\192.168.0.91\DATENARCHIV\") Then 'Um sicher zu gehen, dass der pfad im richtigem VZ ist.
+ If My.Computer.FileSystem.FileExists(coll_pfad) Then
+ saveFileToDel(coll_pfad)
+ Try
+ IO.File.Delete(coll_pfad)
+ Catch : End Try
+ Return SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_id]=" & coll_id & " ", "FMZOLL")
+ Else
+ Return True
+ End If
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ Return False
+ End Function
+
+ Sub saveFileToDel(path)
+ Dim delPath = ""
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ delPath = path.Replace("\DATENARCHIV_TESTSYSTEM\", "\DATENARCHIV_TESTSYSTEM\DELETE\")
+ Else
+ delPath = path.Replace("\DATENARCHIV\", "\DATENARCHIV\DELETE\")
+ '\\192.168.0.91\Datenarchiv\DOKUMENTE\VORLAGEN\FISKALSCHREIBEN
+ End If
+ If Not IO.Directory.Exists(delPath.Substring(0, delPath.LastIndexOf("\"))) Then IO.Directory.CreateDirectory(delPath.Substring(0, delPath.LastIndexOf("\")))
+ If IO.File.Exists(delPath) Then
+ If delPath.Contains(".") Then
+ Dim commaIndex = delPath.LastIndexOf(".")
+ delPath = delPath.Substring(0, commaIndex) + Now.ToString("_del_ddMMyyyy_HHmmss") + delPath.Substring(commaIndex) ' + 1)
+ ' delPath = delPath.Substring(0, delPath.LastIndexOf(".") - 1) & Now.ToString("_ddMMyyyy_HHmmss") & delPath.Substring(delPath.LastIndexOf("."), delPath.LastIndexOf(".") - 1)
+ ' delPath.LastIndexOf(".")
+ ' delPath.Replace(".", Now.ToString("_ddMMyyyy_HHmmss") & ".")
+ End If
+ End If
+ IO.File.Copy(path, delPath)
+ End Sub
+
+ Function INSERT() As Integer
+ Try
+ 'If coll_id < 0 Then 'Wenn noch keine ID vergeben
+ 'Me.coll_id = getMaxId()
+ 'End If
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("INSERT INTO tblDatenarchiv_Collection (coll_daId,coll_pfad, coll_bezeichnung, coll_info,coll_archiv) VALUES (@coll_daId,@coll_pfad, @coll_bezeichnung, @coll_info,@coll_archiv) ", conn)
+ cmd.Parameters.AddWithValue("@coll_daId", coll_daId)
+ cmd.Parameters.AddWithValue("@coll_pfad", coll_pfad)
+ cmd.Parameters.AddWithValue("@coll_bezeichnung", coll_bezeichnung)
+ cmd.Parameters.AddWithValue("@coll_info", coll_info)
+ cmd.Parameters.AddWithValue("@coll_archiv", coll_archiv)
+
+ cmd.ExecuteNonQuery()
+ Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn)
+ Dim id = CInt(newcmd.ExecuteScalar)
+ Me.coll_id = id
+ Return id
+ End Using
+ End Using
+ Return True
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ Return -1
+ End Try
+ End Function
+
+ Function UPDATE() As Boolean
+ Try
+ 'If coll_id < 0 Then 'Wenn noch keine ID vergeben
+ 'Me.coll_id = getMaxId()
+ 'End If
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("UPDATE tblDatenarchiv_Collection SET coll_daId=@coll_daId,coll_pfad=@coll_pfad, coll_bezeichnung=@coll_bezeichnung, coll_info=@coll_info,coll_archiv=@coll_archiv WHERE [coll_id]=@coll_id ", conn)
+ cmd.Parameters.AddWithValue("@coll_id", coll_id)
+ cmd.Parameters.AddWithValue("@coll_daId", coll_daId)
+ cmd.Parameters.AddWithValue("@coll_pfad", coll_pfad)
+ cmd.Parameters.AddWithValue("@coll_bezeichnung", coll_bezeichnung)
+ cmd.Parameters.AddWithValue("@coll_info", coll_info)
+ cmd.Parameters.AddWithValue("@coll_archiv", coll_archiv)
+ cmd.ExecuteNonQuery()
+ Return True
+ End Using
+ End Using
+ Return True
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ Return False
+ End Try
+ End Function
+
+ Public Function OPEN(Optional openFILE As Boolean = True, Optional useBezeichnung As Boolean = False) As String
+ If Not IO.File.Exists(coll_pfad) Then MsgBox("Die Datei existiert nicht") : Return ""
+
+ Dim fi As New IO.DirectoryInfo(coll_pfad)
+ Dim destPath = ""
+ If useBezeichnung Then
+ destPath = DATENVERVER_OPTIONS.copyToTmp_KeepFilename(coll_pfad, coll_bezeichnung)
+ Else
+ destPath = DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension, , False)
+ End If
+ ' MsgBox(destPath)
+ IO.File.Copy(coll_pfad, destPath, True)
+ If openFILE Then Process.Start(destPath)
+ Return destPath
+ End Function
+
+
+ Public Function OPEN_ORIG(Optional openFILE As Boolean = True) As String
+ If Not IO.File.Exists(coll_pfad) Then MsgBox("Die Datei existiert nicht") : Return ""
+
+ If openFILE Then Process.Start(coll_pfad)
+ Return coll_pfad
+ End Function
+
+
+
+End Class
+
+
+Public Class cDatenserverIDCollectionList
+ Property coll_daId = -1
+ Property rootDir = ""
+ Property LIST As New List(Of cDatenarchiv_Collection)
+ Public lastID = -1
+
+ Sub New()
+
+ End Sub
+
+ Sub New(coll_daId, rootDir)
+ Me.coll_daId = coll_daId
+ Me.rootDir = rootDir
+ LOAD()
+ End Sub
+
+ Public Sub LOAD()
+ Try
+ LIST.Clear()
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ 'Using cmd As New SqlCommand("SELECT coll_id, coll_daId, da_pfad, da_name FROM tblDatenarchiv_Collection INNER JOIN tblDatenarchiv ON coll_daId=da_id WHERE coll_id=@coll_id ", conn)
+ Using cmd As New SqlCommand("SELECT coll_id, coll_daId, coll_pfad, coll_bezeichnung,coll_info,coll_archiv FROM tblDatenarchiv_Collection WHERE coll_daId=@coll_daId order by coll_bezeichnung ", conn) ' order by [coll_date] desc
+ cmd.Parameters.AddWithValue("@coll_daId", Me.coll_daId)
+ Dim dr = cmd.ExecuteReader()
+ 'LIST = New List(Of cDatenarchiv_Collection)
+ While dr.Read
+ LIST.Add(New cDatenarchiv_Collection(dr.Item("coll_id"), dr.Item("coll_daId"), dr.Item("coll_pfad"), dr.Item("coll_bezeichnung"), dr.Item("coll_info"), dr.Item("coll_archiv")))
+ End While
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ End Sub
+
+
+
+ Public Function getMaxId() As Integer
+ getMaxId = -1
+ Try
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
+ Using cmd As New SqlCommand("SELECT isnull(max(coll_id),0)+1 FROM tblDatenarchiv_Collection ", conn)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ getMaxId = dr.Item(0)
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+ End Function
+
+ Function ADD(srcpath, destPath, coll_bezeichnung, coll_info, coll_archiv) As Boolean
+ Try
+ Dim l As New cDatenarchiv_Collection(coll_daId, destPath, coll_bezeichnung, coll_info, coll_archiv)
+ Dim ID = l.INSERT()
+ If ID > 0 Then
+ 'COPY
+ Dim errorMsg = "ERR"
+ If COPY_FILE(srcpath, destPath, errorMsg) Then
+ ' Der Eintrag wird in die Liste aufgenommen.
+ LIST.Add(l)
+ lastID = l.coll_id
+ Else
+ ' Wenn beim Kopieren ein Fehler aufgetreten ist, wird der DB_Eintrag gelöscht,
+ ' der Eintrag wird nicht in die Liste aufgenommen.
+ l.DELETE()
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(errorMsg, errorMsg, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+
+ Return False
+ End If
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ Return False
+ End Try
+ Return True
+ End Function
+
+ Function ADD_WOcopy(destPath, coll_bezeichnung, coll_info, coll_archiv) As Boolean
+ Try
+ Dim l As New cDatenarchiv_Collection(coll_daId, destPath, coll_bezeichnung, coll_info, coll_archiv)
+ Dim ID = l.INSERT()
+ If ID > 0 Then
+ ' Der Eintrag wird in die Liste aufgenommen.
+ LIST.Add(l)
+ lastID = l.coll_id
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ Return False
+ End Try
+ Return True
+ End Function
+ Function COPY_FILE(srcPath, destPath, ByRef errorMsg) As Boolean
+ For i = 1 To 3 '3 Versuche
+ Try
+ IO.File.Copy(srcPath, destPath, True) ' Kopiert die Dateien Next
+ Return True
+ Catch ex As Exception
+ errorMsg = ex.Message
+ End Try
+ System.Threading.Thread.Sleep(500)
+ Next
+ Return False
+ End Function
+
+
+
+ Function DELETE_ALL(Optional delteFromFileSystem = True) As Boolean
+ Try
+ If delteFromFileSystem Then
+ LIST.Clear()
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Return SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_daId]=" & coll_daId & " ", "FMZOLL")
+ Else
+ While LIST.Count > 0
+ If LIST(0).DELETE() Then
+ LIST.RemoveAt(0)
+ Else
+ Return False
+ End If
+
+ End While
+ End If
+ Return True
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ Return False
+ End Try
+ End Function
+
+
+
+
+ Function DELETE_ATPOS(coll_id) As Boolean
+ Try
+ For Each l In LIST
+ If l.coll_id = coll_id Then
+ If l.DELETE() Then
+ LIST.Remove(l)
+ Return True
+ Else
+ Return False
+ End If
+ End If
+ Next
+ Return True
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ Return False
+ End Try
+ End Function
+
+
+
+End Class
+
+Public Class DATENVERVER_OPTIONS
+ Public Shared TMP_PATH = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\DatenTMP\"
+
+ Shared Function getTMPPath(name As String, extension As String, Optional special As Boolean = False, Optional delete As Boolean = True, Optional unterOrdner As String = "") As String
+ If Environment.GetFolderPath(Environment.SpecialFolder.Personal) = "" Then ' WEB_SERV
+ TMP_PATH = Path.GetTempPath() & "\VERAG\DatenTMP\"
+ End If
+
+ Dim TMP_PATH2 = TMP_PATH & If(unterOrdner <> "", "\" & unterOrdner & "\", "")
+ TMP_PATH2 = TMP_PATH2.replace("\\", "\")
+ If Not My.Computer.FileSystem.DirectoryExists(TMP_PATH2) Then
+ My.Computer.FileSystem.CreateDirectory(TMP_PATH2)
+ End If
+ If delete Then clearTMPPath(unterOrdner)
+ If name = "" Then name = "TMP"
+ Dim destPath = TMP_PATH2 & name
+ If special Then destPath = TMP_PATH2 & name & "_" & Now.ToString("yyyyMMddHHmmssfff") & extension
+
+ While IO.File.Exists(destPath)
+ destPath = TMP_PATH2 & name & "_" & Now.ToString("yyyyMMddHHmmssfff") & extension
+ End While
+
+ Return destPath
+ End Function
+
+ Shared Function copyToTmp_KeepFilenameByDS(dId As Integer, bezeichnung As String) As String
+ Dim DS As New cDATENSERVER(dId)
+ Dim pfad As String = DS.GET_TOP1_PATH
+ If pfad = "" Then Return ""
+ Dim fi As New IO.FileInfo(pfad)
+
+ Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(bezeichnung, fi.Extension,, False, "ClipBoard_TMP\ClipBoard_" & Now.ToString("ddMMyyyyHHmmss_sss") & "\")
+ Try
+ IO.File.Copy(pfad, tmpPath)
+ Return tmpPath
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ Return pfad
+ End Function
+
+ Shared Function copyToTmp_KeepFilename(pfad As String, bezeichnung As String) As String
+ Dim fi As New IO.FileInfo(pfad)
+ Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(bezeichnung, fi.Extension,, False, "ClipBoard_TMP\ClipBoard_" & Now.ToString("ddMMyyyyHHmmss_sss") & "\")
+ Try
+ IO.File.Copy(pfad, tmpPath)
+ Return tmpPath
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ Return pfad
+ End Function
+
+ Shared Function getTMPAbsolutePath(AbsolutePath As String, extension As String, Optional special As Boolean = False, Optional delete As Boolean = True) As String
+
+ If delete Then
+ Try : IO.File.Delete(AbsolutePath) : Catch ex As Exception : End Try
+ End If
+ Dim destPath = AbsolutePath
+ If special Then destPath = AbsolutePath.Replace(extension, "") & "_" & Now.ToString("yyyyMMddHHmmssfff") & extension
+
+ While IO.File.Exists(destPath)
+ destPath = AbsolutePath.Replace(extension, "") & "_" & Now.ToString("yyyyMMddHHmmssfff") & extension
+ End While
+
+ Return destPath
+ End Function
+
+
+ Shared Sub clearTMPPath(Optional unterOrdner As String = "")
+ Dim TMP_PATH2 As String = TMP_PATH & If(unterOrdner <> "", "\" & unterOrdner & "\", "")
+ TMP_PATH2 = TMP_PATH2.Replace("\\", "\")
+ If My.Computer.FileSystem.DirectoryExists(TMP_PATH2) Then
+ For Each file As String In IO.Directory.GetFiles(TMP_PATH2) ' Ermittelt alle Dateien des Ordners und löscht diese (sind tmp)
+ Try : IO.File.Delete(file) : Catch : End Try
+ Next
+ For Each dir As String In IO.Directory.GetDirectories(TMP_PATH2) ' Ermittelt alle Dateien des Ordners und löscht diese (sind tmp)
+ Try : IO.Directory.Delete(dir, True) : Catch : End Try
+ Next
+ End If
+ End Sub
+
+
+ Shared Function REMANE_FOLDER_KDNR(OLD_V As cDatenserver_Change_Value, NEW_V As cDatenserver_Change_Value) 'kategorie, ordner, kdnr, da_uOrdner1, da_uOrdner2, da_uOrdner3, new_kategorie, new_ordner, new_kdnr, new_uOrdner1, new_uOrdner2, new_uOrdner3)
+ Try
+ If OLD_V Is Nothing Then MsgBox("OLD_V: Keinen Wert angegeben!") : Return False
+ If NEW_V Is Nothing Then MsgBox("NEW_V: Keinen Wert angegeben!") : Return False
+ If OLD_V.da_kategorie = "" Then MsgBox("OLD_V: Keine Kategorie!") : Return False
+ If OLD_V.da_ordner = "" Then MsgBox("OLD_V: Kein Ordner!") : Return False
+ If NEW_V.da_kategorie = "" Then MsgBox("NEW_V: Keine Kategorie!") : Return False
+ If NEW_V.da_ordner = "" Then MsgBox("NEW_V: Kein Ordner!") : Return False
+
+ 'Dim oldDIR = getDescPath(initRootDir(), kategorie, ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, kdnr, "", "", True)
+ ' Dim DS As New cDATENSERVER(kategorie, ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, da_name, kdnr)
+ 'If IO.Directory.Exists(oldDIR) Then
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Dim dt As DataTable = Nothing
+
+ If OLD_V.da_uOrdner3 IsNot Nothing Then : dt = SQL.loadDgvBySql("select [da_id] from [tblDatenarchiv] where da_KundenNr = '" & OLD_V.da_KundenNr & "' AND da_kategorie ='" & OLD_V.da_kategorie & "' AND da_ordner='" & OLD_V.da_ordner & "' AND da_uOrdner1= '" & OLD_V.da_uOrdner1 & "' AND da_uOrdner2= '" & OLD_V.da_uOrdner2 & "' AND da_uOrdner3='" & OLD_V.da_uOrdner3 & "' ", "FMZOLL")
+ ElseIf OLD_V.da_uOrdner2 IsNot Nothing Then : dt = SQL.loadDgvBySql("select [da_id] from [tblDatenarchiv] where da_KundenNr = '" & OLD_V.da_KundenNr & "' AND da_kategorie ='" & OLD_V.da_kategorie & "' AND da_ordner='" & OLD_V.da_ordner & "' AND da_uOrdner1= '" & OLD_V.da_uOrdner1 & "' AND da_uOrdner2= '" & OLD_V.da_uOrdner2 & "' ", "FMZOLL")
+ ElseIf OLD_V.da_uOrdner1 IsNot Nothing Then : dt = SQL.loadDgvBySql("select [da_id] from [tblDatenarchiv] where da_KundenNr = '" & OLD_V.da_KundenNr & "' AND da_kategorie ='" & OLD_V.da_kategorie & "' AND da_ordner='" & OLD_V.da_ordner & "' AND da_uOrdner1= '" & OLD_V.da_uOrdner1 & "' ", "FMZOLL")
+ End If
+
+ If dt IsNot Nothing Then
+ For Each r As DataRow In dt.Rows
+ Dim DS As New cDATENSERVER(r.Item("da_id"))
+ DS.REMANE_FOLDER(OLD_V.da_kategorie, OLD_V.da_ordner, OLD_V.da_uOrdner1, OLD_V.da_uOrdner2, OLD_V.da_uOrdner3, OLD_V.da_KundenNr, NEW_V.da_kategorie, NEW_V.da_ordner, NEW_V.da_uOrdner1, NEW_V.da_uOrdner2, NEW_V.da_uOrdner3, NEW_V.da_KundenNr)
+ Next
+ End If
+
+ Return True
+ ' Else
+ 'MsgBox("Der Ordner existiert nicht!")
+ ' End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+
+ Return False
+ End Function
+
+ Shared Function initRootDir() As String
+ initRootDir = getRootDir()
+ End Function
+
+
+ Shared Function getRootDir(Optional TESTSYSTEM = Nothing) As String
+
+
+ Dim TS = If(TESTSYSTEM IsNot Nothing, TESTSYSTEM, VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
+
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "UNISPED" Then
+ If TS Then
+ ' getRootDir = "\\192.168.0.91\DATENARCHIV\DATENARCHIV_TESTSYSTEM\"
+ getRootDir = "\\datenarchiv.verag.ost.dmn\DATENARCHIV\DATENARCHIV_TESTSYSTEM\"
+ Else
+ ' getRootDir = "\\192.168.0.91\DATENARCHIV\"
+ getRootDir = "\\datenarchiv.verag.ost.dmn\DATENARCHIV\"
+ End If
+ Else
+ If TS Then
+ ' getRootDir = "\\192.168.0.91\DATENARCHIV\DATENARCHIV_TESTSYSTEM\"
+ getRootDir = "\\datenarchiv.verag.ost.dmn\DATENARCHIV\DATENARCHIV_TESTSYSTEM\"
+ Else
+ ' getRootDir = "\\192.168.0.91\DATENARCHIV\"
+ getRootDir = "\\datenarchiv.verag.ost.dmn\DATENARCHIV\"
+ End If
+ End If
+ End Function
+
+
+ Shared Function getDescPath(rootDir, kategorie, ordner, da_uOrdner1, da_uOrdner2, da_uOrdner3, kdnr, bezeichnung, endung, Optional onlyordner = False) As String
+ Try
+ If kdnr Is Nothing Then MsgBox("Keine Kundennummer angegeben!") : Return ""
+ If ordner Is Nothing Then MsgBox("Kein Ordner angegeben!") : Return ""
+ Dim dateiName = ""
+ If Not onlyordner Then
+ If bezeichnung Is Nothing Then MsgBox("Keine Bezeichnung angegeben!") : Return ""
+ dateiName = Now.ToString("yyyyMMdd_HHmmss_") & bezeichnung
+ End If
+
+ Dim kdnr_path = ""
+ If kdnr IsNot Nothing AndAlso IsNumeric(kdnr) AndAlso kdnr > 0 Then
+ kdnr_path = kdnr
+ End If
+
+ If kategorie <> "" Then
+ Dim dir = ""
+ dir &= rootDir
+ dir &= kategorie & "\"
+ dir &= If(ordner IsNot Nothing AndAlso ordner <> "", ordner & "\", "")
+ dir &= If(kdnr_path <> "", kdnr_path & "\", "")
+ dir &= If(da_uOrdner1 IsNot Nothing AndAlso da_uOrdner1 <> "", da_uOrdner1 & "\", "")
+ dir &= If(da_uOrdner2 IsNot Nothing AndAlso da_uOrdner2 <> "", da_uOrdner2 & "\", "")
+ dir &= If(da_uOrdner3 IsNot Nothing AndAlso da_uOrdner3 <> "", da_uOrdner3 & "\", "")
+ If Not onlyordner Then
+ If Not IO.Directory.Exists(dir) Then
+ IO.Directory.CreateDirectory(dir)
+ End If
+
+
+ Dim zusatz = "" : Dim zusatzcnt = 1
+ While IO.File.Exists(dir & dateiName & zusatz & If(bezeichnung.ToString.EndsWith(endung), "", endung))
+ zusatz = "_" & zusatzcnt
+ zusatzcnt += 1
+ End While
+
+ dir &= dateiName & zusatz & If(bezeichnung.ToString.EndsWith(endung), "", endung)
+ End If
+
+ Return dir
+ Else
+ If Not onlyordner Then
+ If Not IO.Directory.Exists(rootDir & "DOKUMENTE\KEINE_ZUORDNUNG\" & kdnr_path & "\") Then IO.Directory.CreateDirectory(rootDir & "DOKUMENTE\KEINE_ZUORDNUNG\" & kdnr_path & "\")
+ End If
+ Return rootDir & "DOKUMENTE\KEINE_ZUORDNUNG\" & kdnr_path & "\" & dateiName
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ Return ""
+ End Try
+ End Function
+
+ Shared Function OPEN_PATH(path As String) As Boolean
+ Try
+ If Not IO.File.Exists(path) Then MsgBox("Die Datei existiert nicht") : Return False
+
+ Dim fi As New IO.DirectoryInfo(path)
+ Dim destPath = DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension, , False)
+
+ IO.File.Copy(path, destPath, True)
+ Process.Start(destPath)
+ Return True
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ Return False
+ End Try
+ End Function
+
+
+End Class
+
+Public Class barcodeToPdf
+ Public image As Image = Nothing
+ Public x As Integer
+ Public y As Integer
+ Public width As Integer
+ Public height As Integer
+ Public onpage = 1
+ Public rotate As Drawing.RotateFlipType = RotateFlipType.RotateNoneFlipNone
+
+ Sub New(image As Image, x As Integer, y As Integer, width As Integer, height As Integer, onpage As Integer, rotate As Drawing.RotateFlipType)
+ Me.image = image
+ Me.x = x
+ Me.y = y
+ Me.width = width
+ Me.height = height
+ Me.onpage = onpage
+ Me.rotate = rotate
+ End Sub
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.Designer.vb
new file mode 100644
index 0000000..2b708ca
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.Designer.vb
@@ -0,0 +1,100 @@
+ _
+Partial Class frmVorlagen
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmVorlagen))
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.btnUpload = New System.Windows.Forms.Button()
+ Me.dgvVolagen = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
+ Me.Button1 = New System.Windows.Forms.Button()
+ CType(Me.dgvVolagen, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.BackColor = System.Drawing.Color.White
+ Me.Label1.Location = New System.Drawing.Point(8, 15)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(55, 13)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = "Kategorie:"
+ '
+ 'btnUpload
+ '
+ Me.btnUpload.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.btnUpload.Location = New System.Drawing.Point(12, 609)
+ Me.btnUpload.Name = "btnUpload"
+ Me.btnUpload.Size = New System.Drawing.Size(225, 44)
+ Me.btnUpload.TabIndex = 8
+ Me.btnUpload.Text = "Neue Vorlage"
+ Me.btnUpload.UseVisualStyleBackColor = True
+ '
+ 'dgvVolagen
+ '
+ Me.dgvVolagen.AKTUALISIERUNGS_INTERVALL = -1
+ Me.dgvVolagen.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
+ Me.dgvVolagen.Location = New System.Drawing.Point(11, 31)
+ Me.dgvVolagen.MultiSelect = False
+ Me.dgvVolagen.Name = "dgvVolagen"
+ Me.dgvVolagen.ReadOnly = True
+ Me.dgvVolagen.RowHeadersVisible = False
+ Me.dgvVolagen.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
+ Me.dgvVolagen.Size = New System.Drawing.Size(1094, 572)
+ Me.dgvVolagen.TabIndex = 9
+ '
+ 'Button1
+ '
+ Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button1.Location = New System.Drawing.Point(305, 609)
+ Me.Button1.Name = "Button1"
+ Me.Button1.Size = New System.Drawing.Size(225, 44)
+ Me.Button1.TabIndex = 10
+ Me.Button1.Text = "Vorlage Ändern"
+ Me.Button1.UseVisualStyleBackColor = True
+ '
+ 'frmVorlagen
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.White
+ Me.ClientSize = New System.Drawing.Size(1117, 665)
+ Me.Controls.Add(Me.Button1)
+ Me.Controls.Add(Me.dgvVolagen)
+ Me.Controls.Add(Me.btnUpload)
+ Me.Controls.Add(Me.Label1)
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.Name = "frmVorlagen"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+ Me.Text = "Vorlage - Upload"
+ CType(Me.dgvVolagen, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents btnUpload As System.Windows.Forms.Button
+ Friend WithEvents dgvVolagen As VERAG_PROG_ALLGEMEIN.MyDatagridview
+ Friend WithEvents Button1 As System.Windows.Forms.Button
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.resx b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.resx
new file mode 100644
index 0000000..d584bd9
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.resx
@@ -0,0 +1,980 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA
+ AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r
+ OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////////////
+ //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm
+ MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L
+ v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j
+ jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt
+ mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////
+ ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU
+ y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm
+ 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3
+ p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90
+ SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U
+ y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm
+ MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3/////////////
+ //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3
+ 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDu6+n/////////////////////////////////////////////////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/
+ ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm
+ MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb/////////////////////
+ //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/
+ ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d
+ 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt
+ mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm
+ MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////
+ //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3
+ 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t
+ mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X/////////////
+ //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm
+ MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm
+ MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu
+ 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv/////
+ ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////
+ //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm
+ MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t
+ mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/
+ //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////
+ ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////
+ ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj
+ jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////
+ ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B
+ s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3Bs6rBs6r39fT/////////////////////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/
+ ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j/////////////////
+ ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////////////
+ //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////
+ ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////
+ ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA
+ XUL/////////////////////////////////////////////////////////////////////////////
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////
+ //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////////////////////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ ///////////////////////////////////////////////////////////////////////////d1tFm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/
+ //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd
+ 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////
+ ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////
+ ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////
+ //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT/////////////
+ //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0
+ SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDUy8X/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n/////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u
+ 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY
+ fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////Uy8XB
+ s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////
+ //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDm4N3/////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////
+ ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t
+ mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3/////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwD39fT/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////
+ //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r/////////////////////////
+ //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////
+ //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL
+ v7j/////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////+Mblhm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r/////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCtmo3Bs6r39fT/////////////////////////////////////////////////////////////////
+ ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////
+ ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n/////
+ ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j/////////////////////////////////////////////////
+ ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCAXUL/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////
+ //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////
+ //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT/////////
+ //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/
+ ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3/////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////39fRmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////
+ ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////
+ ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////
+ ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////
+ ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT/////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////////L
+ v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB
+ s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////
+ ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X/////////////////////////////////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////
+ ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwB0SSb/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/
+ //////////////////////////////////////////////////////////////////////////////+A
+ XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.vb b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.vb
new file mode 100644
index 0000000..9b67323
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagen.vb
@@ -0,0 +1,56 @@
+Imports System.Windows.Forms
+
+Public Class frmVorlagen
+
+
+
+
+ Private Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click
+ Dim vu As New VERAG_PROG_ALLGEMEIN.frmVorlagenUpload
+ vu.ShowDialog()
+
+
+
+ End Sub
+
+ Private Sub frmVorlagenUpload_Load(sender As Object, e As EventArgs) Handles Me.Load
+ initDGV()
+ End Sub
+ Sub initDGV()
+ With dgvVolagen
+ .Columns.Clear()
+ .SET_SQL("SELECT [da_id],[da_kategorie],[da_ordner] ,[da_name],da_uOrdner1,da_uOrdner2,da_uOrdner3 FROM [tblDatenarchiv] where da_vorlage=1", "FMZOLL")
+ .LOAD()
+ If .ColumnCount > 0 Then
+ '.Columns("da_uOrdner1").Visible = False
+ .Columns("da_name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
+ End If
+ End With
+ End Sub
+
+
+
+ Private Sub gridAviso_DoubleClick(sender As Object, e As System.EventArgs) Handles dgvVolagen.DoubleClick
+ If dgvVolagen.SelectedRows.Count = 0 Then Exit Sub
+ Dim r As DataGridViewRow = dgvVolagen.SelectedRows(0)
+ Dim cDATENSERVER As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(r.Cells("da_kategorie").Value, r.Cells("da_ordner").Value, r.Cells("da_uOrdner1").Value, r.Cells("da_uOrdner2").Value, r.Cells("da_uOrdner3").Value, r.Cells("da_name").Value)
+ MsgBox(cDATENSERVER.DATA_LIST.LIST.Count)
+ cDATENSERVER.OPEN_SINGLE()
+
+ End Sub
+
+ Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
+
+ If dgvVolagen.SelectedRows.Count = 0 Then Exit Sub
+
+ Try
+ Dim r As DataGridViewRow = dgvVolagen.SelectedRows(0)
+ Dim cDATENSERVER As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(r.Cells("da_kategorie").Value, r.Cells("da_ordner").Value, r.Cells("da_uOrdner1").Value, r.Cells("da_uOrdner2").Value, r.Cells("da_uOrdner3").Value, r.Cells("da_name").Value)
+ If cDATENSERVER.uploadDataToDATENSERVERFileDialog() <> "" Then
+ dgvVolagen.RELOAD()
+ End If
+ Catch ex As Exception
+ MsgBox(ex.Message)
+ End Try
+ End Sub
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.Designer.vb
new file mode 100644
index 0000000..9fb9c68
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.Designer.vb
@@ -0,0 +1,217 @@
+ _
+Partial Class frmVorlagenUpload
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmVorlagenUpload))
+ Me.txtOrdner = New VERAG_PROG_ALLGEMEIN.MyTextBox()
+ Me.lbl = New System.Windows.Forms.Label()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.tzxtKategorie = New VERAG_PROG_ALLGEMEIN.MyTextBox()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.txtName = New VERAG_PROG_ALLGEMEIN.MyTextBox()
+ Me.btnUpload = New System.Windows.Forms.Button()
+ Me.txtUnterordner1 = New VERAG_PROG_ALLGEMEIN.MyComboBox()
+ Me.txtUnterordner2 = New VERAG_PROG_ALLGEMEIN.MyComboBox()
+ Me.Label4 = New System.Windows.Forms.Label()
+ Me.SuspendLayout()
+ '
+ 'txtOrdner
+ '
+ Me.txtOrdner._DateTimeOnly = False
+ Me.txtOrdner._numbersOnly = False
+ Me.txtOrdner._numbersOnlyKommastellen = ""
+ Me.txtOrdner._Prozent = False
+ Me.txtOrdner._ShortDateNew = False
+ Me.txtOrdner._ShortDateOnly = False
+ Me.txtOrdner._TimeOnly = False
+ Me.txtOrdner._value = "VORLAGEN"
+ Me.txtOrdner._Waehrung = False
+ Me.txtOrdner.Enabled = False
+ Me.txtOrdner.ForeColor = System.Drawing.Color.Black
+ Me.txtOrdner.Location = New System.Drawing.Point(89, 38)
+ Me.txtOrdner.MaxLineLength = -1
+ Me.txtOrdner.MaxLines_Warning = ""
+ Me.txtOrdner.MaxLines_Warning_Label = Nothing
+ Me.txtOrdner.Name = "txtOrdner"
+ Me.txtOrdner.Size = New System.Drawing.Size(357, 20)
+ Me.txtOrdner.TabIndex = 3
+ Me.txtOrdner.Text = "VORLAGEN"
+ '
+ 'lbl
+ '
+ Me.lbl.AutoSize = True
+ Me.lbl.Location = New System.Drawing.Point(8, 41)
+ Me.lbl.Name = "lbl"
+ Me.lbl.Size = New System.Drawing.Size(42, 13)
+ Me.lbl.TabIndex = 2
+ Me.lbl.Text = "Ordner:"
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.BackColor = System.Drawing.Color.White
+ Me.Label1.Location = New System.Drawing.Point(8, 15)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(55, 13)
+ Me.Label1.TabIndex = 0
+ Me.Label1.Text = "Kategorie:"
+ '
+ 'tzxtKategorie
+ '
+ Me.tzxtKategorie._DateTimeOnly = False
+ Me.tzxtKategorie._numbersOnly = False
+ Me.tzxtKategorie._numbersOnlyKommastellen = ""
+ Me.tzxtKategorie._Prozent = False
+ Me.tzxtKategorie._ShortDateNew = False
+ Me.tzxtKategorie._ShortDateOnly = False
+ Me.tzxtKategorie._TimeOnly = False
+ Me.tzxtKategorie._value = "DOKUMENTE"
+ Me.tzxtKategorie._Waehrung = False
+ Me.tzxtKategorie.Enabled = False
+ Me.tzxtKategorie.ForeColor = System.Drawing.Color.Black
+ Me.tzxtKategorie.Location = New System.Drawing.Point(89, 12)
+ Me.tzxtKategorie.MaxLineLength = -1
+ Me.tzxtKategorie.MaxLines_Warning = ""
+ Me.tzxtKategorie.MaxLines_Warning_Label = Nothing
+ Me.tzxtKategorie.Name = "tzxtKategorie"
+ Me.tzxtKategorie.Size = New System.Drawing.Size(357, 20)
+ Me.tzxtKategorie.TabIndex = 1
+ Me.tzxtKategorie.Text = "DOKUMENTE"
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(8, 67)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(66, 13)
+ Me.Label2.TabIndex = 4
+ Me.Label2.Text = "Unterordner:"
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(8, 135)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(38, 13)
+ Me.Label3.TabIndex = 6
+ Me.Label3.Text = "Name:"
+ '
+ 'txtName
+ '
+ Me.txtName._DateTimeOnly = False
+ Me.txtName._numbersOnly = False
+ Me.txtName._numbersOnlyKommastellen = ""
+ Me.txtName._Prozent = False
+ Me.txtName._ShortDateNew = False
+ Me.txtName._ShortDateOnly = False
+ Me.txtName._TimeOnly = False
+ Me.txtName._value = Nothing
+ Me.txtName._Waehrung = False
+ Me.txtName.ForeColor = System.Drawing.Color.Black
+ Me.txtName.Location = New System.Drawing.Point(89, 132)
+ Me.txtName.MaxLineLength = -1
+ Me.txtName.MaxLines_Warning = ""
+ Me.txtName.MaxLines_Warning_Label = Nothing
+ Me.txtName.Name = "txtName"
+ Me.txtName.Size = New System.Drawing.Size(357, 20)
+ Me.txtName.TabIndex = 7
+ '
+ 'btnUpload
+ '
+ Me.btnUpload.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.btnUpload.Location = New System.Drawing.Point(221, 158)
+ Me.btnUpload.Name = "btnUpload"
+ Me.btnUpload.Size = New System.Drawing.Size(225, 44)
+ Me.btnUpload.TabIndex = 8
+ Me.btnUpload.Text = "Datei Auswählen + Upload"
+ Me.btnUpload.UseVisualStyleBackColor = True
+ '
+ 'txtUnterordner1
+ '
+ Me.txtUnterordner1._allowedValuesFreiText = Nothing
+ Me.txtUnterordner1._allowFreiText = True
+ Me.txtUnterordner1._value = ""
+ Me.txtUnterordner1.FormattingEnabled = True
+ Me.txtUnterordner1.Location = New System.Drawing.Point(89, 63)
+ Me.txtUnterordner1.Name = "txtUnterordner1"
+ Me.txtUnterordner1.Size = New System.Drawing.Size(357, 21)
+ Me.txtUnterordner1.TabIndex = 5
+ '
+ 'txtUnterordner2
+ '
+ Me.txtUnterordner2._allowedValuesFreiText = Nothing
+ Me.txtUnterordner2._allowFreiText = True
+ Me.txtUnterordner2._value = ""
+ Me.txtUnterordner2.FormattingEnabled = True
+ Me.txtUnterordner2.Location = New System.Drawing.Point(89, 90)
+ Me.txtUnterordner2.Name = "txtUnterordner2"
+ Me.txtUnterordner2.Size = New System.Drawing.Size(357, 21)
+ Me.txtUnterordner2.TabIndex = 10
+ '
+ 'Label4
+ '
+ Me.Label4.AutoSize = True
+ Me.Label4.Location = New System.Drawing.Point(8, 94)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(75, 13)
+ Me.Label4.TabIndex = 9
+ Me.Label4.Text = "Unterordner 2:"
+ '
+ 'frmVorlagenUpload
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.White
+ Me.ClientSize = New System.Drawing.Size(462, 213)
+ Me.Controls.Add(Me.txtUnterordner2)
+ Me.Controls.Add(Me.Label4)
+ Me.Controls.Add(Me.txtUnterordner1)
+ Me.Controls.Add(Me.btnUpload)
+ Me.Controls.Add(Me.Label3)
+ Me.Controls.Add(Me.txtName)
+ Me.Controls.Add(Me.Label2)
+ Me.Controls.Add(Me.Label1)
+ Me.Controls.Add(Me.tzxtKategorie)
+ Me.Controls.Add(Me.lbl)
+ Me.Controls.Add(Me.txtOrdner)
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.Name = "frmVorlagenUpload"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+ Me.Text = "Vorlage - Upload"
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents txtOrdner As VERAG_PROG_ALLGEMEIN.MyTextBox
+ Friend WithEvents lbl As System.Windows.Forms.Label
+ Friend WithEvents Label1 As System.Windows.Forms.Label
+ Friend WithEvents tzxtKategorie As VERAG_PROG_ALLGEMEIN.MyTextBox
+ Friend WithEvents Label2 As System.Windows.Forms.Label
+ Friend WithEvents Label3 As System.Windows.Forms.Label
+ Friend WithEvents txtName As VERAG_PROG_ALLGEMEIN.MyTextBox
+ Friend WithEvents btnUpload As System.Windows.Forms.Button
+ Friend WithEvents txtUnterordner1 As VERAG_PROG_ALLGEMEIN.MyComboBox
+ Friend WithEvents txtUnterordner2 As VERAG_PROG_ALLGEMEIN.MyComboBox
+ Friend WithEvents Label4 As System.Windows.Forms.Label
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.resx b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.resx
new file mode 100644
index 0000000..d584bd9
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.resx
@@ -0,0 +1,980 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA
+ AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r
+ OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////////////
+ //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm
+ MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L
+ v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j
+ jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt
+ mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////
+ ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU
+ y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm
+ 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3
+ p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90
+ SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U
+ y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm
+ MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3/////////////
+ //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3
+ 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDu6+n/////////////////////////////////////////////////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/
+ ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm
+ MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb/////////////////////
+ //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/
+ ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d
+ 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt
+ mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm
+ MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////
+ //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3
+ 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t
+ mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X/////////////
+ //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm
+ MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm
+ MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu
+ 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv/////
+ ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////
+ //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm
+ MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t
+ mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/
+ //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////
+ ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////
+ ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj
+ jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////
+ ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B
+ s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3Bs6rBs6r39fT/////////////////////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/
+ ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j/////////////////
+ ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////////////
+ //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////
+ ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////
+ ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA
+ XUL/////////////////////////////////////////////////////////////////////////////
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////
+ //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////////////////////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ ///////////////////////////////////////////////////////////////////////////d1tFm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/
+ //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd
+ 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////
+ ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////
+ ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////
+ //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT/////////////
+ //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0
+ SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDUy8X/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n/////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u
+ 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY
+ fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////Uy8XB
+ s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////
+ //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDm4N3/////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////
+ ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t
+ mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3/////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwD39fT/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////
+ //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r/////////////////////////
+ //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////
+ //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL
+ v7j/////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////+Mblhm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r/////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCtmo3Bs6r39fT/////////////////////////////////////////////////////////////////
+ ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////
+ ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n/////
+ ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j/////////////////////////////////////////////////
+ ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCAXUL/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////
+ //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////
+ //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT/////////
+ //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/
+ ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3/////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////39fRmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////
+ ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////
+ ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////
+ ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////
+ ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT/////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////////L
+ v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB
+ s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////
+ ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X/////////////////////////////////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////
+ ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwB0SSb/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/
+ //////////////////////////////////////////////////////////////////////////////+A
+ XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.vb b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.vb
new file mode 100644
index 0000000..977867e
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/DATENSERVER/frmVorlagenUpload.vb
@@ -0,0 +1,30 @@
+Public Class frmVorlagenUpload
+
+
+
+
+ Private Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click
+ Try
+ Dim cDATENSERVER As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(tzxtKategorie.Text, txtOrdner.Text, txtUnterordner1._value, txtUnterordner2._value, "", txtName.Text)
+ If cDATENSERVER.uploadDataToDATENSERVERFileDialog() <> "" Then Me.Close()
+ Catch ex As Exception
+ MsgBox(ex.Message)
+ End Try
+
+ End Sub
+
+ Private Sub frmVorlagenUpload_Load(sender As Object, e As EventArgs) Handles Me.Load
+ txtUnterordner1.Items.Clear()
+ txtUnterordner1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VOLLMACHTEN", "VOLLMACHTEN"))
+ txtUnterordner1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("GESTELLUNGSGARANTIEN", "GESTELLUNGSGARANTIEN"))
+ txtUnterordner1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("SONSTIGE", "SONSTIGE"))
+
+
+
+ txtUnterordner2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", ""))
+ txtUnterordner2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX"))
+ txtUnterordner2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA"))
+ txtUnterordner2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UNISPED", "UNISPED"))
+ txtUnterordner2.SelectedIndex = 0
+ End Sub
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.Designer.vb
new file mode 100644
index 0000000..06788b0
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.Designer.vb
@@ -0,0 +1,572 @@
+Imports System.Windows.Forms
+
+
+Partial Class frmMessenger
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+ Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+ Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+ Dim DataGridViewCellStyle4 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMessenger))
+ Me.SplitContainer = New System.Windows.Forms.SplitContainer()
+ Me.dgvChats = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
+ Me.btnTEST = New System.Windows.Forms.Button()
+ Me.Panel2 = New System.Windows.Forms.Panel()
+ Me.cbxInaktiveChats = New System.Windows.Forms.CheckBox()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.MyTextBox1 = New VERAG_PROG_ALLGEMEIN.MyTextBox()
+ Me.PictureBox1 = New System.Windows.Forms.PictureBox()
+ Me.lbl = New System.Windows.Forms.Label()
+ Me.Button2 = New System.Windows.Forms.Button()
+ Me.Button1 = New System.Windows.Forms.Button()
+ Me.SplitContainer1 = New System.Windows.Forms.SplitContainer()
+ Me.MyFlowLayoutPanel1 = New VERAG_PROG_ALLGEMEIN.MyFlowLayoutPanel(Me.components)
+ Me.UsrCntlMessenger_ChatElement1 = New VERAG_PROG_ALLGEMEIN.usrCntlMessenger_ChatElement()
+ Me.UsrCntlMessenger_ChatAnhang1 = New VERAG_PROG_ALLGEMEIN.usrCntlMessenger_ChatAnhang()
+ Me.UsrCntlMessenger_ChatElement2 = New VERAG_PROG_ALLGEMEIN.usrCntlMessenger_ChatElement()
+ Me.UsrCntlMessenger_ChatElement3 = New VERAG_PROG_ALLGEMEIN.usrCntlMessenger_ChatElement()
+ Me.Panel3 = New System.Windows.Forms.Panel()
+ Me.Button5 = New System.Windows.Forms.Button()
+ Me.Panel4 = New System.Windows.Forms.Panel()
+ Me.lblChatName = New System.Windows.Forms.Label()
+ Me.lblOnlineOffline = New System.Windows.Forms.Label()
+ Me.pnl = New System.Windows.Forms.Panel()
+ Me.pic = New System.Windows.Forms.PictureBox()
+ Me.FlowLayoutPanel = New System.Windows.Forms.FlowLayoutPanel()
+ Me.Button3 = New System.Windows.Forms.Button()
+ Me.btn = New System.Windows.Forms.Button()
+ Me.rtbChatMessage = New System.Windows.Forms.RichTextBox()
+ Me.TimerNEW_MESSAGE = New System.Windows.Forms.Timer(Me.components)
+ Me.Timer_REFRESH = New System.Windows.Forms.Timer(Me.components)
+ Me.cntxt = New System.Windows.Forms.ContextMenuStrip(Me.components)
+ Me.ChatDeaktivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.Button4 = New System.Windows.Forms.Button()
+ CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SplitContainer.Panel1.SuspendLayout()
+ Me.SplitContainer.Panel2.SuspendLayout()
+ Me.SplitContainer.SuspendLayout()
+ CType(Me.dgvChats, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.Panel2.SuspendLayout()
+ Me.Panel1.SuspendLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SplitContainer1.Panel1.SuspendLayout()
+ Me.SplitContainer1.Panel2.SuspendLayout()
+ Me.SplitContainer1.SuspendLayout()
+ Me.MyFlowLayoutPanel1.SuspendLayout()
+ Me.Panel3.SuspendLayout()
+ Me.pnl.SuspendLayout()
+ CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.cntxt.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'SplitContainer
+ '
+ Me.SplitContainer.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.SplitContainer.Location = New System.Drawing.Point(0, 0)
+ Me.SplitContainer.Name = "SplitContainer"
+ '
+ 'SplitContainer.Panel1
+ '
+ Me.SplitContainer.Panel1.Controls.Add(Me.dgvChats)
+ Me.SplitContainer.Panel1.Controls.Add(Me.btnTEST)
+ Me.SplitContainer.Panel1.Controls.Add(Me.Panel2)
+ Me.SplitContainer.Panel1.Controls.Add(Me.Panel1)
+ '
+ 'SplitContainer.Panel2
+ '
+ Me.SplitContainer.Panel2.Controls.Add(Me.SplitContainer1)
+ Me.SplitContainer.Size = New System.Drawing.Size(817, 728)
+ Me.SplitContainer.SplitterDistance = 271
+ Me.SplitContainer.TabIndex = 0
+ '
+ 'dgvChats
+ '
+ Me.dgvChats.AKTUALISIERUNGS_INTERVALL = -1
+ Me.dgvChats.AllowUserToAddRows = False
+ Me.dgvChats.AllowUserToDeleteRows = False
+ Me.dgvChats.AllowUserToResizeColumns = False
+ Me.dgvChats.AllowUserToResizeRows = False
+ Me.dgvChats.BackgroundColor = System.Drawing.Color.White
+ DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+ DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control
+ DataGridViewCellStyle1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText
+ DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight
+ DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+ DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+ Me.dgvChats.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle1
+ Me.dgvChats.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
+ Me.dgvChats.ColumnHeadersVisible = False
+ DataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+ DataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window
+ DataGridViewCellStyle2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText
+ DataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight
+ DataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+ DataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
+ Me.dgvChats.DefaultCellStyle = DataGridViewCellStyle2
+ Me.dgvChats.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.dgvChats.Location = New System.Drawing.Point(0, 63)
+ Me.dgvChats.Name = "dgvChats"
+ Me.dgvChats.ReadOnly = True
+ DataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+ DataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control
+ DataGridViewCellStyle3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ DataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText
+ DataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight
+ DataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+ DataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+ Me.dgvChats.RowHeadersDefaultCellStyle = DataGridViewCellStyle3
+ Me.dgvChats.RowHeadersVisible = False
+ DataGridViewCellStyle4.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.dgvChats.RowsDefaultCellStyle = DataGridViewCellStyle4
+ Me.dgvChats.RowTemplate.Height = 30
+ Me.dgvChats.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
+ Me.dgvChats.Size = New System.Drawing.Size(271, 635)
+ Me.dgvChats.TabIndex = 0
+ '
+ 'btnTEST
+ '
+ Me.btnTEST.BackColor = System.Drawing.Color.Red
+ Me.btnTEST.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.btnTEST.ForeColor = System.Drawing.Color.White
+ Me.btnTEST.Location = New System.Drawing.Point(94, 273)
+ Me.btnTEST.Name = "btnTEST"
+ Me.btnTEST.Size = New System.Drawing.Size(71, 33)
+ Me.btnTEST.TabIndex = 4
+ Me.btnTEST.Text = "!"
+ Me.btnTEST.UseVisualStyleBackColor = False
+ Me.btnTEST.Visible = False
+ '
+ 'Panel2
+ '
+ Me.Panel2.Controls.Add(Me.cbxInaktiveChats)
+ Me.Panel2.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.Panel2.Location = New System.Drawing.Point(0, 698)
+ Me.Panel2.Name = "Panel2"
+ Me.Panel2.Size = New System.Drawing.Size(271, 30)
+ Me.Panel2.TabIndex = 6
+ '
+ 'cbxInaktiveChats
+ '
+ Me.cbxInaktiveChats.AutoSize = True
+ Me.cbxInaktiveChats.Location = New System.Drawing.Point(3, 6)
+ Me.cbxInaktiveChats.Name = "cbxInaktiveChats"
+ Me.cbxInaktiveChats.Size = New System.Drawing.Size(93, 17)
+ Me.cbxInaktiveChats.TabIndex = 7
+ Me.cbxInaktiveChats.Text = "inaktive Chats"
+ Me.cbxInaktiveChats.UseVisualStyleBackColor = True
+ '
+ 'Panel1
+ '
+ Me.Panel1.BackColor = System.Drawing.Color.White
+ Me.Panel1.Controls.Add(Me.MyTextBox1)
+ Me.Panel1.Controls.Add(Me.PictureBox1)
+ Me.Panel1.Controls.Add(Me.lbl)
+ Me.Panel1.Controls.Add(Me.Button2)
+ Me.Panel1.Controls.Add(Me.Button1)
+ Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top
+ Me.Panel1.Location = New System.Drawing.Point(0, 0)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(271, 63)
+ Me.Panel1.TabIndex = 1
+ '
+ 'MyTextBox1
+ '
+ Me.MyTextBox1._DateTimeOnly = False
+ Me.MyTextBox1._numbersOnly = False
+ Me.MyTextBox1._numbersOnlyKommastellen = ""
+ Me.MyTextBox1._Prozent = False
+ Me.MyTextBox1._ShortDateNew = False
+ Me.MyTextBox1._ShortDateOnly = False
+ Me.MyTextBox1._TimeOnly = False
+ Me.MyTextBox1._value = ""
+ Me.MyTextBox1._Waehrung = False
+ Me.MyTextBox1._WaehrungZeichen = True
+ Me.MyTextBox1.ForeColor = System.Drawing.Color.Black
+ Me.MyTextBox1.Location = New System.Drawing.Point(20, 40)
+ Me.MyTextBox1.Margin = New System.Windows.Forms.Padding(2)
+ Me.MyTextBox1.MaxLineLength = -1
+ Me.MyTextBox1.MaxLines_Warning = ""
+ Me.MyTextBox1.MaxLines_Warning_Label = Nothing
+ Me.MyTextBox1.Name = "MyTextBox1"
+ Me.MyTextBox1.Size = New System.Drawing.Size(250, 20)
+ Me.MyTextBox1.TabIndex = 4
+ '
+ 'PictureBox1
+ '
+ Me.PictureBox1.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.search
+ Me.PictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.PictureBox1.Location = New System.Drawing.Point(3, 40)
+ Me.PictureBox1.Margin = New System.Windows.Forms.Padding(2)
+ Me.PictureBox1.Name = "PictureBox1"
+ Me.PictureBox1.Size = New System.Drawing.Size(13, 18)
+ Me.PictureBox1.TabIndex = 5
+ Me.PictureBox1.TabStop = False
+ '
+ 'lbl
+ '
+ Me.lbl.AutoSize = True
+ Me.lbl.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lbl.Location = New System.Drawing.Point(12, 11)
+ Me.lbl.Name = "lbl"
+ Me.lbl.Size = New System.Drawing.Size(127, 20)
+ Me.lbl.TabIndex = 3
+ Me.lbl.Text = "AVISO - CHAT"
+ '
+ 'Button2
+ '
+ Me.Button2.BackColor = System.Drawing.Color.MediumSeaGreen
+ Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button2.ForeColor = System.Drawing.Color.White
+ Me.Button2.Location = New System.Drawing.Point(198, 4)
+ Me.Button2.Name = "Button2"
+ Me.Button2.Size = New System.Drawing.Size(71, 33)
+ Me.Button2.TabIndex = 2
+ Me.Button2.Text = "+ NEU"
+ Me.Button2.UseVisualStyleBackColor = False
+ '
+ 'Button1
+ '
+ Me.Button1.BackColor = System.Drawing.Color.SteelBlue
+ Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button1.ForeColor = System.Drawing.Color.White
+ Me.Button1.Location = New System.Drawing.Point(461, 4)
+ Me.Button1.Name = "Button1"
+ Me.Button1.Size = New System.Drawing.Size(76, 40)
+ Me.Button1.TabIndex = 1
+ Me.Button1.Text = "Senden"
+ Me.Button1.UseVisualStyleBackColor = False
+ '
+ 'SplitContainer1
+ '
+ Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.SplitContainer1.Location = New System.Drawing.Point(0, 0)
+ Me.SplitContainer1.Name = "SplitContainer1"
+ Me.SplitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal
+ '
+ 'SplitContainer1.Panel1
+ '
+ Me.SplitContainer1.Panel1.Controls.Add(Me.MyFlowLayoutPanel1)
+ Me.SplitContainer1.Panel1.Controls.Add(Me.Panel3)
+ '
+ 'SplitContainer1.Panel2
+ '
+ Me.SplitContainer1.Panel2.Controls.Add(Me.pnl)
+ Me.SplitContainer1.Size = New System.Drawing.Size(542, 728)
+ Me.SplitContainer1.SplitterDistance = 446
+ Me.SplitContainer1.TabIndex = 0
+ '
+ 'MyFlowLayoutPanel1
+ '
+ Me.MyFlowLayoutPanel1.AutoScroll = True
+ Me.MyFlowLayoutPanel1.BackColor = System.Drawing.Color.White
+ Me.MyFlowLayoutPanel1.Controls.Add(Me.UsrCntlMessenger_ChatElement1)
+ Me.MyFlowLayoutPanel1.Controls.Add(Me.UsrCntlMessenger_ChatAnhang1)
+ Me.MyFlowLayoutPanel1.Controls.Add(Me.UsrCntlMessenger_ChatElement2)
+ Me.MyFlowLayoutPanel1.Controls.Add(Me.UsrCntlMessenger_ChatElement3)
+ Me.MyFlowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.MyFlowLayoutPanel1.Location = New System.Drawing.Point(0, 44)
+ Me.MyFlowLayoutPanel1.Name = "MyFlowLayoutPanel1"
+ Me.MyFlowLayoutPanel1.Size = New System.Drawing.Size(542, 402)
+ Me.MyFlowLayoutPanel1.TabIndex = 0
+ '
+ 'UsrCntlMessenger_ChatElement1
+ '
+ Me.UsrCntlMessenger_ChatElement1.BackColor = System.Drawing.Color.White
+ Me.UsrCntlMessenger_ChatElement1.CHAT_MSG = Nothing
+ Me.UsrCntlMessenger_ChatElement1.Location = New System.Drawing.Point(4, 5)
+ Me.UsrCntlMessenger_ChatElement1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+ Me.UsrCntlMessenger_ChatElement1.Name = "UsrCntlMessenger_ChatElement1"
+ Me.UsrCntlMessenger_ChatElement1.Size = New System.Drawing.Size(378, 48)
+ Me.UsrCntlMessenger_ChatElement1.TabIndex = 4
+ '
+ 'UsrCntlMessenger_ChatAnhang1
+ '
+ Me.UsrCntlMessenger_ChatAnhang1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.UsrCntlMessenger_ChatAnhang1.BackColor = System.Drawing.Color.White
+ Me.UsrCntlMessenger_ChatAnhang1.BG_COLOR = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
+ Me.UsrCntlMessenger_ChatAnhang1.CHAT_MSG = Nothing
+ Me.UsrCntlMessenger_ChatAnhang1.Location = New System.Drawing.Point(4, 63)
+ Me.UsrCntlMessenger_ChatAnhang1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+ Me.UsrCntlMessenger_ChatAnhang1.Name = "UsrCntlMessenger_ChatAnhang1"
+ Me.UsrCntlMessenger_ChatAnhang1.Size = New System.Drawing.Size(378, 72)
+ Me.UsrCntlMessenger_ChatAnhang1.TabIndex = 3
+ '
+ 'UsrCntlMessenger_ChatElement2
+ '
+ Me.UsrCntlMessenger_ChatElement2.BackColor = System.Drawing.Color.White
+ Me.UsrCntlMessenger_ChatElement2.CHAT_MSG = Nothing
+ Me.UsrCntlMessenger_ChatElement2.Location = New System.Drawing.Point(4, 145)
+ Me.UsrCntlMessenger_ChatElement2.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+ Me.UsrCntlMessenger_ChatElement2.Name = "UsrCntlMessenger_ChatElement2"
+ Me.UsrCntlMessenger_ChatElement2.Size = New System.Drawing.Size(378, 48)
+ Me.UsrCntlMessenger_ChatElement2.TabIndex = 5
+ '
+ 'UsrCntlMessenger_ChatElement3
+ '
+ Me.UsrCntlMessenger_ChatElement3.BackColor = System.Drawing.Color.White
+ Me.UsrCntlMessenger_ChatElement3.CHAT_MSG = Nothing
+ Me.UsrCntlMessenger_ChatElement3.Location = New System.Drawing.Point(4, 203)
+ Me.UsrCntlMessenger_ChatElement3.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+ Me.UsrCntlMessenger_ChatElement3.Name = "UsrCntlMessenger_ChatElement3"
+ Me.UsrCntlMessenger_ChatElement3.Size = New System.Drawing.Size(378, 48)
+ Me.UsrCntlMessenger_ChatElement3.TabIndex = 6
+ '
+ 'Panel3
+ '
+ Me.Panel3.BackColor = System.Drawing.Color.White
+ Me.Panel3.Controls.Add(Me.Button5)
+ Me.Panel3.Controls.Add(Me.Panel4)
+ Me.Panel3.Controls.Add(Me.lblChatName)
+ Me.Panel3.Controls.Add(Me.lblOnlineOffline)
+ Me.Panel3.Dock = System.Windows.Forms.DockStyle.Top
+ Me.Panel3.Location = New System.Drawing.Point(0, 0)
+ Me.Panel3.Name = "Panel3"
+ Me.Panel3.Size = New System.Drawing.Size(542, 44)
+ Me.Panel3.TabIndex = 9
+ '
+ 'Button5
+ '
+ Me.Button5.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button5.BackColor = System.Drawing.Color.MediumSeaGreen
+ Me.Button5.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.person
+ Me.Button5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button5.ForeColor = System.Drawing.Color.White
+ Me.Button5.Location = New System.Drawing.Point(489, 4)
+ Me.Button5.Name = "Button5"
+ Me.Button5.Size = New System.Drawing.Size(49, 33)
+ Me.Button5.TabIndex = 8
+ Me.Button5.UseVisualStyleBackColor = False
+ '
+ 'Panel4
+ '
+ Me.Panel4.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Panel4.BackColor = System.Drawing.Color.Black
+ Me.Panel4.Location = New System.Drawing.Point(4, 43)
+ Me.Panel4.Name = "Panel4"
+ Me.Panel4.Size = New System.Drawing.Size(534, 1)
+ Me.Panel4.TabIndex = 6
+ '
+ 'lblChatName
+ '
+ Me.lblChatName.AutoSize = True
+ Me.lblChatName.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblChatName.Location = New System.Drawing.Point(9, 11)
+ Me.lblChatName.Name = "lblChatName"
+ Me.lblChatName.Size = New System.Drawing.Size(15, 20)
+ Me.lblChatName.TabIndex = 4
+ Me.lblChatName.Text = "-"
+ '
+ 'lblOnlineOffline
+ '
+ Me.lblOnlineOffline.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.lblOnlineOffline.BackColor = System.Drawing.Color.MediumSeaGreen
+ Me.lblOnlineOffline.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!)
+ Me.lblOnlineOffline.ForeColor = System.Drawing.Color.White
+ Me.lblOnlineOffline.Location = New System.Drawing.Point(377, 4)
+ Me.lblOnlineOffline.Name = "lblOnlineOffline"
+ Me.lblOnlineOffline.Size = New System.Drawing.Size(106, 33)
+ Me.lblOnlineOffline.TabIndex = 5
+ Me.lblOnlineOffline.Text = "ONLINE"
+ Me.lblOnlineOffline.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
+ Me.lblOnlineOffline.Visible = False
+ '
+ 'pnl
+ '
+ Me.pnl.BackColor = System.Drawing.Color.White
+ Me.pnl.Controls.Add(Me.Button4)
+ Me.pnl.Controls.Add(Me.pic)
+ Me.pnl.Controls.Add(Me.FlowLayoutPanel)
+ Me.pnl.Controls.Add(Me.Button3)
+ Me.pnl.Controls.Add(Me.btn)
+ Me.pnl.Controls.Add(Me.rtbChatMessage)
+ Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.pnl.Location = New System.Drawing.Point(0, 0)
+ Me.pnl.Name = "pnl"
+ Me.pnl.Size = New System.Drawing.Size(542, 278)
+ Me.pnl.TabIndex = 0
+ '
+ 'pic
+ '
+ Me.pic.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.pic.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.pic.Location = New System.Drawing.Point(10, 255)
+ Me.pic.Name = "pic"
+ Me.pic.Size = New System.Drawing.Size(524, 20)
+ Me.pic.TabIndex = 7
+ Me.pic.TabStop = False
+ Me.pic.WaitOnLoad = True
+ '
+ 'FlowLayoutPanel
+ '
+ Me.FlowLayoutPanel.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
+ Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.FlowLayoutPanel.AutoScroll = True
+ Me.FlowLayoutPanel.Location = New System.Drawing.Point(4, 121)
+ Me.FlowLayoutPanel.Name = "FlowLayoutPanel"
+ Me.FlowLayoutPanel.Size = New System.Drawing.Size(534, 136)
+ Me.FlowLayoutPanel.TabIndex = 6
+ '
+ 'Button3
+ '
+ Me.Button3.BackColor = System.Drawing.Color.SteelBlue
+ Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button3.ForeColor = System.Drawing.Color.White
+ Me.Button3.Location = New System.Drawing.Point(461, 44)
+ Me.Button3.Name = "Button3"
+ Me.Button3.Size = New System.Drawing.Size(76, 40)
+ Me.Button3.TabIndex = 2
+ Me.Button3.Text = "+ Anhang"
+ Me.Button3.UseVisualStyleBackColor = False
+ '
+ 'btn
+ '
+ Me.btn.BackColor = System.Drawing.Color.SteelBlue
+ Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.btn.ForeColor = System.Drawing.Color.White
+ Me.btn.Location = New System.Drawing.Point(461, 4)
+ Me.btn.Name = "btn"
+ Me.btn.Size = New System.Drawing.Size(76, 40)
+ Me.btn.TabIndex = 1
+ Me.btn.Text = "Senden"
+ Me.btn.UseVisualStyleBackColor = False
+ '
+ 'rtbChatMessage
+ '
+ Me.rtbChatMessage.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.rtbChatMessage.Font = New System.Drawing.Font("Comic Sans MS", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.rtbChatMessage.Location = New System.Drawing.Point(3, 3)
+ Me.rtbChatMessage.Name = "rtbChatMessage"
+ Me.rtbChatMessage.Size = New System.Drawing.Size(453, 112)
+ Me.rtbChatMessage.TabIndex = 0
+ Me.rtbChatMessage.Text = ""
+ '
+ 'TimerNEW_MESSAGE
+ '
+ '
+ 'Timer_REFRESH
+ '
+ Me.Timer_REFRESH.Enabled = True
+ Me.Timer_REFRESH.Interval = 5000
+ '
+ 'cntxt
+ '
+ Me.cntxt.ImageScalingSize = New System.Drawing.Size(24, 24)
+ Me.cntxt.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ChatDeaktivierenToolStripMenuItem})
+ Me.cntxt.Name = "cntxt"
+ Me.cntxt.Size = New System.Drawing.Size(167, 26)
+ '
+ 'ChatDeaktivierenToolStripMenuItem
+ '
+ Me.ChatDeaktivierenToolStripMenuItem.Name = "ChatDeaktivierenToolStripMenuItem"
+ Me.ChatDeaktivierenToolStripMenuItem.Size = New System.Drawing.Size(166, 22)
+ Me.ChatDeaktivierenToolStripMenuItem.Text = "Chat deaktivieren"
+ '
+ 'Button4
+ '
+ Me.Button4.BackColor = System.Drawing.Color.SteelBlue
+ Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button4.ForeColor = System.Drawing.Color.White
+ Me.Button4.Location = New System.Drawing.Point(462, 90)
+ Me.Button4.Name = "Button4"
+ Me.Button4.Size = New System.Drawing.Size(76, 25)
+ Me.Button4.TabIndex = 8
+ Me.Button4.Text = "Chat History"
+ Me.Button4.UseVisualStyleBackColor = False
+ '
+ 'frmMessenger
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(817, 728)
+ Me.Controls.Add(Me.SplitContainer)
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.Name = "frmMessenger"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+ Me.Text = "Messenger"
+ Me.SplitContainer.Panel1.ResumeLayout(False)
+ Me.SplitContainer.Panel2.ResumeLayout(False)
+ CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.SplitContainer.ResumeLayout(False)
+ CType(Me.dgvChats, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.Panel2.ResumeLayout(False)
+ Me.Panel2.PerformLayout()
+ Me.Panel1.ResumeLayout(False)
+ Me.Panel1.PerformLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.SplitContainer1.Panel1.ResumeLayout(False)
+ Me.SplitContainer1.Panel2.ResumeLayout(False)
+ CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.SplitContainer1.ResumeLayout(False)
+ Me.MyFlowLayoutPanel1.ResumeLayout(False)
+ Me.Panel3.ResumeLayout(False)
+ Me.Panel3.PerformLayout()
+ Me.pnl.ResumeLayout(False)
+ CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.cntxt.ResumeLayout(False)
+ Me.ResumeLayout(False)
+
+ End Sub
+
+ Friend WithEvents SplitContainer As SplitContainer
+ Friend WithEvents dgvChats As VERAG_PROG_ALLGEMEIN.MyDatagridview
+ Friend WithEvents SplitContainer1 As SplitContainer
+ Friend WithEvents MyFlowLayoutPanel1 As VERAG_PROG_ALLGEMEIN.MyFlowLayoutPanel
+ Friend WithEvents pnl As Panel
+ Friend WithEvents btn As Button
+ Friend WithEvents rtbChatMessage As RichTextBox
+ Friend WithEvents Panel1 As Panel
+ Friend WithEvents lbl As Label
+ Friend WithEvents Button2 As Button
+ Friend WithEvents Button1 As Button
+ Friend WithEvents UsrCntlMessenger_ChatAnhang1 As usrCntlMessenger_ChatAnhang
+ Friend WithEvents UsrCntlMessenger_ChatElement1 As usrCntlMessenger_ChatElement
+ Friend WithEvents Button3 As Button
+ Friend WithEvents UsrCntlMessenger_ChatElement2 As usrCntlMessenger_ChatElement
+ Friend WithEvents UsrCntlMessenger_ChatElement3 As usrCntlMessenger_ChatElement
+ Friend WithEvents btnTEST As Button
+ Friend WithEvents TimerNEW_MESSAGE As Timer
+ Friend WithEvents Timer_REFRESH As Timer
+ Friend WithEvents Panel2 As Panel
+ Friend WithEvents cbxInaktiveChats As CheckBox
+ Friend WithEvents cntxt As ContextMenuStrip
+ Friend WithEvents ChatDeaktivierenToolStripMenuItem As ToolStripMenuItem
+ Friend WithEvents FlowLayoutPanel As FlowLayoutPanel
+ Friend WithEvents pic As PictureBox
+ Friend WithEvents lblOnlineOffline As Label
+ Friend WithEvents Panel3 As Panel
+ Friend WithEvents lblChatName As Label
+ Friend WithEvents Panel4 As Panel
+ Friend WithEvents Button5 As Button
+ Friend WithEvents PictureBox1 As PictureBox
+ Friend WithEvents MyTextBox1 As MyTextBox
+ Friend WithEvents Button4 As Button
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.resx b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.resx
new file mode 100644
index 0000000..a0f308d
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.resx
@@ -0,0 +1,989 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+ 106, 17
+
+
+ 242, 17
+
+
+
+
+ AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA
+ AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r
+ OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////////////
+ //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm
+ MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L
+ v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j
+ jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt
+ mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////
+ ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU
+ y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm
+ 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3
+ p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90
+ SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U
+ y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm
+ MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3/////////////
+ //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3
+ 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDu6+n/////////////////////////////////////////////////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/
+ ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm
+ MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb/////////////////////
+ //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/
+ ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d
+ 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt
+ mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm
+ MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////
+ //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3
+ 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t
+ mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X/////////////
+ //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm
+ MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm
+ MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu
+ 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv/////
+ ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////
+ //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm
+ MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t
+ mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/
+ //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////
+ ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////
+ ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj
+ jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////
+ ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B
+ s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3Bs6rBs6r39fT/////////////////////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/
+ ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j/////////////////
+ ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////////////
+ //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////
+ ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////
+ ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA
+ XUL/////////////////////////////////////////////////////////////////////////////
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////
+ //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////////////////////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ ///////////////////////////////////////////////////////////////////////////d1tFm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/
+ //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd
+ 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////
+ ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////
+ ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////
+ //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT/////////////
+ //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0
+ SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDUy8X/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n/////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u
+ 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY
+ fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////Uy8XB
+ s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////
+ //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDm4N3/////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////
+ ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t
+ mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3/////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwD39fT/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////
+ //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r/////////////////////////
+ //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////
+ //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL
+ v7j/////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////+Mblhm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r/////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCtmo3Bs6r39fT/////////////////////////////////////////////////////////////////
+ ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////
+ ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n/////
+ ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j/////////////////////////////////////////////////
+ ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCAXUL/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////
+ //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////
+ //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT/////////
+ //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/
+ ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3/////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////39fRmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////
+ ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////
+ ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////
+ ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////
+ ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT/////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////////L
+ v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB
+ s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////
+ ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X/////////////////////////////////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////
+ ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwB0SSb/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/
+ //////////////////////////////////////////////////////////////////////////////+A
+ XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.vb
new file mode 100644
index 0000000..722c4e7
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger.vb
@@ -0,0 +1,870 @@
+Imports System.Drawing
+Imports System.Threading
+Imports System.Windows.Forms
+
+Public Class frmMessenger
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Dim CHAT As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat = Nothing
+ Dim MSG_LISTENDER As New cMessangerListender
+ Dim topMessages As String = "20"
+ Dim topMessagesDateHistory As Object = Nothing
+ Dim loaded = False
+ Public EMOJI_PATH_MAIN = DATENVERVER_OPTIONS.getRootDir & "\DOKUMENTE\CHAT_EMOJIS\"
+ Public EMOJI_PATH = ""
+
+ Dim alloweasteregg = False
+
+ Public Sub New()
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+
+ Sub initEMOJI_PATH()
+
+ EMOJI_PATH = EMOJI_PATH_MAIN
+ Try
+ Dim IPADDR As System.Net.IPAddress
+ IPADDR = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList(0)
+
+ If IPADDR.ToString.Contains("172.16.1.") Then 'WAIDHAUS
+ EMOJI_PATH = "\\172.16.1.100\f\PROGRAMME\CHAT_EMOJIS\"
+ End If
+
+ If IPADDR.ToString.Contains("192.168.133.") Then 'SALZBURG
+ EMOJI_PATH = "\\192.168.133.98\f\Programme\CHAT_EMOJIS\"
+ End If
+
+ If IPADDR.ToString.Contains("192.168.32.") Then 'NICKELSDORF
+ EMOJI_PATH = "\\192.168.32.253\Files\Programme\CHAT_EMOJIS\"
+ End If
+
+ If IPADDR.ToString.Contains("192.168.100") Then 'NEUHAUS
+ EMOJI_PATH = "\\192.168.100.20\Share\Programme\CHAT_EMOJIS\"
+ End If
+
+ If Not IO.Directory.Exists(EMOJI_PATH) Then
+ EMOJI_PATH = EMOJI_PATH_MAIN
+ End If
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+ Private Sub MyDatagridview1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvChats.CellContentClick, dgvChats.CellClick
+ If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> "" Then
+ Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1)
+ intiDGVChats(dgv_ChatID, False) ' Splate ungelesen sol sich ändern
+ End If
+ End Sub
+
+ Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
+ Dim f As New frmMessenger_NeuerChat
+ f.ShowDialog(Me)
+
+ If f.chat_id > 0 Then
+ 'Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1)
+ intiDGVChats(f.chat_id)
+ End If
+ End Sub
+
+ Private Sub frmMessenger_Load(sender As Object, e As EventArgs) Handles Me.Load
+ initEMOJI_PATH()
+
+ rtbChatMessage.AllowDrop = True
+ MSG_LISTENDER.START()
+ TimerNEW_MESSAGE.Enabled = True
+ intiDGVChats()
+
+ If My.Application.Info.AssemblyName = "SDL" Then
+ lbl.Text = "CHAT"
+ End If
+ MyFlowLayoutPanel1.Controls.Clear()
+ 'loaded = True
+ alloweasteregg = cAllgemein.MITARBEITER.mit_ChatEasteregg
+ initEmojis()
+ End Sub
+
+ Sub initEmojis()
+ FlowLayoutPanel.Controls.Clear()
+ If alloweasteregg Then pic.Visible = False
+
+
+
+ ' If IO.Directory.Exists(My.Application.roo "") Then
+
+ If IO.Directory.Exists(EMOJI_PATH) Then
+ For Each a In IO.Directory.GetFiles(EMOJI_PATH) '.OrderBy(Function(f) f)
+ If alloweasteregg Or Not a.Contains("easteregg") Then
+ If IO.File.Exists(a) And a.Contains(".png") And a.Contains("emoji_") Then
+
+ Dim p As New PictureBox
+ p.Size = New Size(40, 40)
+ p.BackgroundImage = Image.FromFile(a)
+ p.BackgroundImageLayout = ImageLayout.Zoom
+ p.Cursor = Cursors.Hand
+ AddHandler p.Click, Sub()
+ If Not CHAT.chat_aktiv Then MsgBox("Chat inaktiv!") : Exit Sub
+ If CHAT IsNot Nothing Then
+ saveEmoji(a)
+ End If
+ End Sub
+
+ FlowLayoutPanel.Controls.Add(p)
+ End If
+ End If
+ 'MsgBox(a)
+ Next
+ End If
+ End Sub
+
+ 'Sub initEmojisTEST()
+ ' FlowLayoutPanel.Controls.Clear()
+ ' If alloweasteregg Then pic.Visible = False
+
+ ' If IO.Directory.Exists(DATENVERVER_OPTIONS.getRootDir & "\DOKUMENTE\CHAT_EMOJIS\") Then
+ ' Dim EmojiPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "CHAT_EMOJIS\"
+ ' If Not IO.Directory.Exists(EmojiPath) Then IO.Directory.CreateDirectory(EmojiPath)
+
+ ' If VERAG_PROG_ALLGEMEIN.cProgrammeUpdate.copyProgramLIST(DATENVERVER_OPTIONS.getRootDir & "\DOKUMENTE\CHAT_EMOJIS\", EmojiPath, {}) Then
+ ' For Each a In IO.Directory.GetFiles(EmojiPath) '.OrderBy(Function(f) f)
+ ' If alloweasteregg Or Not a.Contains("easteregg") Then
+ ' If IO.File.Exists(a) And a.Contains(".png") And a.Contains("emoji_") Then
+
+ ' Dim p As New PictureBox
+ ' p.Size = New Size(40, 40)
+ ' p.BackgroundImage = Image.FromFile(a)
+ ' p.BackgroundImageLayout = ImageLayout.Zoom
+ ' p.Cursor = Cursors.Hand
+ ' AddHandler p.Click, Sub()
+ ' If Not CHAT.chat_aktiv Then MsgBox("Chat inaktiv!") : Exit Sub
+ ' If CHAT IsNot Nothing Then
+ ' saveEmoji(a)
+ ' End If
+ ' End Sub
+
+ ' FlowLayoutPanel.Controls.Add(p)
+ ' End If
+ ' End If
+ ' Next
+ ' End If
+ ' End If
+ 'End Sub
+
+ Sub intiDGVChats(Optional dgv_ChatID = -1, Optional reloadChat = True, Optional selFirst = False)
+ With dgvChats
+ Dim loadedTmp = loaded
+ If Not reloadChat Then
+ loaded = False
+ End If
+
+ Dim whereName = ""
+ If MyTextBox1.Text.Trim <> String.Empty Then
+ whereName = " WHERE chat_name LIKE '%" & MyTextBox1.Text.Trim & "%' "
+ End If
+
+ .DataSource = SQL.loadDgvBySql("SELECT * FROM(
+ SELECT [chat_id],CASE WHEN chat_name<>'' THEN chat_name ELSE (SELECT TOP 1 mit_vname + ' ' + mit_nname FROM tblMessenger_ChatMembers INNER JOIN tblMitarbeiter ON mit_id=chatMb_maId where chatMb_chatId=chat_id AND chatMb_maId <>" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & ") END as chat_name
+ ,(SELECT REPLACE(COUNT(*),'0','') FROM tblMessenger_ChatMessages INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE [chat_id]=chatMg_chatId AND chatMgSt_MaId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & " AND chatMgSt_gelesen=0) as ungelesen ,chat_lastMsg
+ FROM [tblMessenger_Chat] WHERE (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMB_chatId=chat_id AND chatMB_maId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & ")>0
+ AND chat_aktiv='" & (Not cbxInaktiveChats.Checked) & "'
+ ) as T " & whereName & " ORDER BY chat_lastMsg DESC", "ADMIN")
+
+ If .Columns.Count = 0 Then Exit Sub
+
+ .Columns("chat_id").Visible = False
+ .Columns("chat_lastMsg").Visible = False
+ .Columns("chat_name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
+ .Columns("ungelesen").Width = 30
+ .Columns("ungelesen").HeaderText = "neu"
+ .Columns("ungelesen").DefaultCellStyle.ForeColor = Color.White
+ .Columns("ungelesen").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
+ .Columns("ungelesen").DefaultCellStyle.Font = New Font(.Font.FontFamily, 7, FontStyle.Bold)
+
+ dgvChats.GetOrder()
+
+ If selFirst Then
+ dgvChats.ClearSelection()
+ SplitContainer1.Enabled = False
+
+ If .Rows.Count > 0 Then
+ loaded = True
+ SplitContainer1.Enabled = True
+ .Rows(0).Selected = True
+ End If
+ loaded = loadedTmp
+ Else
+
+
+ If Not reloadChat Then
+ dgvChats.ClearSelection()
+ If dgv_ChatID > 0 Then
+ For Each r As DataGridViewRow In .Rows
+ If r.Cells("chat_id").Value = dgv_ChatID Then
+ dgvChats.ClearSelection()
+ r.Selected = True : Exit For
+ End If
+ Next
+ End If
+ loaded = loadedTmp
+ Else
+
+ dgvChats.ClearSelection()
+ SplitContainer1.Enabled = False
+
+ If dgv_ChatID > 0 Then
+ For Each r As DataGridViewRow In .Rows
+ If r.Cells("chat_id").Value = dgv_ChatID Then
+ dgvChats.ClearSelection()
+ SplitContainer1.Enabled = True
+ r.Selected = True : Exit For
+ End If
+ Next
+ End If
+
+ End If
+ End If
+ dgvChats.SetOrder()
+ If dgvChats.SelectedRows.Count > 0 Then dgvChats.FirstDisplayedCell = dgvChats.SelectedRows(0).Cells("chat_name")
+ 'dgvChats.ClearSelection()
+ 'SplitContainer1.Enabled = False
+
+ 'If dgv_ChatID > 0 Then
+ ' For Each r As DataGridViewRow In .Rows
+ ' If r.Cells("chat_id").Value = dgv_ChatID Then
+ ' dgvChats.ClearSelection()
+ ' SplitContainer1.Enabled = True
+ ' r.Selected = True : Exit For
+ ' End If
+ ' Next
+ 'End If
+
+
+ End With
+ If Not selFirst Then rtbChatMessage.Focus()
+
+ End Sub
+
+
+ Private Sub dgvChats_SelectionChanged(sender As Object, e As EventArgs) Handles dgvChats.SelectionChanged
+ If Not loaded Then Exit Sub
+ topMessagesDateHistory = Nothing ' zurücksetzen des HistoryDate
+ MyFlowLayoutPanel1.Controls.Clear()
+ If dgvChats.SelectedRows.Count > 0 Then
+ CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(dgvChats.SelectedRows(0).Cells("chat_id").Value, topMessages, topMessagesDateHistory)
+ SplitContainer1.Enabled = True
+ RELOAD_CHAT()
+ End If
+ End Sub
+
+ Sub RELOAD_CHAT()
+ Try
+ lblChatName.Text = "-"
+ ' Dim scrollMax = (MyFlowLayoutPanel1.VerticalScroll.Value = MyFlowLayoutPanel1.VerticalScroll.Maximum)
+ MyFlowLayoutPanel1.Controls.Clear()
+ If CHAT IsNot Nothing Then
+ CHAT.READ_ALL_MESSAGES()
+ ' CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(dgvChats.SelectedRows(0).Cells("chat_id").Value)
+ For Each MSG In CHAT.CHAT_MESSAGES
+ MyFlowLayoutPanel1.Controls.Add(getControlFromMSG(MSG))
+ Next
+ ' MyFlowLayoutPanel1.VerticalScroll.()
+ 'MyFlowLayoutPanel1.AutoScrollPosition = New Point(MyFlowLayoutPanel1.Width, MyFlowLayoutPanel1.Height)
+ ' If MyFlowLayoutPanel1.Controls.Count > 0 Then MyFlowLayoutPanel1.ScrollControlIntoView(MyFlowLayoutPanel1.Controls(MyFlowLayoutPanel1.Controls.Count - 1))
+
+ ' If scrollMax Then
+ MyFlowLayoutPanel1.VerticalScroll.Value = MyFlowLayoutPanel1.VerticalScroll.Maximum
+
+ If CHAT.chat_name <> "" Then
+ lblChatName.Text = CHAT.chat_name
+ Button5.BackgroundImage = My.Resources.people
+ Else
+ lblChatName.Text = SQL.getValueTxtBySql("SELECT isnull(mit_vname,'') + ' ' + isnull(mit_nname,'') FROM [tblMessenger_ChatMembers] inner join tblMitarbeiter on mit_id=chatMb_maId where chatMb_chatId ='" & CHAT.chat_id & "' and chatMb_maId<>'" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "'", "ADMIN")
+ Button5.BackgroundImage = My.Resources.person
+ End If
+ End If
+ checkOnlineOffline()
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+
+
+ Sub checkOnlineOffline()
+ Try
+
+ If CHAT Is Nothing OrElse CHAT.chat_name <> "" Then
+ lblOnlineOffline.Visible = False
+ Else
+ lblOnlineOffline.Visible = True
+ Dim cntOnline = SQL.getValueTxtBySql("SELECT count(*) FROM [tblMessenger_ChatMembers] inner join tblSessions ON sess_maId=[chatMb_maId] and sess_lastRm > dateadd(MINUTE,-2, getdate()) where chatMb_chatId ='" & CHAT.chat_id & "' and chatMb_maId<>'" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "'", "ADMIN")
+ If cntOnline > 0 Then
+ lblOnlineOffline.Text = "ONLINE"
+ lblOnlineOffline.BackColor = Color.MediumSeaGreen
+ Else
+ lblOnlineOffline.Text = "OFFLINE"
+ lblOnlineOffline.BackColor = Color.Red
+ End If
+ End If
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+
+ Function getControlFromMSG(MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages)
+ Select Case MSG.chatMg_type
+ Case "TEXT"
+
+ Dim CHAT_ITEM As New usrCntlMessenger_ChatElement(MSG)
+ checkUsrId(MSG, CHAT_ITEM)
+
+ 'CHAT_ITEM.txtChatmessage.Text = MSG.chatMg_text
+ 'CHAT_ITEM.lblName.Text = MSG.chatMg_maId
+ Return (CHAT_ITEM)
+
+
+
+ 'CHAT.READ_ALL_MESSAGES()
+
+ Case "ATTACHMENT"
+
+
+ Dim CHAT_ITEM As New usrCntlMessenger_ChatAnhang(MSG)
+ checkUsrId(MSG, CHAT_ITEM)
+ ' CHAT_ITEM.path = MSG.chatMg_text
+ ' CHAT_ITEM.txtChatmessage.Text = MSG.chatMg_text
+ 'CHAT_ITEM.lblName.Text = MSG.chatMg_maId
+ Return (CHAT_ITEM)
+
+ Case "EMOJI"
+
+
+ Dim CHAT_ITEM As New usrCntlMessenger_ChatEmoji(Me, MSG)
+ checkUsrId(MSG, CHAT_ITEM)
+ ' CHAT_ITEM.path = MSG.chatMg_text
+ ' CHAT_ITEM.txtChatmessage.Text = MSG.chatMg_text
+ 'CHAT_ITEM.lblName.Text = MSG.chatMg_maId
+ Return (CHAT_ITEM)
+
+ End Select
+ Return Nothing
+ End Function
+
+ Sub REFRESH_CHAT()
+ Try
+
+ If CHAT IsNot Nothing Then
+ CHAT.LOAD_MESSAGES(topMessages)
+
+ ' CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(dgvChats.SelectedRows(0).Cells("chat_id").Value)
+ Dim newMsg As Boolean = False
+ For Each MSG In CHAT.CHAT_MESSAGES
+ Dim found As Boolean = False
+ For Each I In MyFlowLayoutPanel1.Controls
+ Select Case I.GetType.ToString
+ Case GetType(usrCntlMessenger_ChatElement).ToString
+ If DirectCast(I, usrCntlMessenger_ChatElement).CHAT_MSG.chatMg_id = MSG.chatMg_id Then
+ found = True
+ End If
+ Case GetType(usrCntlMessenger_ChatAnhang).ToString
+ If DirectCast(I, usrCntlMessenger_ChatAnhang).CHAT_MSG.chatMg_id = MSG.chatMg_id Then
+ found = True
+ End If
+ Case GetType(usrCntlMessenger_ChatEmoji).ToString
+ If DirectCast(I, usrCntlMessenger_ChatEmoji).CHAT_MSG.chatMg_id = MSG.chatMg_id Then
+ found = True
+ End If
+ End Select
+
+ Next
+ If Not found Then
+ newMsg = True
+ MyFlowLayoutPanel1.Controls.Add(getControlFromMSG(MSG))
+
+ 'Dim CHAT_ITEM As New usrCntlMessenger_ChatElement(MSG)
+ 'checkUsrId(MSG, CHAT_ITEM)
+
+ ''CHAT_ITEM.txtChatmessage.Text = MSG.chatMg_text
+ ''CHAT_ITEM.lblName.Text = MSG.chatMg_maId
+ 'MyFlowLayoutPanel1.Controls.Add(CHAT_ITEM)
+ CHAT.READ_ALL_MESSAGES()
+ End If
+ Next
+ If newMsg Then
+ MyFlowLayoutPanel1.VerticalScroll.Value = MyFlowLayoutPanel1.VerticalScroll.Maximum
+ End If
+ ' MyFlowLayoutPanel1.VerticalScroll.()
+ 'MyFlowLayoutPanel1.AutoScrollPosition = New Point(MyFlowLayoutPanel1.Width, MyFlowLayoutPanel1.Height)
+ ' If MyFlowLayoutPanel1.Controls.Count > 0 Then MyFlowLayoutPanel1.ScrollControlIntoView(MyFlowLayoutPanel1.Controls(MyFlowLayoutPanel1.Controls.Count - 1))
+ ' MyFlowLayoutPanel1.VerticalScroll.Value = MyFlowLayoutPanel1.VerticalScroll.Maximum --> nur, wenn neue MSG
+ End If
+ checkOnlineOffline()
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+
+ 'Sub ORDER_CHAT_MSG()
+ ' If Not CHECK_CHATMSG_ORDER() Then
+
+ ' For Each I As usrCntlMessenger_ChatElement In MyFlowLayoutPanel1.Controls
+
+ ' Next
+ ' End If
+
+ 'End Sub
+ 'Function CHECK_CHATMSG_ORDER() As Boolean
+ ' Dim oldItem = Nothing
+ ' For Each I As usrCntlMessenger_ChatElement In MyFlowLayoutPanel1.Controls
+ ' If oldItem IsNot Nothing And I.CHAT_MSG.chatMg_datetime < oldItem.CHAT_MSG.chatMg_datetime Then
+ ' Return False
+ ' End If
+ ' oldItem = I
+ ' Next
+ ' Return True
+ 'End Function
+ Sub checkUsrId(MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages, CHAT_ITEM As usrCntlMessenger_ChatElement)
+ If MSG.chatMg_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
+ CHAT_ITEM.Margin = New Padding(MyFlowLayoutPanel1.Width - CHAT_ITEM.Width - 30, 0, 0, 0)
+ 'CHAT_ITEM.Left = (MyFlowLayoutPanel1.Width - CHAT_ITEM.Width - 30)
+ 'CHAT_ITEM.Anchor = AnchorStyles.None
+ 'CHAT_ITEM.Dock = DockStyle.Right
+ ' CHAT_ITEM.Dock = DockStyle.Right
+ CHAT_ITEM.setBgCOLOR(Color.FromArgb(192, 255, 192))
+ End If
+ End Sub
+ Sub checkUsrId(MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages, CHAT_ITEM As usrCntlMessenger_ChatEmoji)
+ If MSG.chatMg_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
+ CHAT_ITEM.Margin = New Padding(MyFlowLayoutPanel1.Width - CHAT_ITEM.Width - 30, 0, 0, 0)
+ 'CHAT_ITEM.Left = (MyFlowLayoutPanel1.Width - CHAT_ITEM.Width - 30)
+ 'CHAT_ITEM.Anchor = AnchorStyles.None
+ 'CHAT_ITEM.Dock = DockStyle.Right
+ ' CHAT_ITEM.Dock = DockStyle.Right
+ CHAT_ITEM.setBgCOLOR(Color.FromArgb(192, 255, 192))
+ End If
+ End Sub
+ Sub checkUsrId(MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages, CHAT_ITEM As usrCntlMessenger_ChatAnhang)
+ If MSG.chatMg_maId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
+ CHAT_ITEM.Margin = New Padding(MyFlowLayoutPanel1.Width - CHAT_ITEM.Width - 30, 0, 0, 0)
+ 'CHAT_ITEM.Left = (MyFlowLayoutPanel1.Width - CHAT_ITEM.Width - 30)
+ 'CHAT_ITEM.Anchor = AnchorStyles.None
+ 'CHAT_ITEM.Dock = DockStyle.Right
+ ' CHAT_ITEM.Dock = DockStyle.Right
+ CHAT_ITEM.setBgCOLOR(Color.FromArgb(192, 255, 192))
+ End If
+
+ End Sub
+
+ Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
+ If Not CHAT.chat_aktiv Then MsgBox("Chat inaktiv!") : Exit Sub
+ If rtbChatMessage.Text.Trim <> "" Then
+ If CHAT IsNot Nothing Then
+
+ Dim MSG As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages(CHAT.chat_id, VERAG_PROG_ALLGEMEIN.cAllgemein.USRID)
+ MSG.chatMg_text = rtbChatMessage.Text.Trim
+ MSG.chatMg_maName = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname
+ MSG.chatMg_maFirma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+
+ If MSG.SAVE(True, CHAT.CHAT_MEMBERS) Then
+ SEND_TOKEN_NEW_MESSAGE()
+ ' CHAT.CHAT_MESSAGES.Add(MSG)
+ SET_ALL_READ()
+ REFRESH_CHAT()
+ rtbChatMessage.Text = ""
+ rtbChatMessage.Focus()
+ End If
+
+ End If
+ End If
+ End Sub
+
+ Sub SET_ALL_READ()
+ For Each u In MyFlowLayoutPanel1.Controls
+ Select Case u.GetType.ToString
+ Case GetType(usrCntlMessenger_ChatElement).ToString
+ DirectCast(u, usrCntlMessenger_ChatElement).lblNewMsg.Visible = False
+ Case GetType(usrCntlMessenger_ChatAnhang).ToString
+ DirectCast(u, usrCntlMessenger_ChatAnhang).lblNewMsg.Visible = False
+ Case GetType(usrCntlMessenger_ChatEmoji).ToString
+ DirectCast(u, usrCntlMessenger_ChatEmoji).lblNewMsg.Visible = False
+ End Select
+ Next
+ End Sub
+ Sub SEND_TOKEN_NEW_MESSAGE()
+ For Each MB In CHAT.CHAT_MEMBERS
+ If MB.chatMb_maId <> VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
+
+ Dim IP = cSession.GET_IP_FROM_MAID(MB.chatMb_maId)
+
+ If IP <> "" Then
+ Dim SC As New cServerClient ' SC.begin("192.168.0.50", "NEW_MESSAGE") '192.168.0.95 = atlas suben
+ SC.begin(IP, "NEW_MESSAGE")
+ ' MsgBox(IP)
+ End If
+ End If
+ Next
+
+ 'SC.waitTillFinished()
+ 'Thread.Sleep(1000)
+
+ 'If SC.status = "TaskSuccess" Then
+
+ 'Else
+
+ 'End If
+
+
+ End Sub
+
+
+ Private Sub rtbChatMessage_KeyDown(sender As Object, e As KeyEventArgs) Handles rtbChatMessage.KeyDown
+ If e.Modifiers = Keys.Control And e.KeyCode = Keys.Return Then
+ btn.PerformClick()
+ e.Handled = True
+ End If
+ End Sub
+
+
+
+ Private Sub TimerNEW_MESSAGE_Tick(sender As Object, e As EventArgs) Handles TimerNEW_MESSAGE.Tick
+ If CHAT IsNot Nothing And VERAG_PROG_ALLGEMEIN.cMessenger.NEW_MESSGE = True Then
+ VERAG_PROG_ALLGEMEIN.cMessenger.NEW_MESSGE = False
+ ' MsgBox("asd")
+ REFRESH_CHAT()
+ End If
+ End Sub
+
+ Private Sub Timer_REFRESH_Tick(sender As Object, e As EventArgs) Handles Timer_REFRESH.Tick
+ loaded = False
+ REFRESH_CHAT()
+ Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1)
+ If checkNewestShit() Then ' prüft, ob neue Nachrichten gekommen sind, sont kein Refresh (stört das scrollen)
+ intiDGVChats(dgv_ChatID, False)
+ End If
+
+ loaded = True
+ End Sub
+
+
+ Function checkNewestShit() As Boolean
+ Try
+
+ Dim Dt_New As DataTable = SQL.loadDgvBySql("SELECT [chat_id],CASE WHEN chat_name<>'' THEN chat_name ELSE (SELECT TOP 1 mit_vname + ' ' + mit_nname FROM tblMessenger_ChatMembers INNER JOIN tblMitarbeiter ON mit_id=chatMb_maId where chatMb_chatId=chat_id AND chatMb_maId <>" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & ") END as chat_name
+ ,(SELECT REPLACE(COUNT(*),'0','') FROM tblMessenger_ChatMessages INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE [chat_id]=chatMg_chatId AND chatMgSt_MaId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & " AND chatMgSt_gelesen=0) as ungelesen
+ FROM [tblMessenger_Chat] WHERE (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMB_chatId=chat_id AND chatMB_maId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & ")>0
+ AND chat_aktiv='" & (Not cbxInaktiveChats.Checked) & "' ORDER BY chat_lastMsg DESC", "ADMIN")
+ Dim Dt_Current As DataTable = dgvChats.DataSource
+
+ If Dt_Current.Rows.Count <> Dt_New.Rows.Count Then Return True
+
+ For Each r As DataRow In Dt_New.Rows
+ If r("ungelesen") IsNot DBNull.Value AndAlso r("ungelesen") <> "" AndAlso CInt(r("ungelesen")) > 0 Then
+ Return True
+ End If
+ Next
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ Return False
+ End Function
+
+ Sub initMsg()
+ Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1)
+ 'intiDGVChats(dgv_ChatID)
+ End Sub
+
+ Private Sub frmMessenger_Shown(sender As Object, e As EventArgs) Handles Me.Shown
+ dgvChats.ClearSelection()
+ SplitContainer1.Enabled = False
+ loaded = True
+ End Sub
+
+ Private Sub cbxInaktiveChats_CheckedChanged(sender As Object, e As EventArgs) Handles cbxInaktiveChats.CheckedChanged
+ intiDGVChats()
+ If sender.checked Then
+ ChatDeaktivierenToolStripMenuItem.Text = "Chat aktivieren"
+ Else
+ ChatDeaktivierenToolStripMenuItem.Text = "Chat deaktivieren"
+ End If
+ End Sub
+
+ Private Sub ChatDeaktivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ChatDeaktivierenToolStripMenuItem.Click
+ If dgvChats.SelectedRows.Count > 0 Then
+ If vbYes = MsgBox("Möchten Sie diesen Chat wirklich deaktivieren?", vbYesNoCancel) Then
+
+ CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(dgvChats.SelectedRows(0).Cells("chat_id").Value, 1)
+ SplitContainer1.Enabled = True
+ CHAT.chat_aktiv = Not CHAT.chat_aktiv
+ CHAT.SAVE(False)
+
+ intiDGVChats()
+ End If
+ 'RELOAD_CHAT()
+ End If
+ End Sub
+
+ 'Private Sub dgvChats_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles dgvChats.CellValueChanged
+ ' Try
+
+ ' If dgvChats.Columns.Count > 0 Then
+
+ ' If e.ColumnIndex = dgvChats.Columns("ungelesen").Index Then
+ ' If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> "" Then
+ ' dgvChats.Rows(e.RowIndex).Cells("ungelesen").Style.BackColor = Color.Red
+ ' End If
+ ' 'For Each r As DataGridViewRow In .Rows
+ ' ' If r.Cells("chat_id").Value = dgv_ChatID Then
+ ' ' dgvChats.ClearSelection()
+ ' ' r.Selected = True : Exit For
+ ' ' End If
+
+ ' ' If r.Cells("ungelesen").Value <> "" Then
+ ' ' r.Cells("ungelesen").Style.BackColor = Color.Red
+ ' ' End If
+ ' 'Next
+ ' End If
+ ' End If
+
+ ' Catch ex As Exception
+ ' MsgBox(ex.Message & ex.StackTrace)
+ ' End Try
+ 'End Sub
+
+ Private Sub dgvChats_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles dgvChats.CellPainting
+ Try
+
+ If dgvChats.Columns.Count > 0 Then
+
+ If e.ColumnIndex = dgvChats.Columns("ungelesen").Index Then
+ If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> "" Then
+ dgvChats.Rows(e.RowIndex).Cells("ungelesen").Style.BackColor = Color.Red
+ End If
+ 'For Each r As DataGridViewRow In .Rows
+ ' If r.Cells("chat_id").Value = dgv_ChatID Then
+ ' dgvChats.ClearSelection()
+ ' r.Selected = True : Exit For
+ ' End If
+
+ ' If r.Cells("ungelesen").Value <> "" Then
+ ' r.Cells("ungelesen").Style.BackColor = Color.Red
+ ' End If
+ 'Next
+ End If
+ End If
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+
+ Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
+ If Not CHAT.chat_aktiv Then MsgBox("Chat inaktiv!") : Exit Sub
+ If CHAT IsNot Nothing Then
+ Dim fd As New OpenFileDialog
+ ' fd.Filter = "Excel Dateien|*.xls;*.xlsx"
+ fd.RestoreDirectory = True
+ fd.Title = "Datei auswählen"
+
+ ' fd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
+
+ 'fd.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG"
+ 'fd.FilterIndex = 2
+
+ If fd.ShowDialog() = System.Windows.Forms.DialogResult.OK And fd.FileName <> "" Then
+ saveFileAtt(fd.FileName)
+ 'Dim fileName = New IO.FileInfo(fd.FileName).Name
+ 'Dim docId = -1
+ 'If saveToDS(fileName, fd.FileName, docId) Then
+
+ ' Dim MSG As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages(CHAT.chat_id, VERAG_PROG_ALLGEMEIN.cAllgemein.USRID)
+ ' MSG.chatMg_type = "ATTACHMENT"
+ ' MSG.chatMg_text = fileName
+ ' MSG.chatMg_anhang_docId = docId
+ ' MSG.chatMg_maName = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname
+ ' MSG.chatMg_maFirma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+
+ ' If MSG.SAVE(True, CHAT.CHAT_MEMBERS) Then
+ ' SEND_TOKEN_NEW_MESSAGE()
+ ' ' CHAT.CHAT_MESSAGES.Add(MSG)
+ ' SET_ALL_READ()
+ ' REFRESH_CHAT()
+ ' rtbChatMessage.Text = ""
+ ' rtbChatMessage.Focus()
+ ' End If
+ ' End If
+ End If
+
+ End If
+ End Sub
+
+ Sub saveFileAtt(filePath)
+ Dim fileName = New IO.FileInfo(filePath).Name
+ Dim docId = -1
+ If saveToDS(fileName, filePath, docId) Then
+
+ Dim MSG As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages(CHAT.chat_id, VERAG_PROG_ALLGEMEIN.cAllgemein.USRID)
+ MSG.chatMg_type = "ATTACHMENT"
+ MSG.chatMg_text = fileName
+ MSG.chatMg_anhang_docId = docId
+ MSG.chatMg_maName = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname
+ MSG.chatMg_maFirma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+
+ If MSG.SAVE(True, CHAT.CHAT_MEMBERS) Then
+ SEND_TOKEN_NEW_MESSAGE()
+ ' CHAT.CHAT_MESSAGES.Add(MSG)
+ SET_ALL_READ()
+ REFRESH_CHAT()
+ rtbChatMessage.Text = ""
+ rtbChatMessage.Focus()
+ End If
+ End If
+ End Sub
+ Sub saveEmoji(filePath)
+ ' Dim fileName = New IO.FileInfo(filePath).Name
+ 'Dim docId = -1
+ 'If saveToDS(fileName, filePath, docId) Then
+
+ Dim MSG As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages(CHAT.chat_id, VERAG_PROG_ALLGEMEIN.cAllgemein.USRID)
+ MSG.chatMg_type = "EMOJI"
+ MSG.chatMg_text = filePath
+ 'MSG.chatMg_anhang_docId = docId
+ MSG.chatMg_maName = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname
+ MSG.chatMg_maFirma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
+
+ If MSG.SAVE(True, CHAT.CHAT_MEMBERS) Then
+ SEND_TOKEN_NEW_MESSAGE()
+ ' CHAT.CHAT_MESSAGES.Add(MSG)
+ SET_ALL_READ()
+ REFRESH_CHAT()
+ 'rtbChatMessage.Text = filePath
+ 'rtbChatMessage.Focus()
+ End If
+ ' End If
+ End Sub
+ Public Shared Function saveToDS(fileName, sourcePath, Optional ByRef da_id = -1) As Boolean
+ Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "CHAT_ANHAENGE", Now.ToString("ddMMyy_HHmmss.ffff"), "", "", fileName, -1, False)
+ If Not DS.uploadDataToDATENSERVER(sourcePath) Then MsgBox("Fehler beim Speichern: Datenserver!") : Return False
+ If DS.da_id <= 0 Then MsgBox("Keine DocId!") : Return False
+ da_id = DS.da_id
+ ' destPath = DS.GET_TOP1_PATH
+ Return True
+ End Function
+
+
+ Private Sub dgvChats_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles dgvChats.CellMouseClick
+ If e.Button = MouseButtons.Right Then
+
+ If e.RowIndex >= 0 Then
+ If dgvChats.Rows.Count > 0 Then
+
+ 'Dim chatId = dgvChats.Rows(e.RowIndex).Cells("chat_id").Value
+ 'VERAG_PROG_ALLGEMEIN.cMessenger.GEN_NEW_CHAT()
+ dgvChats.ClearSelection()
+ SplitContainer1.Enabled = False
+ CHAT = Nothing
+ End If
+ dgvChats.Rows(e.RowIndex).Selected = True
+ cntxt.Show(Cursor.Position)
+ End If
+ End If
+ End Sub
+
+
+
+
+ Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles rtbChatMessage.DragEnter ', txt.DragEnter, Me.DragEnter, picPDF.DragEnter
+ e.Effect = DragDropEffects.All
+ End Sub
+ Private Sub txt_Click(sender As Object, e As DragEventArgs) Handles rtbChatMessage.DragDrop ', txt.DragDrop, Me.DragDrop, picPDF.DragDrop
+ Try
+ If e.Data.GetDataPresent("FileDrop", True) = True Then
+ Dim FileList As String() = CType(e.Data.GetData("FileDrop"), Object) 'Hier wird der Variable "Wert" das übergeben, was wir auf die Form gezogen haben. Bei einer Datei wäre es dann der Pfad der Datei.
+ If FileList.Count > 0 Then
+ 'If Not _MULTI_FILES And FileList.Count > 1 Then
+ ' MsgBox("Es können nicht mehrere Dateien hochgeladen werden!")
+ ' Exit Sub
+ 'End If
+ For Each W In FileList
+ If Not W.ToUpper.EndsWith(".EXE") Then
+ saveFileAtt(W)
+ End If
+ Next
+ End If
+ End If
+ Catch ex As Exception
+ MsgBox(" FEHLER: DragDrop!" & ex.Message & ex.StackTrace)
+ End Try
+ End Sub
+
+ Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click
+ Dim codewort = InputBox("Whoami?", "¿").ToLower
+ If codewort = "easteregg" Or codewort = "osterhase" Then
+ cMitarbeiter.UPDATE_EASTEREGG(True)
+ cAllgemein.MITARBEITER.LOAD(cAllgemein.USRID)
+
+ alloweasteregg = True
+ initEmojis()
+ MsgBox("Hurra! Neue Emojis freigeschaltet!")
+ End If
+ End Sub
+
+ Private Sub pic_MouseHover(sender As Object, e As EventArgs) Handles pic.MouseEnter
+ pic.BackgroundImage = My.Resources.easteregg
+ End Sub
+
+ Private Sub pic_MouseLeave(sender As Object, e As EventArgs) Handles pic.MouseLeave
+ pic.BackgroundImage = Nothing
+
+ End Sub
+
+ Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
+ If CHAT Is Nothing Then Exit Sub
+
+ If CHAT.chat_name <> "" Then
+ Dim f As New frmMessenger_Members(CHAT)
+ f.ShowDialog(Me)
+ Else
+ Dim mit_id = SQL.getValueTxtBySql("SELECT mit_id FROM [tblMessenger_ChatMembers] inner join tblMitarbeiter on mit_id=chatMb_maId where chatMb_chatId ='" & CHAT.chat_id & "' and chatMb_maId<>'" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "'", "ADMIN")
+ Dim f As New frmMitarbeitersuche(mit_id)
+ f.ShowDialog(Me)
+ End If
+
+ End Sub
+
+ Private Sub MyTextBox1_TextChanged(sender As Object, e As EventArgs) Handles MyTextBox1.Leave
+ intiDGVChats(, False, True)
+ End Sub
+
+ Private Sub MyTextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyTextBox1.KeyUp
+ If e.KeyCode = Keys.Return Or MyTextBox1.Text = "" Then
+ intiDGVChats(, False, True)
+ End If
+ End Sub
+
+ Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
+ MyTextBox1.Text = ""
+ intiDGVChats(, False, True)
+ End Sub
+
+ Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
+ Dim dateTmp = InputBox("Bitte geben Sie das Datum ein, ab dem der Chat dargestellt werden soll:",, Now.AddMonths(-1).ToShortDateString)
+ If IsDate(dateTmp) Then
+ topMessagesDateHistory = CDate(dateTmp)
+ CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(dgvChats.SelectedRows(0).Cells("chat_id").Value, 1, topMessagesDateHistory)
+ RELOAD_CHAT()
+ Else
+ MsgBox("Datum ungültig!")
+ End If
+ End Sub
+
+
+
+ 'Private Sub rtbChatMessage_TextChanged(sender As Object, e As EventArgs) Handles rtbChatMessage.TextChanged
+ ' FlowLayoutPanel.Enabled = (rtbChatMessage.Text = "")
+ 'End Sub
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.Designer.vb
new file mode 100644
index 0000000..aaec229
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.Designer.vb
@@ -0,0 +1,184 @@
+
+Partial Class frmMessenger_Members
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+
+ Private Sub InitializeComponent()
+ Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+ Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+ Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMessenger_Members))
+ Me.dgvChatMembers = New System.Windows.Forms.DataGridView()
+ Me.lbl = New System.Windows.Forms.Label()
+ Me.Button2 = New System.Windows.Forms.Button()
+ Me.Button1 = New System.Windows.Forms.Button()
+ Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ Me.DataGridViewTextBoxColumn2 = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ Me.DataGridViewTextBoxColumn3 = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ Me.clmnMaId = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ Me.clmnName = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ Me.clmnFirma = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ CType(Me.dgvChatMembers, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'dgvChatMembers
+ '
+ Me.dgvChatMembers.AllowUserToAddRows = False
+ Me.dgvChatMembers.AllowUserToDeleteRows = False
+ Me.dgvChatMembers.AllowUserToResizeColumns = False
+ Me.dgvChatMembers.AllowUserToResizeRows = False
+ Me.dgvChatMembers.BackgroundColor = System.Drawing.Color.White
+ DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+ DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control
+ DataGridViewCellStyle1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText
+ DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight
+ DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+ DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+ Me.dgvChatMembers.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle1
+ Me.dgvChatMembers.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
+ Me.dgvChatMembers.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.clmnMaId, Me.clmnName, Me.clmnFirma})
+ DataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+ DataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window
+ DataGridViewCellStyle2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText
+ DataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight
+ DataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+ DataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
+ Me.dgvChatMembers.DefaultCellStyle = DataGridViewCellStyle2
+ Me.dgvChatMembers.Location = New System.Drawing.Point(12, 24)
+ Me.dgvChatMembers.Name = "dgvChatMembers"
+ Me.dgvChatMembers.ReadOnly = True
+ DataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+ DataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control
+ DataGridViewCellStyle3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ DataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText
+ DataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight
+ DataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+ DataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+ Me.dgvChatMembers.RowHeadersDefaultCellStyle = DataGridViewCellStyle3
+ Me.dgvChatMembers.RowHeadersVisible = False
+ Me.dgvChatMembers.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
+ Me.dgvChatMembers.Size = New System.Drawing.Size(327, 323)
+ Me.dgvChatMembers.TabIndex = 2
+ '
+ 'lbl
+ '
+ Me.lbl.AutoSize = True
+ Me.lbl.Location = New System.Drawing.Point(9, 8)
+ Me.lbl.Name = "lbl"
+ Me.lbl.Size = New System.Drawing.Size(55, 13)
+ Me.lbl.TabIndex = 4
+ Me.lbl.Text = "Mitglieder:"
+ '
+ 'Button2
+ '
+ Me.Button2.BackColor = System.Drawing.Color.MediumSeaGreen
+ Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button2.ForeColor = System.Drawing.Color.White
+ Me.Button2.Location = New System.Drawing.Point(268, 353)
+ Me.Button2.Name = "Button2"
+ Me.Button2.Size = New System.Drawing.Size(71, 33)
+ Me.Button2.TabIndex = 5
+ Me.Button2.Text = "+ NEU"
+ Me.Button2.UseVisualStyleBackColor = False
+ Me.Button2.Visible = False
+ '
+ 'Button1
+ '
+ Me.Button1.BackColor = System.Drawing.Color.Red
+ Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button1.ForeColor = System.Drawing.Color.White
+ Me.Button1.Location = New System.Drawing.Point(179, 353)
+ Me.Button1.Name = "Button1"
+ Me.Button1.Size = New System.Drawing.Size(83, 33)
+ Me.Button1.TabIndex = 6
+ Me.Button1.Text = "- Entfernen"
+ Me.Button1.UseVisualStyleBackColor = False
+ Me.Button1.Visible = False
+ '
+ 'DataGridViewTextBoxColumn1
+ '
+ Me.DataGridViewTextBoxColumn1.HeaderText = "Column1"
+ Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1"
+ Me.DataGridViewTextBoxColumn1.Visible = False
+ '
+ 'DataGridViewTextBoxColumn2
+ '
+ Me.DataGridViewTextBoxColumn2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
+ Me.DataGridViewTextBoxColumn2.HeaderText = "Name"
+ Me.DataGridViewTextBoxColumn2.Name = "DataGridViewTextBoxColumn2"
+ '
+ 'DataGridViewTextBoxColumn3
+ '
+ Me.DataGridViewTextBoxColumn3.HeaderText = "Firma"
+ Me.DataGridViewTextBoxColumn3.Name = "DataGridViewTextBoxColumn3"
+ '
+ 'clmnMaId
+ '
+ Me.clmnMaId.HeaderText = "Column1"
+ Me.clmnMaId.Name = "clmnMaId"
+ Me.clmnMaId.ReadOnly = True
+ Me.clmnMaId.Visible = False
+ '
+ 'clmnName
+ '
+ Me.clmnName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
+ Me.clmnName.HeaderText = "Name"
+ Me.clmnName.Name = "clmnName"
+ Me.clmnName.ReadOnly = True
+ '
+ 'clmnFirma
+ '
+ Me.clmnFirma.HeaderText = "Firma"
+ Me.clmnFirma.Name = "clmnFirma"
+ Me.clmnFirma.ReadOnly = True
+ '
+ 'frmMessenger_Members
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.White
+ Me.ClientSize = New System.Drawing.Size(347, 394)
+ Me.Controls.Add(Me.Button1)
+ Me.Controls.Add(Me.Button2)
+ Me.Controls.Add(Me.lbl)
+ Me.Controls.Add(Me.dgvChatMembers)
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.Name = "frmMessenger_Members"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+ Me.Text = "Mitglieder"
+ CType(Me.dgvChatMembers, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+ Friend WithEvents dgvChatMembers As Windows.Forms.DataGridView
+ Friend WithEvents lbl As Windows.Forms.Label
+ Friend WithEvents clmnMaId As Windows.Forms.DataGridViewTextBoxColumn
+ Friend WithEvents clmnName As Windows.Forms.DataGridViewTextBoxColumn
+ Friend WithEvents clmnFirma As Windows.Forms.DataGridViewTextBoxColumn
+ Friend WithEvents DataGridViewTextBoxColumn1 As Windows.Forms.DataGridViewTextBoxColumn
+ Friend WithEvents DataGridViewTextBoxColumn2 As Windows.Forms.DataGridViewTextBoxColumn
+ Friend WithEvents DataGridViewTextBoxColumn3 As Windows.Forms.DataGridViewTextBoxColumn
+ Friend WithEvents Button2 As Windows.Forms.Button
+ Friend WithEvents Button1 As Windows.Forms.Button
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.resx b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.resx
new file mode 100644
index 0000000..9bddf4e
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.resx
@@ -0,0 +1,989 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+
+
+ AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA
+ AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r
+ OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////////////
+ //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm
+ MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L
+ v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j
+ jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt
+ mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////
+ ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU
+ y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm
+ 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3
+ p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90
+ SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U
+ y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm
+ MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3/////////////
+ //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3
+ 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDu6+n/////////////////////////////////////////////////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/
+ ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm
+ MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb/////////////////////
+ //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/
+ ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d
+ 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt
+ mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm
+ MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////
+ //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3
+ 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t
+ mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X/////////////
+ //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm
+ MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm
+ MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu
+ 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv/////
+ ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////
+ //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm
+ MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t
+ mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/
+ //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////
+ ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////
+ ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj
+ jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////
+ ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B
+ s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3Bs6rBs6r39fT/////////////////////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/
+ ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j/////////////////
+ ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////////////
+ //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////
+ ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////
+ ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA
+ XUL/////////////////////////////////////////////////////////////////////////////
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////
+ //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////////////////////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ ///////////////////////////////////////////////////////////////////////////d1tFm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/
+ //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd
+ 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////
+ ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////
+ ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////
+ //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT/////////////
+ //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0
+ SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDUy8X/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n/////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u
+ 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY
+ fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////Uy8XB
+ s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////
+ //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDm4N3/////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////
+ ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t
+ mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3/////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwD39fT/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////
+ //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r/////////////////////////
+ //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////
+ //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL
+ v7j/////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////+Mblhm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r/////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCtmo3Bs6r39fT/////////////////////////////////////////////////////////////////
+ ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////
+ ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n/////
+ ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j/////////////////////////////////////////////////
+ ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCAXUL/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////
+ //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////
+ //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT/////////
+ //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/
+ ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3/////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////39fRmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////
+ ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////
+ ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////
+ ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////
+ ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT/////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////////L
+ v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB
+ s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////
+ ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X/////////////////////////////////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////
+ ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwB0SSb/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/
+ //////////////////////////////////////////////////////////////////////////////+A
+ XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.vb
new file mode 100644
index 0000000..aa5a27d
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_Members.vb
@@ -0,0 +1,73 @@
+Imports System.Windows.Forms
+
+Public Class frmMessenger_Members
+
+ Dim SQL As New SQL
+ Dim CHAT As New cMessenger.cMessenger_Chat
+
+ Dim loaded = False
+ Public chat_id As Integer = -1
+
+ Sub New(CHAT)
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+ Me.CHAT = CHAT
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+ Sub initDGV()
+ With dgvChatMembers
+ .Rows.Clear()
+
+ For Each MB In CHAT.CHAT_MEMBERS
+ Dim MA As New cMitarbeiter(MB.chatMb_maId)
+ .Rows.Add({MB.chatMb_maId, MA.Fullname, If(MA.mit_firma = "ALL", MA.mit_FirmaHaupt, MA.mit_firma)})
+ Next
+ .ClearSelection()
+ End With
+ End Sub
+
+ Private Sub frmMessenger_Members_Load(sender As Object, e As EventArgs) Handles Me.Load
+ initDGV()
+ If CHAT.chat_erstelltMaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Or VERAG_PROG_ALLGEMEIN.cAllgemein.USRID = 4 Then
+ Button1.Visible = True
+ Button2.Visible = True
+ End If
+ End Sub
+
+ Private Sub dgvChatMembers_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvChatMembers.CellDoubleClick, dgvChatMembers.CellContentDoubleClick
+ If dgvChatMembers.SelectedRows.Count > 0 Then
+ Dim mit_id = dgvChatMembers.SelectedRows(0).Cells("clmnMaId").Value
+ Dim f As New frmMitarbeitersuche(mit_id)
+ f.ShowDialog(Me)
+ End If
+ End Sub
+
+ Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
+ Dim f As New frmMessenger_NeuerChat(CHAT)
+ f.ShowDialog()
+ initDGV()
+ End Sub
+
+ Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
+ If dgvChatMembers.SelectedRows.Count > 1 Then
+ Dim ol As New List(Of Object)
+ For Each r As DataGridViewRow In dgvChatMembers.SelectedRows
+ If r.Cells("clmnMaId").Value <> VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
+ For Each MB In CHAT.CHAT_MEMBERS
+ If r.Cells("clmnMaId").Value = MB.chatMb_maId Then
+ ol.Add(MB)
+ End If
+ Next
+ End If
+ Next
+ For Each o In ol
+ CHAT.CHAT_MEMBERS.Remove(o)
+ If CHAT.SAVE_MEMBERS() Then
+ initDGV()
+ End If
+ Next
+ End If
+ End Sub
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.Designer.vb
new file mode 100644
index 0000000..426acc0
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.Designer.vb
@@ -0,0 +1,246 @@
+ _
+Partial Class frmMessenger_NeuerChat
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMessenger_NeuerChat))
+ Me.dgvMitarbeiter = New System.Windows.Forms.DataGridView()
+ Me.dgvChatMembers = New System.Windows.Forms.DataGridView()
+ Me.btn = New System.Windows.Forms.Button()
+ Me.lbl = New System.Windows.Forms.Label()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ Me.DataGridViewTextBoxColumn2 = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ Me.DataGridViewTextBoxColumn3 = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ Me.MyComboBox1 = New VERAG_PROG_ALLGEMEIN.MyComboBox()
+ Me.MyTextBox2 = New VERAG_PROG_ALLGEMEIN.MyTextBox()
+ Me.clmnMaId = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ Me.clmnName = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ Me.clmnFirma = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ Me.MyTextBox1 = New VERAG_PROG_ALLGEMEIN.MyTextBox()
+ CType(Me.dgvMitarbeiter, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.dgvChatMembers, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'dgvMitarbeiter
+ '
+ Me.dgvMitarbeiter.AllowUserToAddRows = False
+ Me.dgvMitarbeiter.AllowUserToDeleteRows = False
+ Me.dgvMitarbeiter.AllowUserToResizeColumns = False
+ Me.dgvMitarbeiter.AllowUserToResizeRows = False
+ Me.dgvMitarbeiter.BackgroundColor = System.Drawing.Color.White
+ Me.dgvMitarbeiter.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
+ Me.dgvMitarbeiter.Location = New System.Drawing.Point(13, 46)
+ Me.dgvMitarbeiter.MultiSelect = False
+ Me.dgvMitarbeiter.Name = "dgvMitarbeiter"
+ Me.dgvMitarbeiter.RowHeadersVisible = False
+ Me.dgvMitarbeiter.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
+ Me.dgvMitarbeiter.Size = New System.Drawing.Size(304, 393)
+ Me.dgvMitarbeiter.TabIndex = 1
+ '
+ 'dgvChatMembers
+ '
+ Me.dgvChatMembers.AllowUserToAddRows = False
+ Me.dgvChatMembers.BackgroundColor = System.Drawing.Color.White
+ Me.dgvChatMembers.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
+ Me.dgvChatMembers.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.clmnMaId, Me.clmnName, Me.clmnFirma})
+ Me.dgvChatMembers.Location = New System.Drawing.Point(323, 62)
+ Me.dgvChatMembers.Name = "dgvChatMembers"
+ Me.dgvChatMembers.ReadOnly = True
+ Me.dgvChatMembers.RowHeadersVisible = False
+ Me.dgvChatMembers.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
+ Me.dgvChatMembers.Size = New System.Drawing.Size(327, 323)
+ Me.dgvChatMembers.TabIndex = 2
+ '
+ 'btn
+ '
+ Me.btn.BackColor = System.Drawing.Color.SteelBlue
+ Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.btn.ForeColor = System.Drawing.Color.White
+ Me.btn.Location = New System.Drawing.Point(323, 392)
+ Me.btn.Name = "btn"
+ Me.btn.Size = New System.Drawing.Size(327, 47)
+ Me.btn.TabIndex = 3
+ Me.btn.Text = "Chat eröffnen"
+ Me.btn.UseVisualStyleBackColor = False
+ '
+ 'lbl
+ '
+ Me.lbl.AutoSize = True
+ Me.lbl.Location = New System.Drawing.Point(320, 46)
+ Me.lbl.Name = "lbl"
+ Me.lbl.Size = New System.Drawing.Size(117, 13)
+ Me.lbl.TabIndex = 4
+ Me.lbl.Text = "Eingeladene Mitglieder:"
+ '
+ 'Label1
+ '
+ Me.Label1.AutoSize = True
+ Me.Label1.Location = New System.Drawing.Point(10, 7)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(41, 13)
+ Me.Label1.TabIndex = 5
+ Me.Label1.Text = "Suche:"
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(320, 7)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(58, 13)
+ Me.Label2.TabIndex = 7
+ Me.Label2.Text = "Chatname:"
+ '
+ 'DataGridViewTextBoxColumn1
+ '
+ Me.DataGridViewTextBoxColumn1.HeaderText = "Column1"
+ Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1"
+ Me.DataGridViewTextBoxColumn1.Visible = False
+ '
+ 'DataGridViewTextBoxColumn2
+ '
+ Me.DataGridViewTextBoxColumn2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
+ Me.DataGridViewTextBoxColumn2.HeaderText = "Name"
+ Me.DataGridViewTextBoxColumn2.Name = "DataGridViewTextBoxColumn2"
+ '
+ 'DataGridViewTextBoxColumn3
+ '
+ Me.DataGridViewTextBoxColumn3.HeaderText = "Firma"
+ Me.DataGridViewTextBoxColumn3.Name = "DataGridViewTextBoxColumn3"
+ '
+ 'MyComboBox1
+ '
+ Me.MyComboBox1._allowedValuesFreiText = Nothing
+ Me.MyComboBox1._allowFreiText = False
+ Me.MyComboBox1._value = ""
+ Me.MyComboBox1.FormattingEnabled = True
+ Me.MyComboBox1.Location = New System.Drawing.Point(240, 23)
+ Me.MyComboBox1.Name = "MyComboBox1"
+ Me.MyComboBox1.Size = New System.Drawing.Size(77, 21)
+ Me.MyComboBox1.TabIndex = 8
+ '
+ 'MyTextBox2
+ '
+ Me.MyTextBox2._DateTimeOnly = False
+ Me.MyTextBox2._numbersOnly = False
+ Me.MyTextBox2._numbersOnlyKommastellen = ""
+ Me.MyTextBox2._Prozent = False
+ Me.MyTextBox2._ShortDateNew = False
+ Me.MyTextBox2._ShortDateOnly = False
+ Me.MyTextBox2._TimeOnly = False
+ Me.MyTextBox2._value = ""
+ Me.MyTextBox2._Waehrung = False
+ Me.MyTextBox2._WaehrungZeichen = True
+ Me.MyTextBox2.Enabled = False
+ Me.MyTextBox2.ForeColor = System.Drawing.Color.Black
+ Me.MyTextBox2.Location = New System.Drawing.Point(323, 23)
+ Me.MyTextBox2.MaxLineLength = -1
+ Me.MyTextBox2.MaxLines_Warning = ""
+ Me.MyTextBox2.MaxLines_Warning_Label = Nothing
+ Me.MyTextBox2.Name = "MyTextBox2"
+ Me.MyTextBox2.Size = New System.Drawing.Size(327, 20)
+ Me.MyTextBox2.TabIndex = 6
+ '
+ 'clmnMaId
+ '
+ Me.clmnMaId.HeaderText = "Column1"
+ Me.clmnMaId.Name = "clmnMaId"
+ Me.clmnMaId.ReadOnly = True
+ Me.clmnMaId.Visible = False
+ '
+ 'clmnName
+ '
+ Me.clmnName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
+ Me.clmnName.HeaderText = "Name"
+ Me.clmnName.Name = "clmnName"
+ Me.clmnName.ReadOnly = True
+ '
+ 'clmnFirma
+ '
+ Me.clmnFirma.HeaderText = "Firma"
+ Me.clmnFirma.Name = "clmnFirma"
+ Me.clmnFirma.ReadOnly = True
+ '
+ 'MyTextBox1
+ '
+ Me.MyTextBox1._DateTimeOnly = False
+ Me.MyTextBox1._numbersOnly = False
+ Me.MyTextBox1._numbersOnlyKommastellen = ""
+ Me.MyTextBox1._Prozent = False
+ Me.MyTextBox1._ShortDateNew = False
+ Me.MyTextBox1._ShortDateOnly = False
+ Me.MyTextBox1._TimeOnly = False
+ Me.MyTextBox1._value = ""
+ Me.MyTextBox1._Waehrung = False
+ Me.MyTextBox1._WaehrungZeichen = True
+ Me.MyTextBox1.ForeColor = System.Drawing.Color.Black
+ Me.MyTextBox1.Location = New System.Drawing.Point(13, 23)
+ Me.MyTextBox1.MaxLineLength = -1
+ Me.MyTextBox1.MaxLines_Warning = ""
+ Me.MyTextBox1.MaxLines_Warning_Label = Nothing
+ Me.MyTextBox1.Name = "MyTextBox1"
+ Me.MyTextBox1.Size = New System.Drawing.Size(228, 20)
+ Me.MyTextBox1.TabIndex = 0
+ '
+ 'frmMessenger_NeuerChat
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.White
+ Me.ClientSize = New System.Drawing.Size(662, 451)
+ Me.Controls.Add(Me.MyComboBox1)
+ Me.Controls.Add(Me.Label2)
+ Me.Controls.Add(Me.MyTextBox2)
+ Me.Controls.Add(Me.Label1)
+ Me.Controls.Add(Me.lbl)
+ Me.Controls.Add(Me.btn)
+ Me.Controls.Add(Me.dgvChatMembers)
+ Me.Controls.Add(Me.dgvMitarbeiter)
+ Me.Controls.Add(Me.MyTextBox1)
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.Name = "frmMessenger_NeuerChat"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+ Me.Text = "Neuer Chat"
+ CType(Me.dgvMitarbeiter, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.dgvChatMembers, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+
+ Friend WithEvents MyTextBox1 As MyTextBox
+ Friend WithEvents dgvMitarbeiter As Windows.Forms.DataGridView
+ Friend WithEvents dgvChatMembers As Windows.Forms.DataGridView
+ Friend WithEvents btn As Windows.Forms.Button
+ Friend WithEvents lbl As Windows.Forms.Label
+ Friend WithEvents Label1 As Windows.Forms.Label
+ Friend WithEvents Label2 As Windows.Forms.Label
+ Friend WithEvents MyTextBox2 As MyTextBox
+ Friend WithEvents clmnMaId As Windows.Forms.DataGridViewTextBoxColumn
+ Friend WithEvents clmnName As Windows.Forms.DataGridViewTextBoxColumn
+ Friend WithEvents clmnFirma As Windows.Forms.DataGridViewTextBoxColumn
+ Friend WithEvents MyComboBox1 As MyComboBox
+ Friend WithEvents DataGridViewTextBoxColumn1 As Windows.Forms.DataGridViewTextBoxColumn
+ Friend WithEvents DataGridViewTextBoxColumn2 As Windows.Forms.DataGridViewTextBoxColumn
+ Friend WithEvents DataGridViewTextBoxColumn3 As Windows.Forms.DataGridViewTextBoxColumn
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.resx b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.resx
new file mode 100644
index 0000000..9bddf4e
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.resx
@@ -0,0 +1,989 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+
+
+ AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA
+ AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r
+ OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////////////
+ //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm
+ MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L
+ v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j
+ jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt
+ mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////
+ ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU
+ y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm
+ 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3
+ p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90
+ SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U
+ y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm
+ MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3/////////////
+ //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3
+ 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDu6+n/////////////////////////////////////////////////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/
+ ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm
+ MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb/////////////////////
+ //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/
+ ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d
+ 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt
+ mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm
+ MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////
+ //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3
+ 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t
+ mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X/////////////
+ //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm
+ MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm
+ MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu
+ 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv/////
+ ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////
+ //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm
+ MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t
+ mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/
+ //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////
+ ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////
+ ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj
+ jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////
+ ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B
+ s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3Bs6rBs6r39fT/////////////////////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/
+ ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j/////////////////
+ ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////////////
+ //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////
+ ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////
+ ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA
+ XUL/////////////////////////////////////////////////////////////////////////////
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////
+ //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////////////////////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ ///////////////////////////////////////////////////////////////////////////d1tFm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/
+ //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd
+ 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////
+ ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////
+ ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////
+ //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT/////////////
+ //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0
+ SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDUy8X/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n/////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u
+ 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY
+ fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////Uy8XB
+ s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////
+ //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDm4N3/////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////
+ ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t
+ mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3/////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwD39fT/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////
+ //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r/////////////////////////
+ //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////
+ //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL
+ v7j/////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////+Mblhm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r/////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCtmo3Bs6r39fT/////////////////////////////////////////////////////////////////
+ ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////
+ ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n/////
+ ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j/////////////////////////////////////////////////
+ ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCAXUL/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////
+ //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////
+ //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT/////////
+ //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/
+ ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3/////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////39fRmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////
+ ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////
+ ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////
+ ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////
+ ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT/////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////////L
+ v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB
+ s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////
+ ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X/////////////////////////////////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////
+ ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwB0SSb/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/
+ //////////////////////////////////////////////////////////////////////////////+A
+ XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.vb
new file mode 100644
index 0000000..2ec6774
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/frmMessenger_NeuerChat.vb
@@ -0,0 +1,180 @@
+Imports System.Windows.Forms
+
+Public Class frmMessenger_NeuerChat
+
+ Dim SQL As New SQL
+ Dim CHAT As cMessenger.cMessenger_Chat = Nothing
+ Dim loaded = False
+ Public chat_id As Integer = -1
+
+ Sub New()
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+
+
+ Sub New(CHAT As cMessenger.cMessenger_Chat)
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+ Me.CHAT = CHAT
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+
+ Sub initDGV()
+ If Not loaded Then Exit Sub
+ With dgvMitarbeiter
+ Dim FirmaTMP = MyComboBox1._value
+ Dim sqlStr = "SELECT TOP (1000) [mit_id],[mit_nname] + ' ' + [mit_vname] + ' (' + mit_niederlassung + ')' as MAname,CASE WHEN mit_firma='ALL' THEN mit_firmaHaupt ELSE mit_firma END as mit_firma FROM [tblMitarbeiter]"
+ sqlStr &= " WHERE mit_gekuendigt=0 AND /*mit_abteilung IN ('QS','ZOLL','DISPO') AND*/ [mit_TESTonly]=0 AND [mit_pseudoUser]=0 AND [mit_ChatBenutzer]=1 "
+ If MyComboBox1._value <> "" Then sqlStr &= " AND mit_firma IN ('" & FirmaTMP & "','BEIDE','ALLE','ALL')"
+ If MyTextBox1.Text <> "" Then sqlStr &= " AND (mit_nname LIKE '" & MyTextBox1.Text & "%' OR mit_vname LIKE '" & MyTextBox1.Text & "%' )"
+
+ sqlStr &= " order by mit_nname,mit_vname"
+
+ .DataSource = SQL.loadDgvBySql(sqlStr, "ADMIN")
+
+ If .Columns.Count = 0 Then Exit Sub
+
+ .Columns("mit_id").Visible = False
+ .AutoSizeColumnsMode = Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells
+ End With
+ End Sub
+
+ Private Sub frmMessenger_NeuerChat_Load(sender As Object, e As EventArgs) Handles Me.Load
+ MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
+ MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", "VERAG"))
+ MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA"))
+ MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX"))
+ MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UNISPED", "UNISPED"))
+ MyComboBox1.changeItem("")
+ loaded = True
+ initDGV()
+ If CHAT IsNot Nothing Then
+ Me.Text = "Neue Benutzer hinzufügen"
+ Me.MyTextBox2.Text = CHAT.chat_name
+ Me.MyTextBox2.Enabled = False
+ btn.Text = "Hinzufügen"
+ End If
+ End Sub
+
+ Private Sub MyTextBox1_TextChanged(sender As Object, e As EventArgs) Handles MyTextBox1.TextChanged
+ initDGV()
+ End Sub
+
+ Private Sub MyTextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyTextBox1.KeyDown
+ If dgvMitarbeiter.Rows.Count = 0 Then Exit Sub
+
+ If e.KeyCode = Keys.Down Then
+ If dgvMitarbeiter.SelectedRows.Count = 0 Then dgvMitarbeiter.Rows(0).Selected = True
+ If dgvMitarbeiter.Rows.Count > dgvMitarbeiter.SelectedRows(0).Index + 1 Then
+ Dim newIndex = dgvMitarbeiter.SelectedRows(0).Index + 1
+ dgvMitarbeiter.ClearSelection()
+ dgvMitarbeiter.Rows(newIndex).Selected = True
+ MyTextBox1.Focus()
+ End If
+ End If
+
+ If e.KeyCode = Keys.Up Then
+ If dgvMitarbeiter.SelectedRows.Count = 0 Then dgvMitarbeiter.Rows(0).Selected = True
+ If dgvMitarbeiter.SelectedRows(0).Index > 0 Then
+ Dim newIndex = dgvMitarbeiter.SelectedRows(0).Index - 1
+ dgvMitarbeiter.ClearSelection()
+ dgvMitarbeiter.Rows(newIndex).Selected = True
+ MyTextBox1.Focus()
+ End If
+ End If
+ If e.KeyCode = Keys.Return Then
+ addSelMA()
+ End If
+ End Sub
+
+ Sub addSelMA()
+ If dgvMitarbeiter.SelectedRows.Count > 0 Then
+ dgvChatMembers.Rows.Add(dgvMitarbeiter.SelectedRows(0).Cells("mit_id").Value, dgvMitarbeiter.SelectedRows(0).Cells("MAname").Value, dgvMitarbeiter.SelectedRows(0).Cells("mit_firma").Value)
+ initAddRemoveDGV()
+ MyTextBox1.Text = ""
+ MyTextBox1.Focus()
+ End If
+ End Sub
+
+ Sub initAddRemoveDGV()
+ If dgvChatMembers.Rows.Count = 1 Then
+ MyTextBox2.Text = dgvChatMembers.Rows(0).Cells("clmnName").Value 'dgvMitarbeiter.SelectedRows(0).Cells("MAname").Value
+ MyTextBox2.Enabled = False
+ Else
+ MyTextBox2.Text = ""
+ MyTextBox2.Enabled = True
+ End If
+ End Sub
+
+
+ Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
+ If dgvChatMembers.Rows.Count = 0 Then
+ MsgBox("Mitglieder eingeben!")
+ Exit Sub
+ End If
+
+ If CHAT IsNot Nothing Then
+
+ For Each r As DataGridViewRow In dgvChatMembers.Rows
+ Dim MB As New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMembers(CHAT.chat_id, r.Cells("clmnMaId").Value)
+ MB.chatMb_maId = r.Cells("clmnMaId").Value
+ CHAT.CHAT_MEMBERS.Add(MB)
+ Next
+
+ If CHAT.SAVE_MEMBERS Then
+ Me.Close()
+ End If
+
+ Else
+
+ If MyTextBox2.Enabled And MyTextBox2.Text = "" Then
+ MsgBox("Chat-Name eingeben!")
+ Exit Sub
+ End If
+
+ Dim chatName = If(MyTextBox2.Enabled, MyTextBox2.Text, "")
+
+ Dim MB_LIST As New List(Of Integer)
+ For Each r As DataGridViewRow In dgvChatMembers.Rows
+ MB_LIST.Add(r.Cells("clmnMaId").Value)
+ Next
+ If chatName = "" And MB_LIST.Count = 1 Then
+ If VERAG_PROG_ALLGEMEIN.cMessenger.CHECK_EXISTS(MB_LIST(0), chat_id) Then
+ If vbYes <> MsgBox("Ein Chat mit diesem Mitarbetier existiert bereits. Möchten Sie wirklich einen neuen öffnen?", vbYesNoCancel) Then
+ Me.DialogResult = DialogResult.OK
+ Me.Close()
+ Exit Sub
+ End If
+ End If
+ End If
+ MB_LIST.Add(VERAG_PROG_ALLGEMEIN.cAllgemein.USRID) 'Selbst!
+
+ Dim CHAT As cMessenger.cMessenger_Chat = Nothing
+ If VERAG_PROG_ALLGEMEIN.cMessenger.GEN_NEW_CHAT(chatName, MB_LIST, CHAT) Then
+ If CHAT IsNot Nothing Then chat_id = CHAT.chat_id
+ Me.Close()
+ End If
+ End If
+
+ End Sub
+
+ Private Sub MyComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles MyComboBox1.SelectedIndexChanged
+ initDGV()
+ End Sub
+
+ Private Sub dgvMitarbeiter_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvMitarbeiter.CellDoubleClick
+ addSelMA()
+ End Sub
+
+
+ Private Sub dgvChatMembers_RowsRemoved(sender As Object, e As DataGridViewRowsRemovedEventArgs) Handles dgvChatMembers.RowsRemoved
+ initAddRemoveDGV()
+ End Sub
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.Designer.vb
new file mode 100644
index 0000000..982d338
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.Designer.vb
@@ -0,0 +1,151 @@
+Imports System.Windows.Forms
+
+
+Partial Class usrCntlMessenger_ChatAnhang
+ Inherits System.Windows.Forms.UserControl
+
+ 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+
+ Private Sub InitializeComponent()
+ Me.pnl = New System.Windows.Forms.Panel()
+ Me.pic = New System.Windows.Forms.PictureBox()
+ Me.lblDateTime = New System.Windows.Forms.Label()
+ Me.lblNewMsg = New System.Windows.Forms.Label()
+ Me.lblName = New System.Windows.Forms.Label()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.txtChatmessage = New VERAG_PROG_ALLGEMEIN.MyRichTextBox()
+ Me.pnl.SuspendLayout()
+ CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'pnl
+ '
+ Me.pnl.Controls.Add(Me.Panel1)
+ Me.pnl.Controls.Add(Me.txtChatmessage)
+ Me.pnl.Controls.Add(Me.pic)
+ Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.pnl.Location = New System.Drawing.Point(0, 0)
+ Me.pnl.Name = "pnl"
+ Me.pnl.Size = New System.Drawing.Size(378, 72)
+ Me.pnl.TabIndex = 0
+ '
+ 'pic
+ '
+ Me.pic.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.docAllgemein
+ Me.pic.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.pic.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.pic.Location = New System.Drawing.Point(7, 4)
+ Me.pic.Name = "pic"
+ Me.pic.Size = New System.Drawing.Size(100, 50)
+ Me.pic.TabIndex = 2
+ Me.pic.TabStop = False
+ '
+ 'lblDateTime
+ '
+ Me.lblDateTime.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.lblDateTime.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!)
+ Me.lblDateTime.ForeColor = System.Drawing.Color.Black
+ Me.lblDateTime.Location = New System.Drawing.Point(226, 58)
+ Me.lblDateTime.Name = "lblDateTime"
+ Me.lblDateTime.Size = New System.Drawing.Size(132, 13)
+ Me.lblDateTime.TabIndex = 5
+ Me.lblDateTime.Text = "01.01.2020 10:12:00"
+ Me.lblDateTime.TextAlign = System.Drawing.ContentAlignment.TopRight
+ '
+ 'lblNewMsg
+ '
+ Me.lblNewMsg.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.lblNewMsg.AutoSize = True
+ Me.lblNewMsg.BackColor = System.Drawing.Color.Red
+ Me.lblNewMsg.Font = New System.Drawing.Font("Arial Black", 7.0!, System.Drawing.FontStyle.Bold)
+ Me.lblNewMsg.ForeColor = System.Drawing.Color.White
+ Me.lblNewMsg.Location = New System.Drawing.Point(364, 58)
+ Me.lblNewMsg.Name = "lblNewMsg"
+ Me.lblNewMsg.Size = New System.Drawing.Size(11, 14)
+ Me.lblNewMsg.TabIndex = 6
+ Me.lblNewMsg.Text = "!"
+ Me.lblNewMsg.Visible = False
+ '
+ 'lblName
+ '
+ Me.lblName.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.lblName.AutoSize = True
+ Me.lblName.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Bold)
+ Me.lblName.ForeColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer))
+ Me.lblName.Location = New System.Drawing.Point(4, 58)
+ Me.lblName.Name = "lblName"
+ Me.lblName.Size = New System.Drawing.Size(155, 13)
+ Me.lblName.TabIndex = 4
+ Me.lblName.Text = "Max Mustermann (VERAG)"
+ '
+ 'Panel1
+ '
+ Me.Panel1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Panel1.BackColor = System.Drawing.Color.Azure
+ Me.Panel1.Location = New System.Drawing.Point(2, 55)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(375, 3)
+ Me.Panel1.TabIndex = 4
+ '
+ 'txtChatmessage
+ '
+ Me.txtChatmessage.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
+ Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.txtChatmessage.BackColor = System.Drawing.Color.White
+ Me.txtChatmessage.BorderStyle = System.Windows.Forms.BorderStyle.None
+ Me.txtChatmessage.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.txtChatmessage.Font = New System.Drawing.Font("Comic Sans MS", 12.0!)
+ Me.txtChatmessage.Location = New System.Drawing.Point(113, 17)
+ Me.txtChatmessage.MaxLineLength = -1
+ Me.txtChatmessage.MaxLines_Warning = ""
+ Me.txtChatmessage.MaxLines_Warning_Label = Nothing
+ Me.txtChatmessage.Name = "txtChatmessage"
+ Me.txtChatmessage.ReadOnly = True
+ Me.txtChatmessage.Size = New System.Drawing.Size(260, 37)
+ Me.txtChatmessage.TabIndex = 1
+ Me.txtChatmessage.Text = "Anhangdokument.pdf"
+ '
+ 'usrCntlMessenger_ChatAnhang
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.White
+ Me.Controls.Add(Me.lblDateTime)
+ Me.Controls.Add(Me.lblName)
+ Me.Controls.Add(Me.lblNewMsg)
+ Me.Controls.Add(Me.pnl)
+ Me.Name = "usrCntlMessenger_ChatAnhang"
+ Me.Size = New System.Drawing.Size(378, 72)
+ Me.pnl.ResumeLayout(False)
+ CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+
+ Friend WithEvents pnl As Panel
+ Friend WithEvents pic As PictureBox
+ Friend WithEvents txtChatmessage As MyRichTextBox
+ Friend WithEvents lblDateTime As Label
+ Friend WithEvents lblNewMsg As Label
+ Friend WithEvents lblName As Label
+ Friend WithEvents Panel1 As Panel
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.resx b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.vb
new file mode 100644
index 0000000..2f30ec3
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatAnhang.vb
@@ -0,0 +1,66 @@
+Imports System.Drawing
+
+Public Class usrCntlMessenger_ChatAnhang
+ Property BG_COLOR As Color = Color.FromArgb(192, 255, 192) ' Color.Azure
+ Property CHAT_MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages
+
+ 'Public FI As String = ""
+
+ Sub New()
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+
+ Sub New(CHAT_MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages)
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+ Me.CHAT_MSG = CHAT_MSG
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+ Sub setBgCOLOR(BG_COLOR)
+ ' Me.BG_COLOR = BG_COLOR
+ ' txtChatmessage.BackColor = BG_COLOR
+ Panel1.BackColor = BG_COLOR
+ End Sub
+
+ Private Sub usrCntlMessenger_ChatAnhang_Load(sender As Object, e As EventArgs) Handles Me.Load
+ init()
+ End Sub
+
+ Sub init()
+ If CHAT_MSG IsNot Nothing Then
+ txtChatmessage.Text = CHAT_MSG.chatMg_text
+ lblDateTime.Text = CHAT_MSG.chatMg_datetime.ToString("dd.MM.yyyy HH:mm:ss")
+ lblName.Text = CHAT_MSG.chatMg_maName & " (" & CHAT_MSG.chatMg_maFirma & ")"
+
+ Dim cnt = 0
+ While (txtChatmessage.Size.Width - txtChatmessage.ClientSize.Width > 10) And cnt < 20 ' (txtChatmessage.Height - txtChatmessage.ClientSize.Height) > MyRTBInnerSize Or cnt > 100
+ Me.Height += 20 : cnt += 1
+ End While
+ setRead()
+ End If
+ End Sub
+
+ Sub setRead()
+ For Each ST In CHAT_MSG.CHAT_MESSAGES_STATUS_LIST
+ If ST.chatMgSt_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
+ lblNewMsg.Visible = Not ST.chatMgSt_gelesen
+ End If
+ Next
+ End Sub
+
+ Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click, txtChatmessage.Click
+ If CHAT_MSG IsNot Nothing Then
+ Dim PATH = cDATENSERVER.GET_PDFPath_BY_DocID(CHAT_MSG.chatMg_anhang_docId, True)
+ 'Process.Start(PATH)
+ End If
+ End Sub
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.Designer.vb
new file mode 100644
index 0000000..b7f0ccc
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.Designer.vb
@@ -0,0 +1,138 @@
+Imports System.Windows.Forms
+
+
+Partial Class usrCntlMessenger_ChatElement
+ Inherits System.Windows.Forms.UserControl
+
+ 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.pnl = New System.Windows.Forms.Panel()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.txtChatmessage = New VERAG_PROG_ALLGEMEIN.MyRichTextBox()
+ Me.lblDateTime = New System.Windows.Forms.Label()
+ Me.lblName = New System.Windows.Forms.Label()
+ Me.lblNewMsg = New System.Windows.Forms.Label()
+ Me.pnl.SuspendLayout()
+ Me.Panel1.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'pnl
+ '
+ Me.pnl.Controls.Add(Me.Panel1)
+ Me.pnl.Controls.Add(Me.lblDateTime)
+ Me.pnl.Controls.Add(Me.lblName)
+ Me.pnl.Controls.Add(Me.lblNewMsg)
+ Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.pnl.Location = New System.Drawing.Point(0, 0)
+ Me.pnl.Name = "pnl"
+ Me.pnl.Size = New System.Drawing.Size(378, 48)
+ Me.pnl.TabIndex = 0
+ '
+ 'Panel1
+ '
+ Me.Panel1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
+ Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Panel1.BackColor = System.Drawing.Color.Azure
+ Me.Panel1.Controls.Add(Me.txtChatmessage)
+ Me.Panel1.Location = New System.Drawing.Point(3, 3)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(375, 32)
+ Me.Panel1.TabIndex = 2
+ '
+ 'txtChatmessage
+ '
+ Me.txtChatmessage.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
+ Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.txtChatmessage.BackColor = System.Drawing.Color.Azure
+ Me.txtChatmessage.BorderStyle = System.Windows.Forms.BorderStyle.None
+ Me.txtChatmessage.Font = New System.Drawing.Font("Comic Sans MS", 12.0!)
+ Me.txtChatmessage.Location = New System.Drawing.Point(4, 4)
+ Me.txtChatmessage.MaxLineLength = -1
+ Me.txtChatmessage.MaxLines_Warning = ""
+ Me.txtChatmessage.MaxLines_Warning_Label = Nothing
+ Me.txtChatmessage.Name = "txtChatmessage"
+ Me.txtChatmessage.ReadOnly = True
+ Me.txtChatmessage.Size = New System.Drawing.Size(368, 25)
+ Me.txtChatmessage.TabIndex = 0
+ Me.txtChatmessage.Text = "Hallo, wie gehts?"
+ '
+ 'lblDateTime
+ '
+ Me.lblDateTime.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.lblDateTime.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!)
+ Me.lblDateTime.ForeColor = System.Drawing.Color.Black
+ Me.lblDateTime.Location = New System.Drawing.Point(226, 34)
+ Me.lblDateTime.Name = "lblDateTime"
+ Me.lblDateTime.Size = New System.Drawing.Size(132, 13)
+ Me.lblDateTime.TabIndex = 1
+ Me.lblDateTime.Text = "01.01.2020 10:12:00"
+ Me.lblDateTime.TextAlign = System.Drawing.ContentAlignment.TopRight
+ '
+ 'lblName
+ '
+ Me.lblName.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.lblName.AutoSize = True
+ Me.lblName.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Bold)
+ Me.lblName.ForeColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer))
+ Me.lblName.Location = New System.Drawing.Point(4, 34)
+ Me.lblName.Name = "lblName"
+ Me.lblName.Size = New System.Drawing.Size(155, 13)
+ Me.lblName.TabIndex = 0
+ Me.lblName.Text = "Max Mustermann (VERAG)"
+ '
+ 'lblNewMsg
+ '
+ Me.lblNewMsg.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.lblNewMsg.AutoSize = True
+ Me.lblNewMsg.BackColor = System.Drawing.Color.Red
+ Me.lblNewMsg.Font = New System.Drawing.Font("Arial Black", 7.0!, System.Drawing.FontStyle.Bold)
+ Me.lblNewMsg.ForeColor = System.Drawing.Color.White
+ Me.lblNewMsg.Location = New System.Drawing.Point(364, 34)
+ Me.lblNewMsg.Name = "lblNewMsg"
+ Me.lblNewMsg.Size = New System.Drawing.Size(11, 14)
+ Me.lblNewMsg.TabIndex = 3
+ Me.lblNewMsg.Text = "!"
+ Me.lblNewMsg.Visible = False
+ '
+ 'usrCntlMessenger_ChatElement
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.White
+ Me.Controls.Add(Me.pnl)
+ Me.Name = "usrCntlMessenger_ChatElement"
+ Me.Size = New System.Drawing.Size(378, 48)
+ Me.pnl.ResumeLayout(False)
+ Me.pnl.PerformLayout()
+ Me.Panel1.ResumeLayout(False)
+ Me.ResumeLayout(False)
+
+ End Sub
+
+ Friend WithEvents pnl As Panel
+ Friend WithEvents lblDateTime As Label
+ Friend WithEvents lblName As Label
+ Friend WithEvents Panel1 As Panel
+ Friend WithEvents txtChatmessage As VERAG_PROG_ALLGEMEIN.MyRichTextBox
+ Friend WithEvents lblNewMsg As Label
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.resx b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.vb
new file mode 100644
index 0000000..0d46d9f
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatElement.vb
@@ -0,0 +1,51 @@
+Imports System.Drawing
+
+Public Class usrCntlMessenger_ChatElement
+ Property CHAT_MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages
+ 'Property BG_COLOR As Color = Color.FromArgb(192, 255, 192) ' Color.Azure
+
+ Sub New()
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+
+ Sub New(CHAT_MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages)
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+ Me.CHAT_MSG = CHAT_MSG
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+ Sub setBgCOLOR(BG_COLOR)
+ ' Me.BG_COLOR = BG_COLOR
+ txtChatmessage.BackColor = BG_COLOR
+ Panel1.BackColor = BG_COLOR
+ End Sub
+
+ Private Sub usrCntlMessenger_ChatElement_Load(sender As Object, e As EventArgs) Handles Me.Load
+ ' setBgCOLOR(Color.Azure)
+ If CHAT_MSG IsNot Nothing Then
+ lblDateTime.Text = CHAT_MSG.chatMg_datetime.ToString("dd.MM.yyyy HH:mm:ss")
+ lblName.Text = CHAT_MSG.chatMg_maName & " (" & CHAT_MSG.chatMg_maFirma & ")"
+ txtChatmessage.Text = CHAT_MSG.chatMg_text
+ Dim cnt = 0
+ While (txtChatmessage.Size.Width - txtChatmessage.ClientSize.Width > 10) And cnt < 20 ' (txtChatmessage.Height - txtChatmessage.ClientSize.Height) > MyRTBInnerSize Or cnt > 100
+ Me.Height += 20 : cnt += 1
+ End While
+ setRead()
+ End If
+ End Sub
+
+ Sub setRead()
+ For Each ST In CHAT_MSG.CHAT_MESSAGES_STATUS_LIST
+ If ST.chatMgSt_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
+ lblNewMsg.Visible = Not ST.chatMgSt_gelesen
+ End If
+ Next
+ End Sub
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.Designer.vb
new file mode 100644
index 0000000..ba67c0c
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.Designer.vb
@@ -0,0 +1,132 @@
+Imports System.Windows.Forms
+
+
+Partial Class usrCntlMessenger_ChatEmoji
+ Inherits System.Windows.Forms.UserControl
+
+ 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+
+ Private Sub InitializeComponent()
+ Me.pnl = New System.Windows.Forms.Panel()
+ Me.pic = New System.Windows.Forms.PictureBox()
+ Me.lblDateTime = New System.Windows.Forms.Label()
+ Me.lblNewMsg = New System.Windows.Forms.Label()
+ Me.lblName = New System.Windows.Forms.Label()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.pnl.SuspendLayout()
+ CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'pnl
+ '
+ Me.pnl.Controls.Add(Me.Panel1)
+ Me.pnl.Controls.Add(Me.pic)
+ Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.pnl.Location = New System.Drawing.Point(0, 0)
+ Me.pnl.Name = "pnl"
+ Me.pnl.Size = New System.Drawing.Size(378, 72)
+ Me.pnl.TabIndex = 0
+ '
+ 'pic
+ '
+ Me.pic.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
+ Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.pic.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.docAllgemein
+ Me.pic.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.pic.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.pic.Location = New System.Drawing.Point(145, 5)
+ Me.pic.Name = "pic"
+ Me.pic.Size = New System.Drawing.Size(100, 50)
+ Me.pic.TabIndex = 2
+ Me.pic.TabStop = False
+ '
+ 'lblDateTime
+ '
+ Me.lblDateTime.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.lblDateTime.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!)
+ Me.lblDateTime.ForeColor = System.Drawing.Color.Black
+ Me.lblDateTime.Location = New System.Drawing.Point(226, 58)
+ Me.lblDateTime.Name = "lblDateTime"
+ Me.lblDateTime.Size = New System.Drawing.Size(132, 13)
+ Me.lblDateTime.TabIndex = 5
+ Me.lblDateTime.Text = "01.01.2020 10:12:00"
+ Me.lblDateTime.TextAlign = System.Drawing.ContentAlignment.TopRight
+ '
+ 'lblNewMsg
+ '
+ Me.lblNewMsg.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.lblNewMsg.AutoSize = True
+ Me.lblNewMsg.BackColor = System.Drawing.Color.Red
+ Me.lblNewMsg.Font = New System.Drawing.Font("Arial Black", 7.0!, System.Drawing.FontStyle.Bold)
+ Me.lblNewMsg.ForeColor = System.Drawing.Color.White
+ Me.lblNewMsg.Location = New System.Drawing.Point(364, 58)
+ Me.lblNewMsg.Name = "lblNewMsg"
+ Me.lblNewMsg.Size = New System.Drawing.Size(11, 14)
+ Me.lblNewMsg.TabIndex = 6
+ Me.lblNewMsg.Text = "!"
+ Me.lblNewMsg.Visible = False
+ '
+ 'lblName
+ '
+ Me.lblName.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.lblName.AutoSize = True
+ Me.lblName.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Bold)
+ Me.lblName.ForeColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer))
+ Me.lblName.Location = New System.Drawing.Point(4, 58)
+ Me.lblName.Name = "lblName"
+ Me.lblName.Size = New System.Drawing.Size(155, 13)
+ Me.lblName.TabIndex = 4
+ Me.lblName.Text = "Max Mustermann (VERAG)"
+ '
+ 'Panel1
+ '
+ Me.Panel1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
+ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Panel1.BackColor = System.Drawing.Color.Azure
+ Me.Panel1.Location = New System.Drawing.Point(2, 55)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(375, 3)
+ Me.Panel1.TabIndex = 3
+ '
+ 'usrCntlMessenger_ChatEmoji
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.White
+ Me.Controls.Add(Me.lblDateTime)
+ Me.Controls.Add(Me.lblName)
+ Me.Controls.Add(Me.lblNewMsg)
+ Me.Controls.Add(Me.pnl)
+ Me.Name = "usrCntlMessenger_ChatEmoji"
+ Me.Size = New System.Drawing.Size(378, 72)
+ Me.pnl.ResumeLayout(False)
+ CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+
+ Friend WithEvents pnl As Panel
+ Friend WithEvents pic As PictureBox
+ Friend WithEvents lblDateTime As Label
+ Friend WithEvents lblNewMsg As Label
+ Friend WithEvents lblName As Label
+ Friend WithEvents Panel1 As Panel
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.resx b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.vb b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.vb
new file mode 100644
index 0000000..1fd2e77
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Messenger/usrCntlMessenger_ChatEmoji.vb
@@ -0,0 +1,85 @@
+Imports System.Drawing
+
+Public Class usrCntlMessenger_ChatEmoji
+ Property BG_COLOR As Color = Color.FromArgb(192, 255, 192) ' Color.Azure
+ Property CHAT_MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages
+ Dim frmM As frmMessenger
+ 'Public FI As String = ""
+
+ Sub New()
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+
+ Sub New(frmM As frmMessenger, CHAT_MSG As VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_ChatMessages)
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+ Me.CHAT_MSG = CHAT_MSG
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+ Me.frmM = frmM
+ End Sub
+ Sub setBgCOLOR(BG_COLOR)
+ ' Me.BG_COLOR = BG_COLOR
+ ' txtChatmessage.BackColor = BG_COLOR
+ Panel1.BackColor = BG_COLOR
+ End Sub
+
+ Private Sub usrCntlMessenger_ChatAnhang_Load(sender As Object, e As EventArgs) Handles Me.Load
+ init()
+ End Sub
+
+ Sub init()
+ If CHAT_MSG IsNot Nothing Then
+ ' txtChatmessage.Text = CHAT_MSG.chatMg_text
+
+ Dim imgPath = CHAT_MSG.chatMg_text
+ Try
+ 'Dim frmM As frmMessenger = DirectCast(Me.Parent, frmMessenger)
+ If frmM.EMOJI_PATH <> frmM.EMOJI_PATH_MAIN Then
+ If IO.File.Exists(imgPath.Replace(frmM.EMOJI_PATH_MAIN, frmM.EMOJI_PATH)) Then
+ imgPath = imgPath.Replace(frmM.EMOJI_PATH_MAIN, frmM.EMOJI_PATH)
+ End If
+ End If
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+
+ Try
+ pic.BackgroundImage = Image.FromFile(imgPath)
+ pic.BackgroundImageLayout = Windows.Forms.ImageLayout.Zoom
+ Catch ex As Exception
+ ' MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ lblDateTime.Text = CHAT_MSG.chatMg_datetime.ToString("dd.MM.yyyy HH:mm:ss")
+ lblName.Text = CHAT_MSG.chatMg_maName & " (" & CHAT_MSG.chatMg_maFirma & ")"
+
+ Dim cnt = 0
+
+ setRead()
+
+
+ End If
+ End Sub
+
+ Sub setRead()
+ For Each ST In CHAT_MSG.CHAT_MESSAGES_STATUS_LIST
+ If ST.chatMgSt_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
+ lblNewMsg.Visible = Not ST.chatMgSt_gelesen
+ End If
+ Next
+ End Sub
+
+ Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click
+ If CHAT_MSG IsNot Nothing Then
+ Dim PATH = cDATENSERVER.GET_PDFPath_BY_DocID(CHAT_MSG.chatMg_anhang_docId, True)
+ 'Process.Start(PATH)
+ End If
+ End Sub
+
+
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.Designer.vb
new file mode 100644
index 0000000..3ec1002
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.Designer.vb
@@ -0,0 +1,611 @@
+
+Partial Class frmMitarbeitersuche
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+
+ Private Sub InitializeComponent()
+ Me.components = New System.ComponentModel.Container()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMitarbeitersuche))
+ Me.pnlSrch = New System.Windows.Forms.Panel()
+ Me.Button4 = New System.Windows.Forms.Button()
+ Me.btnClose = New System.Windows.Forms.Button()
+ Me.PictureBox2 = New System.Windows.Forms.PictureBox()
+ Me.sbMitarbeiter = New VERAG_PROG_ALLGEMEIN.MySearchBox()
+ Me.pnlMain = New System.Windows.Forms.Panel()
+ Me.pnl = New System.Windows.Forms.Panel()
+ Me.pnlWohnadresse = New System.Windows.Forms.Panel()
+ Me.lblWohnadresse = New System.Windows.Forms.Label()
+ Me.Label6 = New System.Windows.Forms.Label()
+ Me.lblSpitzname = New System.Windows.Forms.Label()
+ Me.Panel4 = New System.Windows.Forms.Panel()
+ Me.Panel3 = New System.Windows.Forms.Panel()
+ Me.PictureBox3 = New System.Windows.Forms.PictureBox()
+ Me.pnlMotto = New System.Windows.Forms.Panel()
+ Me.lblMotto = New System.Windows.Forms.Label()
+ Me.Label7 = New System.Windows.Forms.Label()
+ Me.btn = New System.Windows.Forms.Button()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.picGeschlecht = New System.Windows.Forms.PictureBox()
+ Me.Label10 = New System.Windows.Forms.Label()
+ Me.pic = New System.Windows.Forms.PictureBox()
+ Me.Label11 = New System.Windows.Forms.Label()
+ Me.lblHandyNr = New System.Windows.Forms.Label()
+ Me.lblMail = New System.Windows.Forms.Label()
+ Me.lblTelefon = New System.Windows.Forms.Label()
+ Me.lblName = New System.Windows.Forms.Label()
+ Me.pnlGeburtstag = New System.Windows.Forms.Panel()
+ Me.lblGeburtstag = New System.Windows.Forms.Label()
+ Me.PictureBox1 = New System.Windows.Forms.PictureBox()
+ Me.MyPanel1 = New VERAG_PROG_ALLGEMEIN.MyPanel(Me.components)
+ Me.lblPosition = New System.Windows.Forms.Label()
+ Me.Label8 = New System.Windows.Forms.Label()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.lblAbteilung = New System.Windows.Forms.Label()
+ Me.lblNiederlassung = New System.Windows.Forms.Label()
+ Me.lblFirma = New System.Windows.Forms.Label()
+ Me.Label4 = New System.Windows.Forms.Label()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.Panel1 = New System.Windows.Forms.Panel()
+ Me.pnlSrch.SuspendLayout()
+ CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.pnlMain.SuspendLayout()
+ Me.pnl.SuspendLayout()
+ Me.pnlWohnadresse.SuspendLayout()
+ CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.pnlMotto.SuspendLayout()
+ CType(Me.picGeschlecht, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.pnlGeburtstag.SuspendLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.MyPanel1.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'pnlSrch
+ '
+ Me.pnlSrch.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
+ Me.pnlSrch.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlSrch.Controls.Add(Me.Button4)
+ Me.pnlSrch.Controls.Add(Me.btnClose)
+ Me.pnlSrch.Controls.Add(Me.PictureBox2)
+ Me.pnlSrch.Controls.Add(Me.sbMitarbeiter)
+ Me.pnlSrch.Dock = System.Windows.Forms.DockStyle.Top
+ Me.pnlSrch.Location = New System.Drawing.Point(0, 0)
+ Me.pnlSrch.Name = "pnlSrch"
+ Me.pnlSrch.Size = New System.Drawing.Size(776, 48)
+ Me.pnlSrch.TabIndex = 0
+ '
+ 'Button4
+ '
+ Me.Button4.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.Button4.BackColor = System.Drawing.SystemColors.Highlight
+ Me.Button4.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.people
+ Me.Button4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button4.ForeColor = System.Drawing.Color.White
+ Me.Button4.Location = New System.Drawing.Point(633, 11)
+ Me.Button4.Name = "Button4"
+ Me.Button4.Size = New System.Drawing.Size(49, 29)
+ Me.Button4.TabIndex = 20
+ Me.Button4.UseVisualStyleBackColor = False
+ '
+ 'btnClose
+ '
+ Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.btnClose.BackColor = System.Drawing.Color.Red
+ Me.btnClose.FlatAppearance.BorderColor = System.Drawing.Color.White
+ Me.btnClose.FlatAppearance.BorderSize = 0
+ Me.btnClose.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.btnClose.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.btnClose.ForeColor = System.Drawing.Color.White
+ Me.btnClose.Location = New System.Drawing.Point(712, -1)
+ Me.btnClose.Name = "btnClose"
+ Me.btnClose.RightToLeft = System.Windows.Forms.RightToLeft.Yes
+ Me.btnClose.Size = New System.Drawing.Size(63, 28)
+ Me.btnClose.TabIndex = 19
+ Me.btnClose.Text = "X"
+ Me.btnClose.UseVisualStyleBackColor = False
+ '
+ 'PictureBox2
+ '
+ Me.PictureBox2.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.search
+ Me.PictureBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.PictureBox2.Location = New System.Drawing.Point(7, 11)
+ Me.PictureBox2.Name = "PictureBox2"
+ Me.PictureBox2.Size = New System.Drawing.Size(32, 29)
+ Me.PictureBox2.TabIndex = 18
+ Me.PictureBox2.TabStop = False
+ '
+ 'sbMitarbeiter
+ '
+ Me.sbMitarbeiter._allowFreitext = False
+ Me.sbMitarbeiter._AllowSetValue = False
+ Me.sbMitarbeiter._allowSpaceAsSplitter = True
+ Me.sbMitarbeiter._autoSizeGross = False
+ Me.sbMitarbeiter._hideIfListEmpty = True
+ Me.sbMitarbeiter._value = Nothing
+ Me.sbMitarbeiter.conn_art = "FMZOLL"
+ Me.sbMitarbeiter.dgvpos = "LEFT"
+ Me.sbMitarbeiter.DISPLAY_PARAM = Nothing
+ Me.sbMitarbeiter.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
+ Me.sbMitarbeiter.INVISIBLE_COLUMNS = Nothing
+ Me.sbMitarbeiter.key_visible = False
+ Me.sbMitarbeiter.KEYPARAM = Nothing
+ Me.sbMitarbeiter.Location = New System.Drawing.Point(45, 11)
+ Me.sbMitarbeiter.Name = "sbMitarbeiter"
+ Me.sbMitarbeiter.searchActive = True
+ Me.sbMitarbeiter.Size = New System.Drawing.Size(582, 29)
+ Me.sbMitarbeiter.SQL_ORDER_BY = Nothing
+ Me.sbMitarbeiter.SQL_SELECT = Nothing
+ Me.sbMitarbeiter.SQL_WHERE = Nothing
+ Me.sbMitarbeiter.SQL_WhereParamList = Nothing
+ Me.sbMitarbeiter.TabIndex = 0
+ Me.sbMitarbeiter.usrcntl = Nothing
+ '
+ 'pnlMain
+ '
+ Me.pnlMain.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlMain.Controls.Add(Me.pnl)
+ Me.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.pnlMain.Location = New System.Drawing.Point(0, 48)
+ Me.pnlMain.Name = "pnlMain"
+ Me.pnlMain.Size = New System.Drawing.Size(776, 439)
+ Me.pnlMain.TabIndex = 1
+ '
+ 'pnl
+ '
+ Me.pnl.BackColor = System.Drawing.Color.FromArgb(CType(CType(250, Byte), Integer), CType(CType(254, Byte), Integer), CType(CType(255, Byte), Integer))
+ Me.pnl.Controls.Add(Me.pnlWohnadresse)
+ Me.pnl.Controls.Add(Me.lblSpitzname)
+ Me.pnl.Controls.Add(Me.Panel4)
+ Me.pnl.Controls.Add(Me.Panel3)
+ Me.pnl.Controls.Add(Me.PictureBox3)
+ Me.pnl.Controls.Add(Me.pnlMotto)
+ Me.pnl.Controls.Add(Me.btn)
+ Me.pnl.Controls.Add(Me.Label1)
+ Me.pnl.Controls.Add(Me.picGeschlecht)
+ Me.pnl.Controls.Add(Me.Label10)
+ Me.pnl.Controls.Add(Me.pic)
+ Me.pnl.Controls.Add(Me.Label11)
+ Me.pnl.Controls.Add(Me.lblHandyNr)
+ Me.pnl.Controls.Add(Me.lblMail)
+ Me.pnl.Controls.Add(Me.lblTelefon)
+ Me.pnl.Controls.Add(Me.lblName)
+ Me.pnl.Controls.Add(Me.pnlGeburtstag)
+ Me.pnl.Controls.Add(Me.MyPanel1)
+ Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.pnl.Location = New System.Drawing.Point(0, 0)
+ Me.pnl.Name = "pnl"
+ Me.pnl.Size = New System.Drawing.Size(774, 437)
+ Me.pnl.TabIndex = 24
+ '
+ 'pnlWohnadresse
+ '
+ Me.pnlWohnadresse.Controls.Add(Me.lblWohnadresse)
+ Me.pnlWohnadresse.Controls.Add(Me.Label6)
+ Me.pnlWohnadresse.Location = New System.Drawing.Point(203, 353)
+ Me.pnlWohnadresse.Name = "pnlWohnadresse"
+ Me.pnlWohnadresse.Size = New System.Drawing.Size(701, 34)
+ Me.pnlWohnadresse.TabIndex = 20
+ '
+ 'lblWohnadresse
+ '
+ Me.lblWohnadresse.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
+ Me.lblWohnadresse.Location = New System.Drawing.Point(152, 3)
+ Me.lblWohnadresse.Name = "lblWohnadresse"
+ Me.lblWohnadresse.Size = New System.Drawing.Size(411, 25)
+ Me.lblWohnadresse.TabIndex = 11
+ Me.lblWohnadresse.Text = "A 4975 Suben"
+ '
+ 'Label6
+ '
+ Me.Label6.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!)
+ Me.Label6.Location = New System.Drawing.Point(7, 3)
+ Me.Label6.Name = "Label6"
+ Me.Label6.Size = New System.Drawing.Size(139, 25)
+ Me.Label6.TabIndex = 10
+ Me.Label6.Text = "Wohnort:"
+ '
+ 'lblSpitzname
+ '
+ Me.lblSpitzname.Font = New System.Drawing.Font("Microsoft Sans Serif", 16.0!)
+ Me.lblSpitzname.Location = New System.Drawing.Point(13, 9)
+ Me.lblSpitzname.Name = "lblSpitzname"
+ Me.lblSpitzname.Size = New System.Drawing.Size(551, 42)
+ Me.lblSpitzname.TabIndex = 2
+ Me.lblSpitzname.Text = """Maxl"""
+ Me.lblSpitzname.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'Panel4
+ '
+ Me.Panel4.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
+ Me.Panel4.Location = New System.Drawing.Point(8, 93)
+ Me.Panel4.Name = "Panel4"
+ Me.Panel4.Size = New System.Drawing.Size(758, 1)
+ Me.Panel4.TabIndex = 27
+ '
+ 'Panel3
+ '
+ Me.Panel3.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
+ Me.Panel3.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.Panel3.Location = New System.Drawing.Point(0, 424)
+ Me.Panel3.Name = "Panel3"
+ Me.Panel3.Size = New System.Drawing.Size(774, 13)
+ Me.Panel3.TabIndex = 26
+ '
+ 'PictureBox3
+ '
+ Me.PictureBox3.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.Verag_AG_Logopng
+ Me.PictureBox3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.PictureBox3.Location = New System.Drawing.Point(8, 340)
+ Me.PictureBox3.Name = "PictureBox3"
+ Me.PictureBox3.Size = New System.Drawing.Size(191, 50)
+ Me.PictureBox3.TabIndex = 18
+ Me.PictureBox3.TabStop = False
+ '
+ 'pnlMotto
+ '
+ Me.pnlMotto.Controls.Add(Me.lblMotto)
+ Me.pnlMotto.Controls.Add(Me.Label7)
+ Me.pnlMotto.Location = New System.Drawing.Point(203, 307)
+ Me.pnlMotto.Name = "pnlMotto"
+ Me.pnlMotto.Size = New System.Drawing.Size(701, 83)
+ Me.pnlMotto.TabIndex = 21
+ '
+ 'lblMotto
+ '
+ Me.lblMotto.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
+ Me.lblMotto.Location = New System.Drawing.Point(152, 3)
+ Me.lblMotto.Name = "lblMotto"
+ Me.lblMotto.Size = New System.Drawing.Size(411, 63)
+ Me.lblMotto.TabIndex = 11
+ Me.lblMotto.Text = "-"
+ '
+ 'Label7
+ '
+ Me.Label7.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!)
+ Me.Label7.Location = New System.Drawing.Point(7, 3)
+ Me.Label7.Name = "Label7"
+ Me.Label7.Size = New System.Drawing.Size(139, 25)
+ Me.Label7.TabIndex = 10
+ Me.Label7.Text = "Motto:"
+ '
+ 'btn
+ '
+ Me.btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.btn.Image = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.stift
+ Me.btn.ImageAlign = System.Drawing.ContentAlignment.TopCenter
+ Me.btn.Location = New System.Drawing.Point(702, 9)
+ Me.btn.Name = "btn"
+ Me.btn.Size = New System.Drawing.Size(70, 58)
+ Me.btn.TabIndex = 9
+ Me.btn.Text = "Bearbeiten"
+ Me.btn.TextAlign = System.Drawing.ContentAlignment.BottomCenter
+ Me.btn.UseVisualStyleBackColor = True
+ Me.btn.Visible = False
+ '
+ 'Label1
+ '
+ Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!)
+ Me.Label1.Location = New System.Drawing.Point(210, 153)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(139, 25)
+ Me.Label1.TabIndex = 21
+ Me.Label1.Text = "Handy-Nr:"
+ Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'picGeschlecht
+ '
+ Me.picGeschlecht.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.männlich
+ Me.picGeschlecht.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.picGeschlecht.Location = New System.Drawing.Point(647, 25)
+ Me.picGeschlecht.Name = "picGeschlecht"
+ Me.picGeschlecht.Size = New System.Drawing.Size(46, 36)
+ Me.picGeschlecht.TabIndex = 23
+ Me.picGeschlecht.TabStop = False
+ '
+ 'Label10
+ '
+ Me.Label10.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!)
+ Me.Label10.Location = New System.Drawing.Point(210, 102)
+ Me.Label10.Name = "Label10"
+ Me.Label10.Size = New System.Drawing.Size(139, 25)
+ Me.Label10.TabIndex = 15
+ Me.Label10.Text = "E-Mail:"
+ Me.Label10.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'pic
+ '
+ Me.pic.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.personGray_m
+ Me.pic.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.pic.Location = New System.Drawing.Point(10, 100)
+ Me.pic.Name = "pic"
+ Me.pic.Size = New System.Drawing.Size(192, 198)
+ Me.pic.TabIndex = 0
+ Me.pic.TabStop = False
+ '
+ 'Label11
+ '
+ Me.Label11.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!)
+ Me.Label11.Location = New System.Drawing.Point(210, 127)
+ Me.Label11.Name = "Label11"
+ Me.Label11.Size = New System.Drawing.Size(139, 25)
+ Me.Label11.TabIndex = 14
+ Me.Label11.Text = "Telefon-Nr:"
+ Me.Label11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'lblHandyNr
+ '
+ Me.lblHandyNr.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
+ Me.lblHandyNr.Location = New System.Drawing.Point(353, 153)
+ Me.lblHandyNr.Name = "lblHandyNr"
+ Me.lblHandyNr.Size = New System.Drawing.Size(411, 25)
+ Me.lblHandyNr.TabIndex = 22
+ Me.lblHandyNr.Text = "+43 7711 / 2777 0"
+ Me.lblHandyNr.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'lblMail
+ '
+ Me.lblMail.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.lblMail.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
+ Me.lblMail.Location = New System.Drawing.Point(353, 102)
+ Me.lblMail.Name = "lblMail"
+ Me.lblMail.Size = New System.Drawing.Size(411, 25)
+ Me.lblMail.TabIndex = 17
+ Me.lblMail.Text = "info@verag.ag"
+ Me.lblMail.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'lblTelefon
+ '
+ Me.lblTelefon.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
+ Me.lblTelefon.Location = New System.Drawing.Point(353, 127)
+ Me.lblTelefon.Name = "lblTelefon"
+ Me.lblTelefon.Size = New System.Drawing.Size(411, 25)
+ Me.lblTelefon.TabIndex = 16
+ Me.lblTelefon.Text = "+43 7711 / 2777 0"
+ Me.lblTelefon.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'lblName
+ '
+ Me.lblName.BackColor = System.Drawing.Color.Transparent
+ Me.lblName.Font = New System.Drawing.Font("Microsoft Sans Serif", 22.0!)
+ Me.lblName.Location = New System.Drawing.Point(12, 38)
+ Me.lblName.Name = "lblName"
+ Me.lblName.Size = New System.Drawing.Size(695, 52)
+ Me.lblName.TabIndex = 1
+ Me.lblName.Text = "Max Mustermann"
+ Me.lblName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'pnlGeburtstag
+ '
+ Me.pnlGeburtstag.Controls.Add(Me.lblGeburtstag)
+ Me.pnlGeburtstag.Controls.Add(Me.PictureBox1)
+ Me.pnlGeburtstag.Location = New System.Drawing.Point(8, 301)
+ Me.pnlGeburtstag.Name = "pnlGeburtstag"
+ Me.pnlGeburtstag.Size = New System.Drawing.Size(183, 33)
+ Me.pnlGeburtstag.TabIndex = 19
+ '
+ 'lblGeburtstag
+ '
+ Me.lblGeburtstag.AutoSize = True
+ Me.lblGeburtstag.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!)
+ Me.lblGeburtstag.Location = New System.Drawing.Point(38, 6)
+ Me.lblGeburtstag.Name = "lblGeburtstag"
+ Me.lblGeburtstag.Size = New System.Drawing.Size(89, 20)
+ Me.lblGeburtstag.TabIndex = 12
+ Me.lblGeburtstag.Text = "01.01.2020"
+ Me.lblGeburtstag.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
+ '
+ 'PictureBox1
+ '
+ Me.PictureBox1.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.cake
+ Me.PictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.PictureBox1.Location = New System.Drawing.Point(5, 3)
+ Me.PictureBox1.Name = "PictureBox1"
+ Me.PictureBox1.Size = New System.Drawing.Size(27, 24)
+ Me.PictureBox1.TabIndex = 13
+ Me.PictureBox1.TabStop = False
+ '
+ 'MyPanel1
+ '
+ Me.MyPanel1.BackColor = System.Drawing.Color.FromArgb(CType(CType(250, Byte), Integer), CType(CType(254, Byte), Integer), CType(CType(255, Byte), Integer))
+ Me.MyPanel1.Controls.Add(Me.lblPosition)
+ Me.MyPanel1.Controls.Add(Me.Label8)
+ Me.MyPanel1.Controls.Add(Me.Label2)
+ Me.MyPanel1.Controls.Add(Me.lblAbteilung)
+ Me.MyPanel1.Controls.Add(Me.lblNiederlassung)
+ Me.MyPanel1.Controls.Add(Me.lblFirma)
+ Me.MyPanel1.Controls.Add(Me.Label4)
+ Me.MyPanel1.Controls.Add(Me.Label3)
+ Me.MyPanel1.Location = New System.Drawing.Point(197, 181)
+ Me.MyPanel1.Name = "MyPanel1"
+ Me.MyPanel1.Size = New System.Drawing.Size(578, 116)
+ Me.MyPanel1.TabIndex = 28
+ '
+ 'lblPosition
+ '
+ Me.lblPosition.BackColor = System.Drawing.Color.Transparent
+ Me.lblPosition.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
+ Me.lblPosition.Location = New System.Drawing.Point(158, 87)
+ Me.lblPosition.Name = "lblPosition"
+ Me.lblPosition.Size = New System.Drawing.Size(411, 25)
+ Me.lblPosition.TabIndex = 10
+ Me.lblPosition.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'Label8
+ '
+ Me.Label8.BackColor = System.Drawing.Color.Transparent
+ Me.Label8.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!)
+ Me.Label8.Location = New System.Drawing.Point(13, 87)
+ Me.Label8.Name = "Label8"
+ Me.Label8.Size = New System.Drawing.Size(139, 25)
+ Me.Label8.TabIndex = 9
+ Me.Label8.Text = "Position:"
+ Me.Label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.Label8.Visible = False
+ '
+ 'Label2
+ '
+ Me.Label2.BackColor = System.Drawing.Color.Transparent
+ Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!)
+ Me.Label2.Location = New System.Drawing.Point(13, 5)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(139, 25)
+ Me.Label2.TabIndex = 3
+ Me.Label2.Text = "Firma:"
+ Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'lblAbteilung
+ '
+ Me.lblAbteilung.BackColor = System.Drawing.Color.Transparent
+ Me.lblAbteilung.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
+ Me.lblAbteilung.Location = New System.Drawing.Point(158, 55)
+ Me.lblAbteilung.Name = "lblAbteilung"
+ Me.lblAbteilung.Size = New System.Drawing.Size(411, 25)
+ Me.lblAbteilung.TabIndex = 8
+ Me.lblAbteilung.Text = "IT"
+ Me.lblAbteilung.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'lblNiederlassung
+ '
+ Me.lblNiederlassung.BackColor = System.Drawing.Color.Transparent
+ Me.lblNiederlassung.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
+ Me.lblNiederlassung.Location = New System.Drawing.Point(158, 30)
+ Me.lblNiederlassung.Name = "lblNiederlassung"
+ Me.lblNiederlassung.Size = New System.Drawing.Size(411, 25)
+ Me.lblNiederlassung.TabIndex = 7
+ Me.lblNiederlassung.Text = "SUBEN"
+ Me.lblNiederlassung.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'lblFirma
+ '
+ Me.lblFirma.BackColor = System.Drawing.Color.Transparent
+ Me.lblFirma.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold)
+ Me.lblFirma.Location = New System.Drawing.Point(158, 5)
+ Me.lblFirma.Name = "lblFirma"
+ Me.lblFirma.Size = New System.Drawing.Size(411, 25)
+ Me.lblFirma.TabIndex = 6
+ Me.lblFirma.Text = "VERAG"
+ Me.lblFirma.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'Label4
+ '
+ Me.Label4.BackColor = System.Drawing.Color.Transparent
+ Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!)
+ Me.Label4.Location = New System.Drawing.Point(13, 55)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(139, 25)
+ Me.Label4.TabIndex = 5
+ Me.Label4.Text = "Abteilung:"
+ Me.Label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'Label3
+ '
+ Me.Label3.BackColor = System.Drawing.Color.Transparent
+ Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!)
+ Me.Label3.Location = New System.Drawing.Point(13, 30)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(139, 25)
+ Me.Label3.TabIndex = 4
+ Me.Label3.Text = "Niederlassung:"
+ Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'Panel1
+ '
+ Me.Panel1.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
+ Me.Panel1.Location = New System.Drawing.Point(214, 230)
+ Me.Panel1.Name = "Panel1"
+ Me.Panel1.Size = New System.Drawing.Size(553, 1)
+ Me.Panel1.TabIndex = 29
+ '
+ 'frmMitarbeitersuche
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.WhiteSmoke
+ Me.ClientSize = New System.Drawing.Size(776, 487)
+ Me.Controls.Add(Me.Panel1)
+ Me.Controls.Add(Me.pnlMain)
+ Me.Controls.Add(Me.pnlSrch)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.Name = "frmMitarbeitersuche"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+ Me.Text = "frmMitarbeitersuche"
+ Me.pnlSrch.ResumeLayout(False)
+ Me.pnlSrch.PerformLayout()
+ CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.pnlMain.ResumeLayout(False)
+ Me.pnl.ResumeLayout(False)
+ Me.pnlWohnadresse.ResumeLayout(False)
+ CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.pnlMotto.ResumeLayout(False)
+ CType(Me.picGeschlecht, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.pnlGeburtstag.ResumeLayout(False)
+ Me.pnlGeburtstag.PerformLayout()
+ CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.MyPanel1.ResumeLayout(False)
+ Me.ResumeLayout(False)
+
+ End Sub
+
+ Friend WithEvents pnlSrch As Windows.Forms.Panel
+ Friend WithEvents pnlMain As Windows.Forms.Panel
+ Friend WithEvents btn As Windows.Forms.Button
+ Friend WithEvents lblAbteilung As Windows.Forms.Label
+ Friend WithEvents lblNiederlassung As Windows.Forms.Label
+ Friend WithEvents lblFirma As Windows.Forms.Label
+ Friend WithEvents Label4 As Windows.Forms.Label
+ Friend WithEvents Label3 As Windows.Forms.Label
+ Friend WithEvents Label2 As Windows.Forms.Label
+ Friend WithEvents lblSpitzname As Windows.Forms.Label
+ Friend WithEvents lblName As Windows.Forms.Label
+ Friend WithEvents pic As Windows.Forms.PictureBox
+ Friend WithEvents PictureBox1 As Windows.Forms.PictureBox
+ Friend WithEvents lblGeburtstag As Windows.Forms.Label
+ Friend WithEvents lblWohnadresse As Windows.Forms.Label
+ Friend WithEvents Label6 As Windows.Forms.Label
+ Friend WithEvents lblMail As Windows.Forms.Label
+ Friend WithEvents lblTelefon As Windows.Forms.Label
+ Friend WithEvents Label10 As Windows.Forms.Label
+ Friend WithEvents Label11 As Windows.Forms.Label
+ Friend WithEvents PictureBox2 As Windows.Forms.PictureBox
+ Friend WithEvents sbMitarbeiter As MySearchBox
+ Friend WithEvents btnClose As Windows.Forms.Button
+ Friend WithEvents PictureBox3 As Windows.Forms.PictureBox
+ Friend WithEvents pnlGeburtstag As Windows.Forms.Panel
+ Friend WithEvents pnlWohnadresse As Windows.Forms.Panel
+ Friend WithEvents Label1 As Windows.Forms.Label
+ Friend WithEvents lblHandyNr As Windows.Forms.Label
+ Friend WithEvents picGeschlecht As Windows.Forms.PictureBox
+ Friend WithEvents pnlMotto As Windows.Forms.Panel
+ Friend WithEvents lblMotto As Windows.Forms.Label
+ Friend WithEvents Label7 As Windows.Forms.Label
+ Friend WithEvents pnl As Windows.Forms.Panel
+ Friend WithEvents Panel4 As Windows.Forms.Panel
+ Friend WithEvents Panel3 As Windows.Forms.Panel
+ Friend WithEvents Button4 As Windows.Forms.Button
+ Friend WithEvents MyPanel1 As MyPanel
+ Friend WithEvents lblPosition As Windows.Forms.Label
+ Friend WithEvents Label8 As Windows.Forms.Label
+ Friend WithEvents Panel1 As Windows.Forms.Panel
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.resx b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.resx
new file mode 100644
index 0000000..d584bd9
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.resx
@@ -0,0 +1,980 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA
+ AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r
+ OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////////////
+ //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm
+ MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L
+ v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j
+ jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt
+ mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////
+ ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU
+ y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm
+ 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3
+ p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90
+ SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U
+ y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm
+ MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3/////////////
+ //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3
+ 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDu6+n/////////////////////////////////////////////////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/
+ ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm
+ MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb/////////////////////
+ //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/
+ ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d
+ 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt
+ mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm
+ MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////
+ //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3
+ 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t
+ mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X/////////////
+ //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm
+ MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm
+ MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu
+ 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv/////
+ ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////
+ //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm
+ MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t
+ mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/
+ //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////
+ ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////
+ ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj
+ jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////
+ ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B
+ s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3Bs6rBs6r39fT/////////////////////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/
+ ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j/////////////////
+ ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////////////
+ //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////
+ ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////
+ ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA
+ XUL/////////////////////////////////////////////////////////////////////////////
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////
+ //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////////////////////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ ///////////////////////////////////////////////////////////////////////////d1tFm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/
+ //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd
+ 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////
+ ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////
+ ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////
+ //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT/////////////
+ //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0
+ SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDUy8X/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n/////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u
+ 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY
+ fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////Uy8XB
+ s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////
+ //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDm4N3/////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////
+ ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t
+ mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3/////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwD39fT/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////
+ //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r/////////////////////////
+ //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////
+ //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL
+ v7j/////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////+Mblhm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r/////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCtmo3Bs6r39fT/////////////////////////////////////////////////////////////////
+ ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////
+ ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n/////
+ ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j/////////////////////////////////////////////////
+ ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCAXUL/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////
+ //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////
+ //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT/////////
+ //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/
+ ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3/////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////39fRmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////
+ ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////
+ ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////
+ ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////
+ ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT/////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////////L
+ v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB
+ s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////
+ ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X/////////////////////////////////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////
+ ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwB0SSb/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/
+ //////////////////////////////////////////////////////////////////////////////+A
+ XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.vb b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.vb
new file mode 100644
index 0000000..1160b60
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersuche.vb
@@ -0,0 +1,198 @@
+Imports System.ComponentModel
+Imports System.Drawing
+
+Public Class frmMitarbeitersuche
+ Dim mit_id As Integer = -1
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Sub New()
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+ Sub New(mit_id As Integer)
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+ Me.mit_id = mit_id
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+
+ Private Sub lblMail_Click(sender As Object, e As EventArgs) Handles lblMail.Click
+ If lblMail.Text <> "" Then Process.Start("Mailto:" & lblMail.Text)
+ End Sub
+
+ Private Sub frmMitarbeitersuche_Load(sender As Object, e As EventArgs) Handles Me.Load
+ pnl.Visible = False
+ If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MITARBEITER_VERZEICHNIS", "SDL") Then
+ MsgBox("Noch nicht verfügbar!")
+ Me.Close()
+ End If
+
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_MAVerzeichnis_SettingsTstmp Is Nothing And Not VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_pseudoUser Then
+ MsgBox("Sie müssen Ihren Benutzer erstmal konfigurieren, um das Verzeichnis einsehen zu können. Sie können die Einstellungen jederzeit ändern.")
+
+ Dim f As New frmMitarbeitersucheBearbeiten(VERAG_PROG_ALLGEMEIN.cAllgemein.USRID)
+ If f.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
+ Else
+ Me.Close()
+ End If
+ initMA()
+ End If
+
+
+ sbMitarbeiter.initSearchBox(Me.FindForm, " [mit_id] ,[mit_username] ,(mit_vname + ' ' + mit_nname ) AS Name , CASE WHEN mit_firma='ALL' THEN mit_firmaHaupt ELSE mit_firma END as Firma, mit_niederlassung as Niederlassung FROM tblMitarbeiter", {"mit_vname", "mit_nname"}, " 1=1 AND mit_gekuendigt=0 AND [mit_TESTonly]=0 AND [mit_pseudoUser]=0 ", "mit_id", "mit_id", "Name", "ADMIN", , 400, 200, {"mit_id", "mit_username"})
+ initMA()
+
+ End Sub
+
+
+ Private Sub sbMitarbeiter_PropertyChanged() Handles sbMitarbeiter.VALUE_CHANGED
+ initMA()
+ End Sub
+
+ Sub initMA()
+ btn.Visible = False
+ pnl.Visible = False
+ Dim MA As cMitarbeiter = Nothing
+ If sbMitarbeiter._value <> "" Then
+ MA = New cMitarbeiter(sbMitarbeiter._value)
+ End If
+
+ If MA Is Nothing Then
+ clearMA()
+ Else
+
+ pnl.Visible = True
+ lblName.Text = If(MA.mit_vname, "") & " " & If(MA.mit_nname, "")
+ lblSpitzname.Text = If(MA.mit_MAVerzeichnis_Spitzname, "")
+ lblFirma.Text = MA.getFirma
+ lblNiederlassung.Text = If(MA.mit_niederlassung, "")
+
+ lblTelefon.Text = If(MA.mit_durchwahl, "")
+ lblMail.Text = If(MA.mit_email, "")
+ ' lblWohnadresse.Text = (If(MA.mit_land, "") & " " & If(MA.mit_plz, "") & " " & If(MA.mit_ort, "")).Trim
+ lblWohnadresse.Text = (If(MA.mit_plz, "") & " " & If(MA.mit_ort, "")).Trim
+
+ pnlWohnadresse.Visible = MA.mit_MAVerzeichnis_allowWohnadresse
+
+ lblMotto.Text = MA.mit_MAVerzeichnis_Motto
+ If lblMotto.Text.Trim <> "" Then lblMotto.Text = """" & lblMotto.Text & """"
+ pnlMotto.Visible = (lblMotto.Text <> "")
+
+ lblHandyNr.Visible = MA.mit_MAVerzeichnis_allowHandynummer
+ lblHandyNr.Text = If(MA.mit_mobiltel, "")
+
+
+ Select Case If(MA.mit_abteilung, "")
+ Case "GF" : lblAbteilung.Text = "Geschäftsführung"
+ If MA.mit_vname = "Johann" And MA.mit_nname = "Luxbauer" Then lblAbteilung.Text = "VORSTAND / Geschäftsführung"
+ Case "VRR" : lblAbteilung.Text = "Verrechnung"
+ Case "BH", "BU" : lblAbteilung.Text = "Buchhaltung"
+ Case "MDM" : lblAbteilung.Text = "Maut/Diesel/Mehrwertsteuer"
+ Case "FISKAL" : lblAbteilung.Text = "Fiskalabteilung"
+ Case "ZOLL", "QS" : lblAbteilung.Text = "Zollabteilung"
+ If MA.mit_teamId IsNot Nothing Then
+ Dim team = SQL.DLookup("team_bezeichnung", "tblTeams", "team_id='" & MA.mit_teamId & "'", "ADMIN", "")
+ If team <> "" Then
+ lblAbteilung.Text &= " / " & team
+ End If
+ End If
+ Case Else : lblAbteilung.Text = If(MA.mit_abteilung, "")
+ End Select
+
+ If MA.mit_MAVerzeichnis_allowGebDat Then
+ pnlGeburtstag.Visible = True
+ If MA.mit_MAVerzeichnis_allowGebDatOhneJahr AndAlso IsDate(If(MA.mit_gebdat, "")) Then
+ lblGeburtstag.Text = CDate(MA.mit_gebdat).ToString("dd.MM.")
+ Else
+ lblGeburtstag.Text = If(MA.mit_gebdat, "")
+ End If
+ Else
+ pnlGeburtstag.Visible = False
+ End If
+
+ pic.BackgroundImage = My.Resources.personGray_m
+ picGeschlecht.Visible = True
+ If MA.mit_geschlecht = "w" Then
+ pic.BackgroundImage = My.Resources.personGray_w
+ picGeschlecht.BackgroundImage = My.Resources.weiblich
+ Else
+ pic.BackgroundImage = My.Resources.personGray_m
+ picGeschlecht.BackgroundImage = My.Resources.männlich
+ End If
+
+ If MA.mit_MAVerzeichnis_allowFoto AndAlso MA.mit_foto_DocId IsNot Nothing Then
+ Try
+ pic.BackgroundImage = Image.FromFile(cDATENSERVER.GET_PDFPath_BY_DocID(MA.mit_foto_DocId))
+ Catch ex As Exception
+ pic.BackgroundImage = My.Resources.personGray_m
+ End Try
+ End If
+
+ Select Case MA.getFirma
+ Case "VERAG" : PictureBox3.BackgroundImage = My.Resources.Verag_AG_Logopng
+ Case "UNISPED" : PictureBox3.BackgroundImage = My.Resources.Unisped_logo
+ Case "ATILLA" : PictureBox3.BackgroundImage = My.Resources.Atilla
+ Case "AMBAR" : PictureBox3.BackgroundImage = My.Resources.ambar_simple
+ Case "IMEX" : PictureBox3.BackgroundImage = My.Resources.IMEX_LOGO_simple
+ Case "FRONTOFFICE" : PictureBox3.BackgroundImage = My.Resources.FrontOfficeSUB_Horizontal
+ Case Else
+ PictureBox3.BackgroundImage = Nothing
+ End Select
+ If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMINFUNCTIONS", "SDL") Then
+ btn.Visible = True
+ End If
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.USRID = MA.mit_id Then
+
+ btn.Visible = True
+ End If
+ End If
+ End Sub
+
+
+ Sub clearMA()
+
+ lblName.Text = ""
+ lblSpitzname.Text = ""
+ lblFirma.Text = ""
+ lblNiederlassung.Text = ""
+ lblAbteilung.Text = ""
+ lblTelefon.Text = ""
+ lblMail.Text = ""
+ lblHandyNr.Text = ""
+ lblWohnadresse.Text = ""
+ pnlWohnadresse.Visible = False
+ pnlGeburtstag.Visible = False
+ pnlMotto.Visible = False
+ pic.BackgroundImage = My.Resources.personGray_m
+ picGeschlecht.Visible = False
+ End Sub
+
+ Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click
+ Me.Close()
+ End Sub
+
+ Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
+ If sbMitarbeiter._value = "" Then Exit Sub
+ Dim f As New frmMitarbeitersucheBearbeiten(sbMitarbeiter._value)
+ f.ShowDialog(Me)
+ initMA()
+ End Sub
+
+ Private Sub frmMitarbeitersuche_Shown(sender As Object, e As EventArgs) Handles Me.Shown
+ If mit_id > 0 Then
+ sbMitarbeiter.SET_VALUE(mit_id)
+ initMA()
+ End If
+ End Sub
+
+ Private Sub pnl_Paint(sender As Object, e As Windows.Forms.PaintEventArgs) Handles pnl.Paint
+
+ End Sub
+
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.Designer.vb
new file mode 100644
index 0000000..834b91b
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.Designer.vb
@@ -0,0 +1,294 @@
+
+Partial Class frmMitarbeitersucheBearbeiten
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+
+ Private Sub InitializeComponent()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMitarbeitersucheBearbeiten))
+ Me.pnlSrch = New System.Windows.Forms.Panel()
+ Me.btnClose = New System.Windows.Forms.Button()
+ Me.pnlMain = New System.Windows.Forms.Panel()
+ Me.btn = New System.Windows.Forms.Button()
+ Me.txtMotto = New System.Windows.Forms.TextBox()
+ Me.cbxMotto = New System.Windows.Forms.CheckBox()
+ Me.cbxGeburtsdatumOhneJahr = New System.Windows.Forms.CheckBox()
+ Me.txtHandynummer = New System.Windows.Forms.TextBox()
+ Me.txtSpitzname = New System.Windows.Forms.TextBox()
+ Me.lblGeburtstag = New System.Windows.Forms.Label()
+ Me.cbxHandynummer = New System.Windows.Forms.CheckBox()
+ Me.cbxSpitzname = New System.Windows.Forms.CheckBox()
+ Me.cbxGeburtsdatum = New System.Windows.Forms.CheckBox()
+ Me.cbxWohnort = New System.Windows.Forms.CheckBox()
+ Me.lblWohnadresse = New System.Windows.Forms.Label()
+ Me.lblName = New System.Windows.Forms.Label()
+ Me.pic = New System.Windows.Forms.PictureBox()
+ Me.cbxAllowFoto = New System.Windows.Forms.CheckBox()
+ Me.pnlSrch.SuspendLayout()
+ Me.pnlMain.SuspendLayout()
+ CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'pnlSrch
+ '
+ Me.pnlSrch.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
+ Me.pnlSrch.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlSrch.Controls.Add(Me.btnClose)
+ Me.pnlSrch.Dock = System.Windows.Forms.DockStyle.Top
+ Me.pnlSrch.Location = New System.Drawing.Point(0, 0)
+ Me.pnlSrch.Name = "pnlSrch"
+ Me.pnlSrch.Size = New System.Drawing.Size(703, 29)
+ Me.pnlSrch.TabIndex = 0
+ '
+ 'btnClose
+ '
+ Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.btnClose.BackColor = System.Drawing.Color.Red
+ Me.btnClose.FlatAppearance.BorderColor = System.Drawing.Color.White
+ Me.btnClose.FlatAppearance.BorderSize = 0
+ Me.btnClose.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.btnClose.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.btnClose.ForeColor = System.Drawing.Color.White
+ Me.btnClose.Location = New System.Drawing.Point(639, -1)
+ Me.btnClose.Name = "btnClose"
+ Me.btnClose.RightToLeft = System.Windows.Forms.RightToLeft.Yes
+ Me.btnClose.Size = New System.Drawing.Size(63, 28)
+ Me.btnClose.TabIndex = 19
+ Me.btnClose.Text = "X"
+ Me.btnClose.UseVisualStyleBackColor = False
+ '
+ 'pnlMain
+ '
+ Me.pnlMain.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnlMain.Controls.Add(Me.cbxAllowFoto)
+ Me.pnlMain.Controls.Add(Me.btn)
+ Me.pnlMain.Controls.Add(Me.txtMotto)
+ Me.pnlMain.Controls.Add(Me.cbxMotto)
+ Me.pnlMain.Controls.Add(Me.cbxGeburtsdatumOhneJahr)
+ Me.pnlMain.Controls.Add(Me.txtHandynummer)
+ Me.pnlMain.Controls.Add(Me.txtSpitzname)
+ Me.pnlMain.Controls.Add(Me.lblGeburtstag)
+ Me.pnlMain.Controls.Add(Me.cbxHandynummer)
+ Me.pnlMain.Controls.Add(Me.cbxSpitzname)
+ Me.pnlMain.Controls.Add(Me.cbxGeburtsdatum)
+ Me.pnlMain.Controls.Add(Me.cbxWohnort)
+ Me.pnlMain.Controls.Add(Me.lblWohnadresse)
+ Me.pnlMain.Controls.Add(Me.lblName)
+ Me.pnlMain.Controls.Add(Me.pic)
+ Me.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.pnlMain.Location = New System.Drawing.Point(0, 29)
+ Me.pnlMain.Name = "pnlMain"
+ Me.pnlMain.Size = New System.Drawing.Size(703, 335)
+ Me.pnlMain.TabIndex = 1
+ '
+ 'btn
+ '
+ Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.btn.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
+ Me.btn.Location = New System.Drawing.Point(357, 261)
+ Me.btn.Name = "btn"
+ Me.btn.Size = New System.Drawing.Size(333, 51)
+ Me.btn.TabIndex = 32
+ Me.btn.Text = "Speichern"
+ Me.btn.UseVisualStyleBackColor = True
+ '
+ 'txtMotto
+ '
+ Me.txtMotto.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
+ Me.txtMotto.Location = New System.Drawing.Point(357, 210)
+ Me.txtMotto.Name = "txtMotto"
+ Me.txtMotto.Size = New System.Drawing.Size(333, 29)
+ Me.txtMotto.TabIndex = 31
+ '
+ 'cbxMotto
+ '
+ Me.cbxMotto.AutoSize = True
+ Me.cbxMotto.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
+ Me.cbxMotto.Location = New System.Drawing.Point(186, 212)
+ Me.cbxMotto.Name = "cbxMotto"
+ Me.cbxMotto.Size = New System.Drawing.Size(75, 28)
+ Me.cbxMotto.TabIndex = 30
+ Me.cbxMotto.Text = "Motto"
+ Me.cbxMotto.UseVisualStyleBackColor = True
+ '
+ 'cbxGeburtsdatumOhneJahr
+ '
+ Me.cbxGeburtsdatumOhneJahr.AutoSize = True
+ Me.cbxGeburtsdatumOhneJahr.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
+ Me.cbxGeburtsdatumOhneJahr.Location = New System.Drawing.Point(489, 110)
+ Me.cbxGeburtsdatumOhneJahr.Name = "cbxGeburtsdatumOhneJahr"
+ Me.cbxGeburtsdatumOhneJahr.Size = New System.Drawing.Size(114, 28)
+ Me.cbxGeburtsdatumOhneJahr.TabIndex = 29
+ Me.cbxGeburtsdatumOhneJahr.Text = "ohne Jahr"
+ Me.cbxGeburtsdatumOhneJahr.UseVisualStyleBackColor = True
+ '
+ 'txtHandynummer
+ '
+ Me.txtHandynummer.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
+ Me.txtHandynummer.Location = New System.Drawing.Point(357, 176)
+ Me.txtHandynummer.Name = "txtHandynummer"
+ Me.txtHandynummer.Size = New System.Drawing.Size(333, 29)
+ Me.txtHandynummer.TabIndex = 28
+ '
+ 'txtSpitzname
+ '
+ Me.txtSpitzname.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
+ Me.txtSpitzname.Location = New System.Drawing.Point(357, 142)
+ Me.txtSpitzname.Name = "txtSpitzname"
+ Me.txtSpitzname.Size = New System.Drawing.Size(333, 29)
+ Me.txtSpitzname.TabIndex = 27
+ '
+ 'lblGeburtstag
+ '
+ Me.lblGeburtstag.AutoSize = True
+ Me.lblGeburtstag.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Bold)
+ Me.lblGeburtstag.Location = New System.Drawing.Point(353, 111)
+ Me.lblGeburtstag.Name = "lblGeburtstag"
+ Me.lblGeburtstag.Size = New System.Drawing.Size(110, 24)
+ Me.lblGeburtstag.TabIndex = 12
+ Me.lblGeburtstag.Text = "01.01.2020"
+ Me.lblGeburtstag.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
+ '
+ 'cbxHandynummer
+ '
+ Me.cbxHandynummer.AutoSize = True
+ Me.cbxHandynummer.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
+ Me.cbxHandynummer.Location = New System.Drawing.Point(186, 178)
+ Me.cbxHandynummer.Name = "cbxHandynummer"
+ Me.cbxHandynummer.Size = New System.Drawing.Size(155, 28)
+ Me.cbxHandynummer.TabIndex = 26
+ Me.cbxHandynummer.Text = "Handynummer"
+ Me.cbxHandynummer.UseVisualStyleBackColor = True
+ '
+ 'cbxSpitzname
+ '
+ Me.cbxSpitzname.AutoSize = True
+ Me.cbxSpitzname.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
+ Me.cbxSpitzname.Location = New System.Drawing.Point(186, 144)
+ Me.cbxSpitzname.Name = "cbxSpitzname"
+ Me.cbxSpitzname.Size = New System.Drawing.Size(117, 28)
+ Me.cbxSpitzname.TabIndex = 25
+ Me.cbxSpitzname.Text = "Spitzname"
+ Me.cbxSpitzname.UseVisualStyleBackColor = True
+ '
+ 'cbxGeburtsdatum
+ '
+ Me.cbxGeburtsdatum.AutoSize = True
+ Me.cbxGeburtsdatum.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
+ Me.cbxGeburtsdatum.Location = New System.Drawing.Point(186, 110)
+ Me.cbxGeburtsdatum.Name = "cbxGeburtsdatum"
+ Me.cbxGeburtsdatum.Size = New System.Drawing.Size(147, 28)
+ Me.cbxGeburtsdatum.TabIndex = 24
+ Me.cbxGeburtsdatum.Text = "Geburtsdatum"
+ Me.cbxGeburtsdatum.UseVisualStyleBackColor = True
+ '
+ 'cbxWohnort
+ '
+ Me.cbxWohnort.AutoSize = True
+ Me.cbxWohnort.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
+ Me.cbxWohnort.Location = New System.Drawing.Point(186, 76)
+ Me.cbxWohnort.Name = "cbxWohnort"
+ Me.cbxWohnort.Size = New System.Drawing.Size(101, 28)
+ Me.cbxWohnort.TabIndex = 23
+ Me.cbxWohnort.Text = "Wohnort"
+ Me.cbxWohnort.UseVisualStyleBackColor = True
+ '
+ 'lblWohnadresse
+ '
+ Me.lblWohnadresse.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Bold)
+ Me.lblWohnadresse.Location = New System.Drawing.Point(353, 76)
+ Me.lblWohnadresse.Name = "lblWohnadresse"
+ Me.lblWohnadresse.Size = New System.Drawing.Size(341, 28)
+ Me.lblWohnadresse.TabIndex = 11
+ Me.lblWohnadresse.Text = "A 4975 Suben"
+ '
+ 'lblName
+ '
+ Me.lblName.BackColor = System.Drawing.Color.Transparent
+ Me.lblName.Font = New System.Drawing.Font("Microsoft Sans Serif", 30.0!)
+ Me.lblName.Location = New System.Drawing.Point(178, 6)
+ Me.lblName.Name = "lblName"
+ Me.lblName.Size = New System.Drawing.Size(452, 52)
+ Me.lblName.TabIndex = 1
+ Me.lblName.Text = "Max Mustermann"
+ Me.lblName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'pic
+ '
+ Me.pic.BackgroundImage = Global.VERAG_PROG_ALLGEMEIN.My.Resources.Resources.personGray_m
+ Me.pic.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.pic.Cursor = System.Windows.Forms.Cursors.Hand
+ Me.pic.Location = New System.Drawing.Point(7, 3)
+ Me.pic.Name = "pic"
+ Me.pic.Size = New System.Drawing.Size(165, 178)
+ Me.pic.TabIndex = 0
+ Me.pic.TabStop = False
+ '
+ 'cbxAllowFoto
+ '
+ Me.cbxAllowFoto.AutoSize = True
+ Me.cbxAllowFoto.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!)
+ Me.cbxAllowFoto.Location = New System.Drawing.Point(7, 187)
+ Me.cbxAllowFoto.Name = "cbxAllowFoto"
+ Me.cbxAllowFoto.Size = New System.Drawing.Size(150, 28)
+ Me.cbxAllowFoto.TabIndex = 33
+ Me.cbxAllowFoto.Text = "Foto anzeigen"
+ Me.cbxAllowFoto.UseVisualStyleBackColor = True
+ '
+ 'frmMitarbeitersucheBearbeiten
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.BackColor = System.Drawing.Color.White
+ Me.ClientSize = New System.Drawing.Size(703, 364)
+ Me.Controls.Add(Me.pnlMain)
+ Me.Controls.Add(Me.pnlSrch)
+ Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
+ Me.Name = "frmMitarbeitersucheBearbeiten"
+ Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+ Me.Text = "frmMitarbeitersuche"
+ Me.pnlSrch.ResumeLayout(False)
+ Me.pnlMain.ResumeLayout(False)
+ Me.pnlMain.PerformLayout()
+ CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+
+ End Sub
+
+ Friend WithEvents pnlSrch As Windows.Forms.Panel
+ Friend WithEvents pnlMain As Windows.Forms.Panel
+ Friend WithEvents lblName As Windows.Forms.Label
+ Friend WithEvents pic As Windows.Forms.PictureBox
+ Friend WithEvents lblGeburtstag As Windows.Forms.Label
+ Friend WithEvents lblWohnadresse As Windows.Forms.Label
+ Friend WithEvents btnClose As Windows.Forms.Button
+ Friend WithEvents btn As Windows.Forms.Button
+ Friend WithEvents txtMotto As Windows.Forms.TextBox
+ Friend WithEvents cbxMotto As Windows.Forms.CheckBox
+ Friend WithEvents cbxGeburtsdatumOhneJahr As Windows.Forms.CheckBox
+ Friend WithEvents txtHandynummer As Windows.Forms.TextBox
+ Friend WithEvents txtSpitzname As Windows.Forms.TextBox
+ Friend WithEvents cbxHandynummer As Windows.Forms.CheckBox
+ Friend WithEvents cbxSpitzname As Windows.Forms.CheckBox
+ Friend WithEvents cbxGeburtsdatum As Windows.Forms.CheckBox
+ Friend WithEvents cbxWohnort As Windows.Forms.CheckBox
+ Friend WithEvents cbxAllowFoto As Windows.Forms.CheckBox
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.resx b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.resx
new file mode 100644
index 0000000..d584bd9
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.resx
@@ -0,0 +1,980 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA
+ AACRbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEd4Sx5mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB4Sx5/VClmMwBuPg5r
+ OglrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOgluPg5mMwB/VCl0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0RhhzRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh18UCRmMwBqOQdnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFqOQdmMwB8UCR9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwDm4N3/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////////////
+ //////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwB0SSb39fT/
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+YfWtmMwBmMwBm
+ MwBmMwB0SSbu6+n////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5zUy8X////////////////L
+ v7itmo1mMwBmMwCYfWv///////90SSZmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwB0SSb////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDu6+n///////////////////////////////////////////////////////////+j
+ jH1mMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwC3p5z/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwCYfWv////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCt
+ mo3////////////////////////////////////m4N2Mbli3p5z///////+jjH1mMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwCMblj///////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////
+ ///////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDU
+ y8X///////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////////////////////////////////39fTm
+ 4N3///////+3p5xmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwC3
+ p5z////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCjjH3////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXUL///////////////////90
+ SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////U
+ y8WAXUJmMwBmMwC3p5z39fT////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDBs6r////////////////u6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////m4N1mMwBmMwBmMwBm
+ MwBmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ///////////////////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT////////////////Lv7hmMwBmMwBmMwBmMwBmMwCAXULu6+n////////////////39fRm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwDm4N3/////////////
+ //+jjH3////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD3
+ 9fT///////////////90SSZmMwBmMwBmMwBmMwDm4N3///////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDu6+n/////////////////////////////////////////////////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwCjjH3///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwCMblj///////////////////90SSZmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwD39fT///////////////9mMwDLv7j///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDm4N3////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwCAXUL/////////
+ ///////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ //////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+jjH1mMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCMblj////////////////m4N1mMwCAXUL39fT/
+ ///////39fSAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDUy8X////////////u6+lmMwBmMwBmMwBmMwCMblj///////////////////90SSZmMwBm
+ MwBmMwBmMwBmMwBmMwC3p5z///////////////////9mMwBmMwBmMwB0SSb/////////////////////
+ //////////////+3p5xmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwCjjH3/
+ ///////////////Uy8VmMwBmMwC3p5z////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////////////////////m4N1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCjjH3////////////////////////////////////////////////////////////d
+ 1tGMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo1mMwBmMwBmMwCt
+ mo3////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z///////////////////90SSZm
+ MwBmMwBmMwDm4N3////////////////////////////////Uy8VmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwC3p5z///////////////+3p5xmMwBmMwB0SSb39fT///////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////
+ //////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////
+ //////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3
+ p5z////////////39fR0SSZmMwBmMwDBs6r////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCjjH3///////////////////+jjH1mMwBmMwBmMwDBs6r////////////////////////////////3
+ 9fRmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwDUy8X///////////////+t
+ mo1mMwBmMwBmMwCtmo3////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDu6+n///////////////90SSZmMwBmMwBmMwBmMwBmMwCjjH3m4N3////////////////39fR0SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////+3p5xmMwBmMwDUy8X/////////////
+ //+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwDu6+n///////////////+MblhmMwBmMwBmMwBmMwDu6+n///////////+tmo1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////+YfWtmMwBmMwBmMwBmMwBmMwBm
+ MwB0SSbu6+n///////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ ///39fSAXUJmMwD39fT///////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////Uy8W3p5y3p5yYfWtmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwB0SSb///////////////////90SSZmMwBmMwBmMwBm
+ MwCtmo3////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////m4N1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ //////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j////////////////Bs6pmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X////////////Lv7h0SSb///////////////////90SSZmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwDu
+ 6+n///////////////+jjH1mMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwCYfWv/////
+ ///////////u6+lmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ //////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+tmo3/
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////
+ //+YfWtmMwBmMwBmMwBmMwBmMwCtmo3////////////////u6+lmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwC3p5z////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////
+ //////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////////+MblhmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////u6+lmMwBm
+ MwBmMwBmMwBmMwCAXULLv7j///////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH///////////////////+3p5x0SSZmMwBmMwC3p5z///////////////////+t
+ mo1mMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwDLv7j////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/
+ //////////////////////////////////////////////////////////90SSZmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////////////////////////////////////////////Bs6pmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////+3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////
+ ///////////////////////////Lv7hmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwDm4N3///////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL///////////////+Y
+ fWtmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////
+ ///////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCj
+ jH3///////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCtmo339fT///////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAF0SSb///////////////////+MblhmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////
+ ///////////////////////////////////////m4N23p5yMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////9mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH23p5z39fT////////////////Uy8W3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9
+ USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ9USZmMwBrOQhnNAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNAFrOQhmMwB9USZ8UCRmMwBqOQdn
+ NAFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBnNAFqOQdmMwB8UCR3Sh1mMwBnNQJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBnNQJmMwB3Sh1zRBVmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBz
+ RBV0RhhmMwBmMwBnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFnNAFn
+ NAFnNAFnNAFnNAFnNAFnNAFmMwBmMwB0Rhh/VClmMwBuPg5rOglrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhr
+ OQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOQhrOgluPg5mMwB/VCl4Sx5mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwB4Sx6RbEd5TB+CWC59USZ8USV9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ9
+ USZ9USZ9USZ9USZ9USZ9USZ9USZ9USZ8USV9USaCWC55TB+RbEf/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////Bs6rBs6qYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6rBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////Uy8WYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvUy8X////////////////////////////////////////B
+ s6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3Bs6rBs6r39fT/////////////////////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////d1tGMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvm4N3/
+ ///////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljLv7j/////////////////
+ ///////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X////////////////////////////d1tFmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCMbljm4N3////////////////////////////////////////////m4N1mMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////////////
+ //////////////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////
+ ///////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ ///////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////
+ ///////////////////////////////////////////////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwCtmo3///////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCA
+ XUL/////////////////////////////////////////////////////////////////////////////
+ ///////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////
+ //+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////////////////////
+ //////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDBs6r///////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ ///////////////////////////////////////////////////////////////////////////d1tFm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6rd1tH////////39fTBs6qAXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb////////////////////Lv7hmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////////Uy8VmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/
+ //////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd
+ 1tH////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////
+ ///////Uy8XBs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////
+ ///////////////////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCtmo3///////////////////////////////////////+AXUJmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwC3p5z////////////////////////////////d1tGMblhmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////9mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL39fT/////////////////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////
+ //////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT/////////////
+ //////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r////////////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCYfWv///////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0
+ SSb///////////////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDBs6r///////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDUy8X/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///u6+nBs6rBs6rBs6qYfWtmMwBmMwBmMwDu6+n/////////////////////////////////////////
+ ///Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv///////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n////////////////////////////////////////u
+ 6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCY
+ fWv////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+m3p5xmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////m4N1mMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwDBs6r////////////////////////////////////////////d1tFmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r////////////////////u6+lmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////Uy8XB
+ s6p0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////
+ //////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3/////////////////////////
+ //////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////
+ //////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////m4N3Bs6qMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDUy8X///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCMblj///////////////////////////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb///////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwDm4N3/////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////Bs6qAXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb39fT///////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////////////////////
+ ///////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT///////////////////+t
+ mo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ///////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDm4N3////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCAXUL39fT////////////////////////////Uy8VmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDUy8X///////////////////////////////////////////////90SSZm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////Uy8VmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbm4N3/////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////
+ //////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////
+ ///////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ bljm4N3///////////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCjjH3///////////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwD39fT/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r///////////////////////////////////////////////+M
+ blhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMblj/////////////////////////////////////
+ //////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////
+ //+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWvBs6r/////////////////////////
+ //////////////////////////////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////
+ //////////////////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDd1tH///////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDL
+ v7j/////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////+Mblhm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6r/////
+ ///////////////////////////////////////////////////////////////Bs6pmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3///////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH////////////////////////Bs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////9mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwCtmo3Bs6r39fT/////////////////////////////////////////////////////////////////
+ ///////////////Uy8VmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDUy8X/////////////////
+ ///////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n/////
+ ///////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbLv7j/////////////////////////////////////////////////
+ ///////////////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwC3p5z////////////////////////////////////////Uy8VmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwB0SSb////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwCAXUL/////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////////////
+ //////+tmo1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCjjH3/////////////////////////
+ //////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwC3p5z////////////////////////////////////39fRmMwBmMwB0SSbBs6rBs6r39fT/////////
+ //////////////////////////////////+MblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/
+ ///////////////////////////////////u6+lmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDBs6r///////////////////////////////+YfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwDm4N3/////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////39fRmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z////////////////////////////////////Bs6pm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwCtmo3Bs6rBs6r///////////////////////////+3p5xmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD39fT////////////////////////////39fSMblhmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDu6+n///////////////////////////////+3p5xmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXUL/////////
+ ///////////////////////u6+l0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////
+ ///////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDm4N3/////////////
+ ///////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////
+ ///////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3////////////////////////u6+mAXUJmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDLv7j////////////////Uy8W3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwDd1tH////////////////////////////////////d1tFmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////Lv7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCMbljBs6r////////d1tG3
+ p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////
+ ///39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////
+ ///////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSb/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////39fR0SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCM
+ blj///////////////////////////////////90SSZmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbu6+n/
+ //////////////////////////////////////////+AXUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwD39fT/////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////////////L
+ v7hmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH///////////////////////////////////+YfWtmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwDLv7j///////////////////////////////////////////////+jjH1m
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDd1tH/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+jjH1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////
+ //////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////////////////////////
+ //////////////////////////+3p5xmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDBs6r/////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////39fSAXUJmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwCYfWv////////////////////////////////////////////Bs6pmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDB
+ s6r////////////////////////////////////////////////////////Lv7hmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwC3p5z/////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////u6+mMblhmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////////////////////////
+ ///////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwB0SSbUy8X/////////////////////////////////////////////////
+ ///////////m4N1mMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCYfWv/////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////+jjH1mMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwDLv7j/////////////
+ ///////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwB0SSbBs6r/////////////////////////
+ ///////////////////////////////////////////39fRmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwB0SSb/////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////d1tGYfWtmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBm
+ MwBmMwDBs6r39fT///////////////////////////////////////////////////////////+AXUJm
+ MwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwCAXULBs6rBs6rm4N3/
+ //////////////////////////////////////////////////////////////////////////////+A
+ XUJmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwBmMwD/////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////39fTBs6rBs6pmMwBmMwBm
+ MwBmMwBmMwBmMwBmMwBmMwCjjH3Bs6rUy8X/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.vb b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.vb
new file mode 100644
index 0000000..7007004
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmMitarbeitersucheBearbeiten.vb
@@ -0,0 +1,162 @@
+Imports System.ComponentModel
+Imports System.Drawing
+
+Public Class frmMitarbeitersucheBearbeiten
+ Dim MA As cMitarbeiter = Nothing
+
+
+ Sub New(mit_id)
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+ MA = New cMitarbeiter(mit_id)
+ End Sub
+
+
+
+ Private Sub frmMitarbeitersuche_Load(sender As Object, e As EventArgs) Handles Me.Load
+ If MA Is Nothing Then Me.Close()
+ initMA()
+ End Sub
+
+
+
+ Sub initMA()
+ If MA Is Nothing OrElse MA.mit_id <= 0 Then MsgBox("Fehler Benutzer!") : Exit Sub
+
+ lblName.Text = If(MA.mit_vname, "") & " " & If(MA.mit_nname, "")
+
+ cbxSpitzname.Checked = Not (MA.mit_MAVerzeichnis_Spitzname Is Nothing)
+ cbxMotto.Checked = Not (MA.mit_MAVerzeichnis_Motto Is Nothing)
+ cbxHandynummer.Checked = MA.mit_MAVerzeichnis_allowHandynummer
+ cbxGeburtsdatumOhneJahr.Checked = MA.mit_MAVerzeichnis_allowGebDatOhneJahr
+ cbxGeburtsdatum.Checked = MA.mit_MAVerzeichnis_allowGebDat
+ cbxWohnort.Checked = MA.mit_MAVerzeichnis_allowWohnadresse
+ cbxAllowFoto.Checked = MA.mit_MAVerzeichnis_allowFoto
+
+
+
+ txtSpitzname.Text = If(MA.mit_MAVerzeichnis_Spitzname, "")
+ txtHandynummer.Text = If(MA.mit_mobiltel, "")
+ txtMotto.Text = If(MA.mit_MAVerzeichnis_Motto, "")
+
+ lblWohnadresse.Text = (If(MA.mit_land, "") & " " & If(MA.mit_plz, "") & " " & If(MA.mit_ort, "")).Trim
+ lblGeburtstag.Text = If(MA.mit_gebdat, "")
+
+ pic.BackgroundImage = My.Resources.personGray_m
+
+ If MA.mit_foto_DocId IsNot Nothing Then
+ Try
+ pic.BackgroundImage = Image.FromFile(cDATENSERVER.GET_PDFPath_BY_DocID(MA.mit_foto_DocId))
+ Catch ex As Exception
+ pic.BackgroundImage = My.Resources.personGray_m
+ End Try
+ ElseIf MA.mit_geschlecht = "w" Then
+ pic.BackgroundImage = My.Resources.personGray_w
+ Else
+ pic.BackgroundImage = My.Resources.personGray_m
+ End If
+
+ End Sub
+
+ Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click
+ Me.Close()
+ End Sub
+
+ Private Sub cbxSpitzname_CheckedChanged(sender As Object, e As EventArgs) Handles cbxSpitzname.CheckedChanged
+ txtSpitzname.Enabled = sender.Checked
+ If Not sender.Checked Then txtSpitzname.Text = ""
+ End Sub
+
+ Private Sub cbxHandynummer_CheckedChanged(sender As Object, e As EventArgs) Handles cbxHandynummer.CheckedChanged
+ txtHandynummer.Enabled = sender.Checked
+ End Sub
+
+ Private Sub cbxMotto_CheckedChanged(sender As Object, e As EventArgs) Handles cbxMotto.CheckedChanged
+ txtMotto.Enabled = sender.Checked
+ If Not sender.Checked Then txtMotto.Text = ""
+ End Sub
+
+ Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
+
+ If cbxSpitzname.Checked Then
+ MA.mit_MAVerzeichnis_Spitzname = txtSpitzname.Text
+ Else
+ MA.mit_MAVerzeichnis_Spitzname = Nothing
+ End If
+
+ If cbxHandynummer.Checked Then
+ MA.mit_mobiltel = txtHandynummer.Text
+ Else
+ MA.mit_mobiltel = ""
+ End If
+ If cbxMotto.Checked Then
+ MA.mit_MAVerzeichnis_Motto = txtMotto.Text
+ Else
+ MA.mit_MAVerzeichnis_Motto = Nothing
+ End If
+
+ MA.mit_MAVerzeichnis_allowGebDat = cbxGeburtsdatum.Checked
+ MA.mit_MAVerzeichnis_allowGebDatOhneJahr = cbxGeburtsdatumOhneJahr.Checked
+ MA.mit_MAVerzeichnis_allowWohnadresse = cbxWohnort.Checked
+ MA.mit_MAVerzeichnis_allowHandynummer = cbxHandynummer.Checked
+ MA.mit_MAVerzeichnis_allowFoto = cbxAllowFoto.Checked
+
+ If MA.mit_id = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
+ MA.mit_MAVerzeichnis_SettingsTstmp = Now
+ End If
+
+ If MA.mit_id <= 0 Then MsgBox("Fehler ID!") : Exit Sub
+
+ If MA.SAVE Then
+ Me.DialogResult = Windows.Forms.DialogResult.OK
+ Me.Close()
+ End If
+ End Sub
+
+ Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click
+ Dim fd As Windows.Forms.OpenFileDialog = New Windows.Forms.OpenFileDialog()
+
+ fd.Title = "Bild auswählen"
+ ' fd.InitialDirectory = "F:\PROGRAMME\ADMIN_DATA\Fotos_Mitarbeiter\"
+ fd.Filter = "Image Files(*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG"
+ fd.FilterIndex = 2
+ fd.RestoreDirectory = True
+
+ If fd.ShowDialog() = DialogResult.OK AndAlso fd.FileName <> "" Then
+
+ Dim Extension = New IO.FileInfo(fd.FileName).Extension
+ Dim docId = -1
+ If saveToDS(Extension, fd.FileName, docId) Then
+
+ MA.mit_foto_DocId = docId
+ Try
+ pic.BackgroundImage = Image.FromFile(cDATENSERVER.GET_PDFPath_BY_DocID(MA.mit_foto_DocId))
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End If
+ End If
+ End Sub
+
+ Public Function saveToDS(Extension, sourcePath, Optional ByRef da_id = -1) As Boolean
+
+ Dim DS As VERAG_PROG_ALLGEMEIN.cDATENSERVER = Nothing
+ If da_id > 0 Then
+ DS = New cDATENSERVER(da_id)
+ Else
+ DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MITARBEITER", "PERSONAL_FOTOS", "", "", MA.mit_nname & "_" & MA.mit_id & Extension, -1, False)
+ End If
+
+ ' Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MITARBEITER", "PERSONAL_FOTOS", "", "", MA.mit_nname & "_" & MA.mit_id, -1, False)
+ ' MsgBox(DS.da_id)
+ If Not DS.uploadDataToDATENSERVER(sourcePath,,, False,, False) Then MsgBox("Fehler beim Speichern: Datenserver!") : Return False
+ If DS.da_id <= 0 Then MsgBox("Keine DocId!") : Return False
+ da_id = DS.da_id
+ ' destPath = DS.GET_TOP1_PATH
+ Return True
+ End Function
+
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.Designer.vb
new file mode 100644
index 0000000..8ab460b
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.Designer.vb
@@ -0,0 +1,13 @@
+'------------------------------------------------------------------------------
+'
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
+'
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.myapp b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.myapp
new file mode 100644
index 0000000..e62f1a5
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Application.myapp
@@ -0,0 +1,10 @@
+
+
+ false
+ false
+ 0
+ true
+ 0
+ 2
+ true
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/AssemblyInfo.vb b/SDL/VERAG_PROG_ALLGEMEIN/My Project/AssemblyInfo.vb
new file mode 100644
index 0000000..210db16
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/AssemblyInfo.vb
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' Allgemeine Informationen über eine Assembly werden über die folgenden
+' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+' die mit einer Assembly verknüpft sind.
+
+' Die Werte der Assemblyattribute überprüfen
+
+
+
+
+
+
+
+
+
+
+'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
+
+
+' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+'
+' Hauptversion
+' Nebenversion
+' Buildnummer
+' Revision
+'
+' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
+' übernehmen, indem Sie "*" eingeben:
+'
+
+
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.Designer.vb
new file mode 100644
index 0000000..b8d5d94
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.Designer.vb
@@ -0,0 +1,563 @@
+'------------------------------------------------------------------------------
+'
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
+'
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+Imports System
+
+Namespace My.Resources
+
+ 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
+ '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
+ 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
+ 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
+ '''
+ ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
+ '''
+ _
+ Friend Module Resources
+
+ Private resourceMan As Global.System.Resources.ResourceManager
+
+ Private resourceCulture As Global.System.Globalization.CultureInfo
+
+ '''
+ ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
+ '''
+ _
+ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
+ Get
+ If Object.ReferenceEquals(resourceMan, Nothing) Then
+ Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("VERAG_PROG_ALLGEMEIN.Resources", GetType(Resources).Assembly)
+ resourceMan = temp
+ End If
+ Return resourceMan
+ End Get
+ End Property
+
+ '''
+ ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
+ ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
+ '''
+ _
+ Friend Property Culture() As Global.System.Globalization.CultureInfo
+ Get
+ Return resourceCulture
+ End Get
+ Set
+ resourceCulture = value
+ End Set
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property ambar_simple() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("ambar_simple", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property android_note1() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("android-note1", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property Atilla() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("Atilla", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol).
+ '''
+ Friend ReadOnly Property Aviso() As System.Drawing.Icon
+ Get
+ Dim obj As Object = ResourceManager.GetObject("Aviso", resourceCulture)
+ Return CType(obj,System.Drawing.Icon)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property cake() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("cake", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property del() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("del", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property docAllgemein() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("docAllgemein", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property easteregg() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("easteregg", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property fremdSped() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("fremdSped", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property FrontOfficeSUB_Horizontal() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("FrontOfficeSUB_Horizontal", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property house() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("house", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property house1() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("house1", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property IMEX_LOGO_simple() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("IMEX-LOGO_simple", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property männlich() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("männlich", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property ok() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("ok", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property pdf() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("pdf", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property pdf_gray() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("pdf_gray", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property people() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("people", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property person() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("person", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property personGray_m() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("personGray_m", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property personGray_w() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("personGray_w", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property pfeil_links() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("pfeil_links", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property pfeil_oben() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("pfeil_oben", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property pfeil_rechts() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("pfeil_rechts", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property pfeil_unten() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("pfeil_unten", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property picboxNext_Enter() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("picboxNext_Enter", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property picboxPrevious_Enter() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("picboxPrevious_Enter", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property picboxRotateLeft_Enter() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("picboxRotateLeft_Enter", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property picboxRotateRight_Enter() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("picboxRotateRight_Enter", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property picboxZoomIn_Enter() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("picboxZoomIn_Enter", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property picboxZoomOut_Enter() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("picboxZoomOut_Enter", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property plus() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("plus", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property scanner() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("scanner", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property scanner1() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("scanner1", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property seal() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("seal", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property seal2() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("seal2", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property seal3() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("seal3", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property search() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("search", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property sicherheit() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("sicherheit", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property sicherheit1() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("sicherheit1", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property stift() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("stift", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property today() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("today", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property uhr_green() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("uhr_green", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property uhr_notime() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("uhr_notime", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property uhr_red() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("uhr_red", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property Unisped_logo() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("Unisped_logo", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property Verag_AG_Logopng() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("Verag-AG-Logopng", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property Verag_Customs_Service_GMBH_Logo() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("Verag_Customs_Service_GMBH_Logo", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property Verag_Spedition_GMBH_Logo() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("Verag_Spedition_GMBH_Logo", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property weiblich() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("weiblich", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.resx b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.resx
new file mode 100644
index 0000000..65d41c3
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Resources.resx
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ ..\Resources\scanner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\seal.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\pfeil_oben.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\sicherheit1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\pfeil_links.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\seal2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\docAllgemein.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\picboxZoomOut_Enter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\picboxPrevious_Enter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\seal3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\aviso.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\people.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\del.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\ok.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\picboxRotateRight_Enter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\fremdSped.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\house1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\pdf_gray.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\picboxNext_Enter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\picboxRotateLeft_Enter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\picboxZoomIn_Enter.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\sicherheit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\uhr_green.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\android-note1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\pfeil_rechts.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\stift.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\search.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\easteregg.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\uhr_notime.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\pdf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\scanner1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\cake.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\uhr_red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\house.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\today.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\pfeil_unten.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\Verag-AG-Logopng.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\personGray_m.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\personGray_w.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\männlich.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\weiblich.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\person.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\ambar_simple.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\Atilla.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\Logo_blue_globe_Horizontal.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\IMEX-LOGO_simple.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\Unisped_logo.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\Verag-Customs-Service-GMBH-Logo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\Verag-Spedition-GMBH-Logo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.Designer.vb
new file mode 100644
index 0000000..5434652
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.Designer.vb
@@ -0,0 +1,323 @@
+'------------------------------------------------------------------------------
+'
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
+'
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ _
+ Partial Public NotInheritable Class MySettings
+ Inherits Global.System.Configuration.ApplicationSettingsBase
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
+
+#Region "Automatische My.Settings-Speicherfunktion"
+#If _MyType = "WindowsForms" Then
+ Private Shared addedHandler As Boolean
+
+ Private Shared addedHandlerLockObject As New Object
+
+ _
+ Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
+#End If
+#End Region
+
+ Public Shared ReadOnly Property [Default]() As MySettings
+ Get
+
+#If _MyType = "WindowsForms" Then
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
+#End If
+ Return defaultInstance
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property ATLASConnectionString() As String
+ Get
+ Return CType(Me("ATLASConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property FMZOLL_PRODConnectionString() As String
+ Get
+ Return CType(Me("FMZOLL_PRODConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property ADMINConnectionString() As String
+ Get
+ Return CType(Me("ADMINConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property SDL_PRODConnectionString() As String
+ Get
+ Return CType(Me("SDL_PRODConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property FMZOLLConnectionString() As String
+ Get
+ Return CType(Me("FMZOLLConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property AVISOConnectionString() As String
+ Get
+ Return CType(Me("AVISOConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property SDLConnectionString() As String
+ Get
+ Return CType(Me("SDLConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property EZOLLConnectionString() As String
+ Get
+ Return CType(Me("EZOLLConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property AVISOConnectionStringTEST() As String
+ Get
+ Return CType(Me("AVISOConnectionStringTEST"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property ATLAS_SBGConnectionString() As String
+ Get
+ Return CType(Me("ATLAS_SBGConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property UID_PRODConnectionString() As String
+ Get
+ Return CType(Me("UID_PRODConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property UIDConnectionString() As String
+ Get
+ Return CType(Me("UIDConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public Property SCANCANON_PRODConnectionString() As String
+ Get
+ Return CType(Me("SCANCANON_PRODConnectionString"),String)
+ End Get
+ Set
+ Me("SCANCANON_PRODConnectionString") = value
+ End Set
+ End Property
+
+ _
+ Public ReadOnly Property FDConnectionString() As String
+ Get
+ Return CType(Me("FDConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property FD_PRODConnectionString() As String
+ Get
+ Return CType(Me("FD_PRODConnectionString"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property VERAG_PROG_ALLGEMEIN_UIDPruefung_checkVatService() As String
+ Get
+ Return CType(Me("VERAG_PROG_ALLGEMEIN_UIDPruefung_checkVatService"),String)
+ End Get
+ End Property
+
+ _
+ Public Property DISPOConnectionString() As String
+ Get
+ Return CType(Me("DISPOConnectionString"),String)
+ End Get
+ Set
+ Me("DISPOConnectionString") = value
+ End Set
+ End Property
+
+ _
+ Public ReadOnly Property DISPOConnectionStringTEST() As String
+ Get
+ Return CType(Me("DISPOConnectionStringTEST"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_uidAbfrageService() As String
+ Get
+ Return CType(Me("VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_uidAbfrageService"),String)
+ End Get
+ End Property
+
+ _
+ Public ReadOnly Property VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_session_sessionService() As String
+ Get
+ Return CType(Me("VERAG_PROG_ALLGEMEIN_at_gv_bmf_finanzonline_session_sessionService"),String)
+ End Get
+ End Property
+
+ _
+ Public Property asdadasdasdasdasdasd() As String
+ Get
+ Return CType(Me("asdadasdasdasdasdasd"),String)
+ End Get
+ Set
+ Me("asdadasdasdasdasdasd") = value
+ End Set
+ End Property
+
+ _
+ Public ReadOnly Property AVISO_ATILLAConnectionString() As String
+ Get
+ Return CType(Me("AVISO_ATILLAConnectionString"),String)
+ End Get
+ End Property
+ End Class
+End Namespace
+
+Namespace My
+
+ _
+ Friend Module MySettingsProperty
+
+ _
+ Friend ReadOnly Property Settings() As Global.VERAG_PROG_ALLGEMEIN.My.MySettings
+ Get
+ Return Global.VERAG_PROG_ALLGEMEIN.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.settings b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.settings
new file mode 100644
index 0000000..6300f9f
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/Settings.settings
@@ -0,0 +1,136 @@
+
+
+
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=192.168.0.95\SQLATLAS;Initial Catalog=atlas;Integrated Security=false;User ID=sa;Password=BmWr501956;</ConnectionString>
+</SerializableConnectionString>
+ Data Source=192.168.0.95\SQLATLAS;Initial Catalog=atlas;Integrated Security=false;User ID=sa;Password=BmWr501956;
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</ConnectionString>
+</SerializableConnectionString>
+ Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=ADMIN;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</ConnectionString>
+</SerializableConnectionString>
+ Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=ADMIN;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=SDL;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</ConnectionString>
+</SerializableConnectionString>
+ Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=SDL;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=192.168.0.90\DEVSQL;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</ConnectionString>
+</SerializableConnectionString>
+ Data Source=192.168.0.90\DEVSQL;Initial Catalog=VERAG;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=AVISO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200</ConnectionString>
+</SerializableConnectionString>
+ Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=AVISO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=192.168.0.90\DEVSQL;Initial Catalog=SDL;Integrated Security=False;Persist Security Info=True;User ID=AppUser;Password=yp/THDd?xM+pZ$;TrustServerCertificate=False</ConnectionString>
+</SerializableConnectionString>
+ Data Source=192.168.0.90\DEVSQL;Initial Catalog=SDL;Integrated Security=False;Persist Security Info=True;User ID=AppUser;Password=yp/THDd?xM+pZ$;TrustServerCertificate=False
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=BUCHHALTUNG.verag.ost.dmn;Initial Catalog=ezoll;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;</ConnectionString>
+</SerializableConnectionString>
+ Data Source=BUCHHALTUNG.verag.ost.dmn;Initial Catalog=ezoll;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=192.168.0.90\DEVSQL;Initial Catalog=AVISO_new;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200</ConnectionString>
+</SerializableConnectionString>
+ Data Source=192.168.0.90\DEVSQL;Initial Catalog=AVISO_new;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=192.168.133.98;Initial Catalog=atlas;Integrated Security=false;User ID=sa;Password=BmWr501956;</ConnectionString>
+</SerializableConnectionString>
+ Data Source=192.168.133.98;Initial Catalog=atlas;Integrated Security=false;User ID=sa;Password=BmWr501956;
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=UID;Integrated Security=false;User ID=sa;Password=BmWr501956;</ConnectionString>
+</SerializableConnectionString>
+ Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=UID;Integrated Security=false;User ID=sa;Password=BmWr501956;
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=192.168.0.90\DEVSQL;Initial Catalog=UID;Persist Security Info=True;User ID=sa;Password=BmWr501956</ConnectionString>
+</SerializableConnectionString>
+ Data Source=192.168.0.90\DEVSQL;Initial Catalog=UID;Persist Security Info=True;User ID=sa;Password=BmWr501956
+
+
+ Data Source=192.168.0.99;Initial Catalog=Therefore;Integrated Security=false;User ID=sa;Password=BmWr501956;
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=FD;Integrated Security=false;User ID=sa;Password=BmWr501956;</ConnectionString>
+</SerializableConnectionString>
+ Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=FD;Integrated Security=false;User ID=sa;Password=BmWr501956;
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=192.168.0.90\DEVSQL;Initial Catalog=FD;Integrated Security=false;User ID=sa;Password=BmWr501956;</ConnectionString>
+</SerializableConnectionString>
+ Data Source=192.168.0.90\DEVSQL;Initial Catalog=FD;Integrated Security=false;User ID=sa;Password=BmWr501956;
+
+
+ http://ec.europa.eu/taxation_customs/vies/services/checkVatService
+
+
+ Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=DISPO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=192.168.0.90\DEVSQL;Initial Catalog=DISPO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200</ConnectionString>
+</SerializableConnectionString>
+ Data Source=192.168.0.90\DEVSQL;Initial Catalog=DISPO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200
+
+
+ https://finanzonline.bmf.gv.at/fon/ws/uidAbfrage/
+
+
+ https://finanzonline.bmf.gv.at:443/fonws/ws/session
+
+
+
+
+
+ <?xml version="1.0" encoding="utf-16"?>
+<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <ConnectionString>Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=AVISO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200</ConnectionString>
+</SerializableConnectionString>
+ Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=AVISO;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;Pooling=true;Min Pool Size=5;Max Pool Size=200
+
+
+
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/My Project/license.elic.xml b/SDL/VERAG_PROG_ALLGEMEIN/My Project/license.elic.xml
new file mode 100644
index 0000000..dac3c48
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/My Project/license.elic.xml
@@ -0,0 +1,24 @@
+
+
+ Runtime
+ VERAG Spedition AG
+ al@verag.ag
+ VERAG Spedition AG
+ 2020-08-12T00:00:00Z
+ 2021-08-12T00:00:00Z
+
+
+ Spire.PDF Platinum
+ 6.5
+
+ 1
+ 1
+
+
+
+
+ e-iceblue
+ sales@e-iceblue.com
+ http://www.e-iceblue.com
+
+
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/RKSV_DE/cServerClient_RKSV_DE.vb b/SDL/VERAG_PROG_ALLGEMEIN/RKSV_DE/cServerClient_RKSV_DE.vb
new file mode 100644
index 0000000..1a694b6
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/RKSV_DE/cServerClient_RKSV_DE.vb
@@ -0,0 +1,226 @@
+Imports System.Net, System.Net.Sockets
+Imports System.Text
+Imports System.Threading
+
+Public Class cServerClient_RKSV_DE
+ Dim clientSocket As Socket
+ Dim byteData(1023) As Byte
+ Dim doThis As String
+ Dim params() As String
+ Public status As String = "begin"
+ ' Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
+ ' begin()
+ ' End Sub
+
+ Public Event FunctionFinished(ByVal sender As Object, ByVal e As FunctionFinishedArgs_RKSV_DE)
+
+
+ Public Sub begin(ip, doThis_tmp, params)
+ doThis = doThis_tmp
+ Me.params = params
+ Dim timeOut As Integer = 60
+ Select Case doThis
+ Case "test" : timeOut = 5 ' nach 5 Sekunden wird abgebrochen
+ Case "RKSV_DE" : timeOut = 10 ' nach 10 Sekunden wird abgebrochen
+ End Select
+
+ 'Ein Thread kontrolliert, ob die Funktion nach einer gewissen Zeit noch läuft und beendet diese ggf.
+ Dim st As New Thread(AddressOf stopThread)
+ st.IsBackground = True
+ Dim param_obj(1) As Object
+ 'Übergabeparameter des 2. Threads
+ param_obj(0) = timeOut
+ st.Start(param_obj)
+
+
+ clientSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
+ Dim ipAddress As IPAddress = IPAddress.Parse(ip)
+
+ ' Dim ipAddress As IPAddress = ipAddress.Parse("192.168.0.90")
+ Dim ipEndPoint As IPEndPoint = New IPEndPoint(ipAddress, 8800)
+ clientSocket.BeginConnect(ipEndPoint, New AsyncCallback(AddressOf OnConnect), Nothing)
+ status = "beginConnect"
+ ' endconnect(clientSocket)
+
+
+ End Sub
+
+ Public Sub waitTillFinished()
+ While Not (status = "TaskError" Or status = "TaskSuccess")
+ 'wait
+ End While
+ 'Return True
+ End Sub
+
+ Private Sub OnConnect(ByVal ar As IAsyncResult)
+ Try
+ clientSocket.EndConnect(ar)
+ clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None,
+ New AsyncCallback(AddressOf OnRecieve), clientSocket)
+ Catch ex As Exception
+ ' MsgBox("Verbindung zum Server konnte nicht aufgebaut werden!")
+ End Try
+ End Sub
+
+ Private Sub OnSend(ByVal ar As IAsyncResult)
+ Dim client As Socket = ar.AsyncState
+ client.EndSend(ar)
+ End Sub
+ Private Sub Send(ByVal msg As String, ByVal client As Socket)
+ Dim sendBytes As Byte() = Encoding.BigEndianUnicode.GetBytes(msg)
+ client.BeginSend(sendBytes, 0, sendBytes.Length, SocketFlags.None, New AsyncCallback(AddressOf OnSend), client)
+ End Sub
+ Public Function ByteArrayToTextString(ByRef Barr() As Byte) As String
+ Dim enc As System.Text.Encoding = Encoding.BigEndianUnicode
+ Return enc.GetString(Barr)
+ End Function
+
+ Private Sub OnRecieve(ByVal ar As IAsyncResult)
+ Try
+ Dim client As Socket = ar.AsyncState
+ client.EndReceive(ar)
+ Dim bytesRec As Byte() = byteData
+ Dim message As String = Encoding.BigEndianUnicode.GetString(bytesRec)
+ ' MsgBox("FROM SERVER: " & message)
+ Dim b(1023) As Byte
+
+ ' MsgBox("SERVER RECIEVE: " & Encoding.BigEndianUnicode.GetString(b))
+
+ byteData = b
+ Read(message)
+ clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None,
+ New AsyncCallback(AddressOf OnRecieve), clientSocket)
+
+ Catch ex As Exception
+ ' MsgBox("Verbindung zum Server wurde unterbrochen!")
+ End Try
+ End Sub
+
+ Delegate Sub _Read(ByVal msg As String)
+ Private Sub Read(ByVal msg As String)
+ 'If frmMain.InvokeRequired Then
+ ' frmMain.Invoke(New _Read(AddressOf Read), msg)
+ ' Exit Sub
+ 'End If
+
+ 'frmMain.icoVERAGMonitoring.Visible = False
+
+ 'if richtige nsachricht
+ ' Dim asciis As Byte() = Encoding.BigEndianUnicode.GetBytes(msg)
+ ' Dim a As Char = msg(msg.Length - 1)
+ ' msg = msg.Replace(a, "")
+ ' MsgBox(msg.Length)
+
+ ' MsgBox(msg(msg.Length - 1))
+ ' MsgBox(msg(msg.Length - 1))
+ ' MsgBox(Asc(msg(msg.Length - 1)))
+ ' MsgBox(Asc(msg(msg.Length - 2)))
+ msg = msg.Replace(Convert.ToChar(0), "")
+ Try
+
+ MsgBox("-" & msg & "-" & vbNewLine & "ConSuccess" & "-" & doThis)
+ If msg = "ConSuccess" Then
+ status = "ConSuccess"
+ Select Case doThis
+ Case "test"
+ Send("test", clientSocket)
+ status = "sendTask"
+
+ Case "RKSV_DE"
+ MsgBox("RKSV_DE" & paramsToString())
+ Send("RKSV_DE" & paramsToString(), clientSocket)
+ status = "sendTask"
+ End Select
+
+ ' MsgBox("!!!!!ConSuccess --> initAufschubkonten")
+ ' Send("FSSAtlasStart", clientSocket)
+ 'Send("test", clientSocket)
+ 'Send("initAufschubkonten", clientSocket)
+
+ ElseIf msg = "Task successful" Then
+ status = "TaskSuccess"
+ clientSocket.Disconnect(False)
+ clientSocket.Shutdown(SocketShutdown.Both)
+ clientSocket.Close()
+ 'endconnect(clientSocket)'geht ned
+ ' MsgBox("Task erfolgreich!", vbSystemModal, doThis)
+ RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.OK, "Task erfolgreich!"))
+ ElseIf msg = "Task not found" Then
+ MsgBox("SERVERERROR: Der Dienst wurde nicht gefunden!", vbSystemModal, "FSSAtlas")
+ status = "TaskError"
+ RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "SERVERERROR: Der Dienst wurde nicht gefunden!"))
+ ElseIf msg = "Task inactive" Then
+ MsgBox("SERVERERROR: Der Dienste ist nicht aktiv!", vbSystemModal, "FSSAtlas")
+ status = "TaskError"
+ RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "SERVERERROR: Der Dienste ist nicht aktiv!"))
+ ElseIf msg = "Task timeout" Then
+ MsgBox("SERVERERROR: Der Dienst wurde wegen einer Zeitüberschreitung abgebrochen!", vbSystemModal, "FSSAtlas")
+ status = "TaskError"
+ RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "SERVERERROR: Der Dienst wurde wegen einer Zeitüberschreitung abgebrochen!"))
+ ElseIf msg = "Task error" Then
+ MsgBox("SERVERERROR: Server-Fehler!", vbSystemModal, "FSSAtlas")
+ status = "TaskError"
+ RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "SERVERERROR: Server-Fehler!"))
+ Else
+ MsgBox("SERVER_NACHRICHT NICHT VERSTANDEN: " & msg, vbSystemModal)
+ status = "TaskError"
+ RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "SERVER_NACHRICHT NICHT VERSTANDEN: " & msg))
+
+ clientSocket.Shutdown(SocketShutdown.Both)
+ clientSocket.Close()
+ End If
+
+ Catch ex As Exception
+ MsgBox("Verbindungs-Fehler beim Senden", vbSystemModal)
+ status = "TaskError"
+ RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "Verbindungs-Fehler beim Senden"))
+ clientSocket.Close()
+ End Try
+ ' byteData = Encoding.BigEndianUnicode.GetBytes("")
+
+ End Sub
+
+ Function paramsToString()
+ paramsToString = ""
+ If params IsNot Nothing Then
+ For Each p In params
+ paramsToString &= "|||" & p
+ Next
+ End If
+ End Function
+
+ Sub stopThread(param_obj As Object) 'Stoppt einen Hauptthread nach einer gewissen Anzahl von Sekunden; Übergabeparameter: Object { Tread, clientSocket, SekundenToTimeout }
+ Thread.Sleep(param_obj(0) * 1000) ' Hier wird soviele Senkunden gewartet, wie in den Übergabeparametern definiert wurde.
+ If status = "TaskError" Or status = "TaskSuccess" Then Exit Sub
+ status = "TaskError"
+ Try
+ clientSocket.Disconnect(False)
+ clientSocket.Shutdown(SocketShutdown.Both)
+ clientSocket.Close()
+ Catch ex As Exception
+ MsgBox(ex.Message)
+ End Try
+
+ RaiseEvent FunctionFinished(Me, New FunctionFinishedArgs_RKSV_DE(FunctionFinishedArgs_RKSV_DE.EventResult.ERR, "Task wurde aufgrund eines Timeouts vom Client abgebrochen."))
+ MsgBox("ERROR: Task wurde aufgrund eines Timeouts vom Client abgebrochen.") 'Log-Mittelung
+ End Sub
+
+
+End Class
+
+Public Class FunctionFinishedArgs_RKSV_DE
+ Inherits EventArgs
+ 'das was man später unter e sehen kann
+ Public Result As EventResult
+ 'hier - als Beispiel - einfach eine Enum
+ Public Enum EventResult
+ OK
+ ERR
+ End Enum
+ Public Message As String
+ 'Zum übergeben der Parameter
+ Public Sub New(ByVal r As EventResult, m As String)
+ Result = r
+ Message = m
+ End Sub
+End Class
\ No newline at end of file
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/Atilla.jpg b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Atilla.jpg
new file mode 100644
index 0000000..8e011c7
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Atilla.jpg differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/IMEX-LOGO_simple.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/IMEX-LOGO_simple.png
new file mode 100644
index 0000000..19411e8
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/IMEX-LOGO_simple.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/Logo_blue_globe_Horizontal.jpg b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Logo_blue_globe_Horizontal.jpg
new file mode 100644
index 0000000..c837375
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Logo_blue_globe_Horizontal.jpg differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/Unisped_logo.jpg b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Unisped_logo.jpg
new file mode 100644
index 0000000..b36b587
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Unisped_logo.jpg differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/Verag-AG-Logopng.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Verag-AG-Logopng.png
new file mode 100644
index 0000000..a87a0f0
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Verag-AG-Logopng.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/Verag-Customs-Service-GMBH-Logo.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Verag-Customs-Service-GMBH-Logo.png
new file mode 100644
index 0000000..f5c3702
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Verag-Customs-Service-GMBH-Logo.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/Verag-Spedition-GMBH-Logo.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Verag-Spedition-GMBH-Logo.png
new file mode 100644
index 0000000..9d440b8
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/Verag-Spedition-GMBH-Logo.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/ambar_simple.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/ambar_simple.png
new file mode 100644
index 0000000..12946ee
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/ambar_simple.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/android-note1.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/android-note1.png
new file mode 100644
index 0000000..13ef9fe
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/android-note1.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/aviso.ico b/SDL/VERAG_PROG_ALLGEMEIN/Resources/aviso.ico
new file mode 100644
index 0000000..a13f14d
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/aviso.ico differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/cake.jpg b/SDL/VERAG_PROG_ALLGEMEIN/Resources/cake.jpg
new file mode 100644
index 0000000..f9a2f5a
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/cake.jpg differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/del.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/del.png
new file mode 100644
index 0000000..2e2a6b2
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/del.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/docAllgemein.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/docAllgemein.png
new file mode 100644
index 0000000..283d346
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/docAllgemein.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/easteregg.jpg b/SDL/VERAG_PROG_ALLGEMEIN/Resources/easteregg.jpg
new file mode 100644
index 0000000..2044f34
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/easteregg.jpg differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/fremdSped.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/fremdSped.png
new file mode 100644
index 0000000..c7ba1d9
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/fremdSped.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/house.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/house.png
new file mode 100644
index 0000000..f8ba7ab
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/house.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/house1.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/house1.png
new file mode 100644
index 0000000..a60c7c8
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/house1.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/männlich.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/männlich.png
new file mode 100644
index 0000000..50bd66e
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/männlich.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/ok.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/ok.png
new file mode 100644
index 0000000..8e4a706
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/ok.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf.png
new file mode 100644
index 0000000..5ecfeae
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf_gray.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf_gray.png
new file mode 100644
index 0000000..30b8686
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pdf_gray.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/people.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/people.png
new file mode 100644
index 0000000..b18f033
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/people.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/person.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/person.png
new file mode 100644
index 0000000..116cb78
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/person.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/personGray_m.jpg b/SDL/VERAG_PROG_ALLGEMEIN/Resources/personGray_m.jpg
new file mode 100644
index 0000000..6733e6e
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/personGray_m.jpg differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/personGray_w.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/personGray_w.png
new file mode 100644
index 0000000..0b2aace
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/personGray_w.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_links.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_links.png
new file mode 100644
index 0000000..f94150e
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_links.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_oben.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_oben.png
new file mode 100644
index 0000000..a50f622
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_oben.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_rechts.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_rechts.png
new file mode 100644
index 0000000..793e34b
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_rechts.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_unten.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_unten.png
new file mode 100644
index 0000000..de013c9
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/pfeil_unten.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxNext_Enter.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxNext_Enter.png
new file mode 100644
index 0000000..d04edae
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxNext_Enter.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxPrevious_Enter.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxPrevious_Enter.png
new file mode 100644
index 0000000..fee4bf4
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxPrevious_Enter.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxRotateLeft_Enter.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxRotateLeft_Enter.png
new file mode 100644
index 0000000..91740a5
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxRotateLeft_Enter.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxRotateRight_Enter.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxRotateRight_Enter.png
new file mode 100644
index 0000000..1aa23a3
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxRotateRight_Enter.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxZoomIn_Enter.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxZoomIn_Enter.png
new file mode 100644
index 0000000..2aee59a
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxZoomIn_Enter.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxZoomOut_Enter.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxZoomOut_Enter.png
new file mode 100644
index 0000000..dfdd35f
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/picboxZoomOut_Enter.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/plus.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/plus.png
new file mode 100644
index 0000000..a9f8289
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/plus.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/scanner.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/scanner.png
new file mode 100644
index 0000000..35575dc
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/scanner.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/scanner1.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/scanner1.png
new file mode 100644
index 0000000..e41fb42
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/scanner1.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal.png
new file mode 100644
index 0000000..319861b
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal1.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal1.png
new file mode 100644
index 0000000..a48f111
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal1.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal2.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal2.png
new file mode 100644
index 0000000..e5cc59a
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal2.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal3.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal3.png
new file mode 100644
index 0000000..34c5149
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/seal3.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/search.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/search.png
new file mode 100644
index 0000000..32b371d
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/search.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/sicherheit.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/sicherheit.png
new file mode 100644
index 0000000..afbb99f
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/sicherheit.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/sicherheit1.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/sicherheit1.png
new file mode 100644
index 0000000..67839d2
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/sicherheit1.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/stift.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/stift.png
new file mode 100644
index 0000000..761e9f3
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/stift.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/today.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/today.png
new file mode 100644
index 0000000..89769c9
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/today.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_green.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_green.png
new file mode 100644
index 0000000..420ce46
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_green.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_notime.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_notime.png
new file mode 100644
index 0000000..0b814d5
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_notime.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_red.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_red.png
new file mode 100644
index 0000000..6f4d107
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/uhr_red.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Resources/weiblich.png b/SDL/VERAG_PROG_ALLGEMEIN/Resources/weiblich.png
new file mode 100644
index 0000000..7be6278
Binary files /dev/null and b/SDL/VERAG_PROG_ALLGEMEIN/Resources/weiblich.png differ
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/ATEZ/cATEZ_NCTS.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/ATEZ/cATEZ_NCTS.vb
new file mode 100644
index 0000000..e1d6e3d
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/ATEZ/cATEZ_NCTS.vb
@@ -0,0 +1,205 @@
+Public Class HEAHEA
+ Public Property RefNumHEA4 As String
+ Public Property TypOfDecHEA24 As String
+ Public Property CouOfDesCodHEA30 As String
+ Public Property PlaOfLoaCodHEA46 As String
+ Public Property CouOfDisCodHEA55 As String
+ Public Property TraModAtBorHEA76 As String
+ Public Property IdeOfMeaOfTraAtDHEA78 As String
+ Public Property IdeOfMeaOfTraAtDHEA78LNG As String
+ Public Property NatOfMeaOfTraAtDHEA80 As String
+ Public Property IdeOfMeaOfTraCroHEA85 As String
+ Public Property IdeOfMeaOfTraCroHEA85LNG As String
+ Public Property NatOfMeaOfTraCroHEA87 As String
+ Public Property ConIndHEA96 As String
+ Public Property NCTSAccDocHEA601LNG As String
+ Public Property TotNumOfIteHEA305 As String
+ Public Property TotNumOfPacHEA306 As String
+ Public Property TotGroMasHEA307 As String
+ Public Property DecDatHEA383 As String
+ Public Property DecPlaHEA394 As String
+ Public Property DecPlaHEA394LNG As String
+ Public Property SecHEA358 As String
+ Public Property CodPlUnHEA357 As String
+ Public Property Tanker As String
+ Public Property ComRefNumHEA As String
+End Class
+
+Public Class REPREP
+ Public Property NamREP5 As String
+End Class
+
+Public Class GUAREFREF
+ Public Property GuaRefNumGRNREF1 As String
+ Public Property OthGuaRefREF4 As String
+ Public Property AccCodREF6 As String
+ Public Property CurREF8 As String
+ Public Property AmoConREF7 As String
+End Class
+
+Public Class GUAGUA
+ Public Property GuaTypGUA1 As String
+ Public Property GUAREFREF As GUAREFREF
+End Class
+
+Public Class TRAPRIPC1
+ Public Property NamCO17 As String
+ Public Property StrAndNumCO122 As String
+ Public Property PosCodCO123 As String
+ Public Property CitCO124 As String
+ Public Property CouCO125 As String
+ Public Property NADLNGCO As String
+ Public Property TINCO159 As String
+End Class
+
+Public Class TRACONCO1
+ Public Property NamCO17 As String
+ Public Property StrAndNumCO122 As String
+ Public Property PosCodCO123 As String
+ Public Property CitCO124 As String
+ Public Property CouCO125 As String
+ Public Property NADLNGCO As String
+ Public Property TINCO159 As String
+End Class
+
+Public Class TRACONCE1
+ Public Property NamCO17 As String
+ Public Property StrAndNumCO122 As String
+ Public Property PosCodCO123 As String
+ Public Property CitCO124 As String
+ Public Property CouCO125 As String
+ Public Property NADLNGCO As String
+ Public Property TINCO159 As String
+End Class
+
+
+Public Class TRACONSEC029
+ Public Property NameTRACONSEC033 As String
+ Public Property StrNumTRACONSEC035 As String
+ Public Property PosCodTRACONSEC034 As String
+ Public Property CitTRACONSEC030 As String
+ Public Property CouCodTRACONSEC031 As String
+ Public Property TRACONSEC029LNG As String
+ Public Property TINTRACONSEC036 As String
+End Class
+
+Public Class CUSOFFDEPEPT
+ Public Property RefNumEPT1 As String
+End Class
+
+Public Class CUSOFFTRARNS
+ Public Property RefNumRNS1 As String
+ Public Property ArrTimTRACUS085 As String
+End Class
+
+Public Class CUSOFFDESEST
+ Public Property RefNumEST1 As String
+End Class
+
+Public Class PRODOCDC2
+ Public Property DocTypDC21 As String
+ Public Property DocRefDC23 As String
+ Public Property DocRefDCLNG As String
+ Public Property ComOfInfDC25 As String
+ Public Property ComOfInfDC25LNG As String
+End Class
+
+Public Class PREADMREFAR2
+ Public Property PreDocTypAR21 As String
+ Public Property PreDocRefAR26 As String
+ Public Property PreDocRefLNG As String
+ Public Property ComOfInfAR29 As String
+ Public Property ComOfInfAR29LNG As String
+End Class
+
+Public Class CONNR2
+ Public Property ConNumNR21 As String
+End Class
+
+Public Class PACGS2
+ Public Property MarNumOfPacGS21 As String
+ Public Property MarNumOfPacGS21LNG As String
+ Public Property KinOfPacGS23 As String
+ Public Property NumOfPacGS24 As String
+End Class
+
+Public Class TRACONCE2
+ Public Property NamCE27 As String
+ Public Property StrAndNumCE222 As String
+ Public Property PosCodCE223 As String
+ Public Property CitCE224 As String
+ Public Property CouCE225 As String
+ Public Property NADLNGGICE As String
+ Public Property TINCE259 As String
+End Class
+
+Public Class GOOITEGD
+ Public Property IteNumGDS7 As String
+ Public Property ComCodTarCodGDS10 As String
+ Public Property GooDesGDS23 As String
+ Public Property GooDesGDS23LNG As String
+ Public Property GroMasGDS46 As String
+ Public Property NetMasGDS48 As String
+ Public Property IhrBeyanNo As String
+ Public Property IhrBeyanTip As String
+ Public Property IhrBeyanParcali As String
+ Public Property PRODOCDC2 As PRODOCDC2()
+ Public Property PREADMREFAR2 As PREADMREFAR2
+ Public Property CONNR2 As CONNR2()
+ Public Property PACGS2 As PACGS2()
+ Public Property CouOfDesGDS59 As String
+ Public Property CouOfDisGDS58 As String
+ Public Property TRACONCO2 As String
+ Public Property TRACONCE2 As TRACONCE2
+ Public Property TRACORSECGOO021 As String
+ Public Property TRACONSECGOO013 As String
+End Class
+
+Public Class ITI
+ Public Property CouOfRouCodITI1 As String
+End Class
+
+Public Class CARTRA100
+ Public Property NamCARTRA121 As String
+ Public Property StrAndNumCARTRA254 As String
+ Public Property PosCodCARTRA121 As String
+ Public Property CitCARTRA789 As String
+ Public Property CouCodCARTRA587 As String
+ Public Property NADCARTRA121 As String
+ Public Property TINCARTRA254 As String
+End Class
+
+Public Class TRACORSEC037
+ Public Property NamTRACORSEC041 As String
+ Public Property StrNumTRACORSEC043 As String
+ Public Property PosCodTRACORSEC042 As String
+ Public Property CitTRACORSEC038 As String
+ Public Property CouCodTRACORSEC039 As String
+ Public Property TRACORSEC037LNG As String
+ Public Property TINTRACORSEC044 As String
+End Class
+
+Public Class CC015B
+ Public Property RefId As String
+ Public Property MRNNumber As String
+ Public Property HEAHEA As HEAHEA
+ Public Property REPREP As REPREP
+ Public Property SEAINFSLI As String
+ Public Property GUAGUA As GUAGUA
+
+ Public Property TRAPRIPC1 As TRAPRIPC1
+ Public Property TRACONCO1 As TRACONCO1
+ Public Property TRACONCE1 As TRACONCE1
+ Public Property CUSOFFDEPEPT As CUSOFFDEPEPT
+ Public Property CUSOFFTRARNS As CUSOFFTRARNS()
+ Public Property CUSOFFDESEST As CUSOFFDESEST
+ Public Property GOOITEGDS As GOOITEGD()
+ Public Property ITI As ITI()
+ Public Property CARTRA100 As CARTRA100
+ Public Property TRACORSEC037 As TRACORSEC037
+ Public Property TRACONSEC029 As TRACONSEC029
+End Class
+
+Public Class cATEZ_NCTS
+ Public Property CC015B As CC015B
+End Class
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.Designer.vb b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.Designer.vb
new file mode 100644
index 0000000..fa9bcea
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.Designer.vb
@@ -0,0 +1,7681 @@
+'' ------------------------------------------------------------------------------
+''
+'' Generated by Xsd2Code++. Version 5.0.0.47. www.xsd2code.com
+'' agsCustomsExchangeListVisualBasicFalseFalseFalseOnlyIfDifferentFalseNet45AllTrueTrueTrueFalseFalseFalseFalseFalseNoneStartWithUnderscoreFalseFalseFalseFalseFalsePublicTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueTrueTrueFalseTrueSerializeDeserializeSaveToFileLoadFromFileFalseTrueIndent2SpaceFalseFalseUTF8XmlSerializerFalseFalseFalseFalseFalseFalseFalseEntityBaseFalseFalse
+''
+'' ------------------------------------------------------------------------------
+Imports System
+Imports System.Diagnostics
+Imports System.Xml.Serialization
+Imports System.Collections
+Imports System.Xml.Schema
+Imports System.ComponentModel
+Imports System.IO
+Imports System.Text
+Imports System.Xml
+Imports System.Collections.Generic
+
+Namespace agsCustomsExchange
+
+
+ Partial Public Class exchangeRequestType
+
+#Region "Private fields"
+ Private _uuid As String
+
+ Private _version As String
+
+ Private _requestDateTime As Date
+
+ Private _creationDateTime As Date
+
+ Private _dispatchCountry As String
+
+ Private _destinationCountry As String
+
+ Private _localReferenceNumber As String
+
+ Private _movementReferenceNumber As String
+
+ Private _declaration As declarationType
+
+ Private _goodsShipment As goodsShipmentType
+
+ Private _attachments As List(Of attachmentType)
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._attachments = New List(Of attachmentType)()
+ Me._goodsShipment = New goodsShipmentType()
+ Me._declaration = New declarationType()
+ End Sub
+
+ Public Property uuid() As String
+ Get
+ Return Me._uuid
+ End Get
+ Set
+ Me._uuid = Value
+ End Set
+ End Property
+
+ Public Property version() As String
+ Get
+ Return Me._version
+ End Get
+ Set
+ Me._version = Value
+ End Set
+ End Property
+
+ Public Property requestDateTime() As Date
+ Get
+ Return Me._requestDateTime
+ End Get
+ Set
+ Me._requestDateTime = Value
+ End Set
+ End Property
+
+ Public Property creationDateTime() As Date
+ Get
+ Return Me._creationDateTime
+ End Get
+ Set
+ Me._creationDateTime = Value
+ End Set
+ End Property
+
+ Public Property dispatchCountry() As String
+ Get
+ Return Me._dispatchCountry
+ End Get
+ Set
+ Me._dispatchCountry = Value
+ End Set
+ End Property
+
+ Public Property destinationCountry() As String
+ Get
+ Return Me._destinationCountry
+ End Get
+ Set
+ Me._destinationCountry = Value
+ End Set
+ End Property
+
+ Public Property localReferenceNumber() As String
+ Get
+ Return Me._localReferenceNumber
+ End Get
+ Set
+ Me._localReferenceNumber = Value
+ End Set
+ End Property
+
+ Public Property movementReferenceNumber() As String
+ Get
+ Return Me._movementReferenceNumber
+ End Get
+ Set
+ Me._movementReferenceNumber = Value
+ End Set
+ End Property
+
+ Public Property declaration() As declarationType
+ Get
+ Return Me._declaration
+ End Get
+ Set
+ Me._declaration = Value
+ End Set
+ End Property
+
+ Public Property goodsShipment() As goodsShipmentType
+ Get
+ Return Me._goodsShipment
+ End Get
+ Set
+ Me._goodsShipment = Value
+ End Set
+ End Property
+
+
+ Public Property attachments() As List(Of attachmentType)
+ Get
+ Return Me._attachments
+ End Get
+ Set
+ Me._attachments = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(exchangeRequestType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current exchangeRequestType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an exchangeRequestType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output exchangeRequestType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As exchangeRequestType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, exchangeRequestType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As exchangeRequestType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As exchangeRequestType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), exchangeRequestType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As exchangeRequestType
+ Return CType(Serializer.Deserialize(s), exchangeRequestType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current exchangeRequestType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an exchangeRequestType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output exchangeRequestType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As exchangeRequestType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, exchangeRequestType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As exchangeRequestType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As exchangeRequestType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class declarationType
+
+#Region "Private fields"
+ Private _declarationOffice As String
+
+ Private _declarationCode As declarationCode
+
+ Private _declarationTypeCode As declarationTypeCode
+
+ Private _procedure As procedure
+
+ Private _commercialReferenceNumber As String
+
+ Private _invoiceAmount As priceType_18_2
+
+ Private _deductibleAmount As priceType_16_2
+
+ Private _transportCostsAmount As priceType_16_2
+
+ Private _insuranceCostsAmount As priceType_16_2
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._insuranceCostsAmount = New priceType_16_2()
+ Me._transportCostsAmount = New priceType_16_2()
+ Me._deductibleAmount = New priceType_16_2()
+ Me._invoiceAmount = New priceType_18_2()
+ End Sub
+
+
+ Public Property declarationOffice() As String
+ Get
+ Return Me._declarationOffice
+ End Get
+ Set
+ Me._declarationOffice = Value
+ End Set
+ End Property
+
+ Public Property declarationCode() As declarationCode
+ Get
+ Return Me._declarationCode
+ End Get
+ Set
+ Me._declarationCode = Value
+ End Set
+ End Property
+
+ Public Property declarationTypeCode() As declarationTypeCode
+ Get
+ Return Me._declarationTypeCode
+ End Get
+ Set
+ Me._declarationTypeCode = Value
+ End Set
+ End Property
+
+ Public Property procedure() As procedure
+ Get
+ Return Me._procedure
+ End Get
+ Set
+ Me._procedure = Value
+ End Set
+ End Property
+
+ Public Property commercialReferenceNumber() As String
+ Get
+ Return Me._commercialReferenceNumber
+ End Get
+ Set
+ Me._commercialReferenceNumber = Value
+ End Set
+ End Property
+
+ Public Property invoiceAmount() As priceType_18_2
+ Get
+ Return Me._invoiceAmount
+ End Get
+ Set
+ Me._invoiceAmount = Value
+ End Set
+ End Property
+
+ Public Property deductibleAmount() As priceType_16_2
+ Get
+ Return Me._deductibleAmount
+ End Get
+ Set
+ Me._deductibleAmount = Value
+ End Set
+ End Property
+
+ Public Property transportCostsAmount() As priceType_16_2
+ Get
+ Return Me._transportCostsAmount
+ End Get
+ Set
+ Me._transportCostsAmount = Value
+ End Set
+ End Property
+
+ Public Property insuranceCostsAmount() As priceType_16_2
+ Get
+ Return Me._insuranceCostsAmount
+ End Get
+ Set
+ Me._insuranceCostsAmount = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(declarationType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current declarationType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an declarationType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output declarationType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As declarationType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, declarationType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As declarationType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As declarationType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), declarationType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As declarationType
+ Return CType(Serializer.Deserialize(s), declarationType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current declarationType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an declarationType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output declarationType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As declarationType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, declarationType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As declarationType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As declarationType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Public Enum declarationCode
+
+ '''
+ CO
+
+ '''
+ EU
+
+ '''
+ EX
+
+ '''
+ IM
+ End Enum
+
+
+ Public Enum declarationTypeCode
+
+ '''
+ A
+
+ '''
+ B
+
+ '''
+ D
+
+ '''
+ E
+
+ '''
+ X
+
+ '''
+ Y
+
+ '''
+ Z
+ End Enum
+
+
+ Public Enum procedure
+
+ '''
+ A
+
+ '''
+ B
+
+ '''
+ C
+
+ '''
+ D
+
+ '''
+ E
+
+ '''
+ H
+
+ '''
+ I
+
+ '''
+ J
+
+ '''
+ K
+ End Enum
+
+
+ Partial Public Class priceType_18_2
+
+#Region "Private fields"
+ Private _currency As String
+
+ Private _value As Decimal
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+
+ Public Property currency() As String
+ Get
+ Return Me._currency
+ End Get
+ Set
+ Me._currency = Value
+ End Set
+ End Property
+
+
+ Public Property Value() As Decimal
+ Get
+ Return Me._value
+ End Get
+ Set
+ Me._value = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(priceType_18_2))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current priceType_18_2 object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an priceType_18_2 object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output priceType_18_2 object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As priceType_18_2, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, priceType_18_2)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As priceType_18_2) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As priceType_18_2
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), priceType_18_2)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As priceType_18_2
+ Return CType(Serializer.Deserialize(s), priceType_18_2)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current priceType_18_2 object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an priceType_18_2 object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output priceType_18_2 object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As priceType_18_2, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, priceType_18_2)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As priceType_18_2) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As priceType_18_2
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class attachmentType
+
+#Region "Private fields"
+ Private _attachmentName As String
+
+ Private _attachmentType1 As String
+
+ Private _attachmentReference As String
+
+ Private _binaryAttachmentData() As Byte
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property attachmentName() As String
+ Get
+ Return Me._attachmentName
+ End Get
+ Set
+ Me._attachmentName = Value
+ End Set
+ End Property
+
+
+ Public Property attachmentType1() As String
+ Get
+ Return Me._attachmentType1
+ End Get
+ Set
+ Me._attachmentType1 = Value
+ End Set
+ End Property
+
+ Public Property attachmentReference() As String
+ Get
+ Return Me._attachmentReference
+ End Get
+ Set
+ Me._attachmentReference = Value
+ End Set
+ End Property
+
+
+ Public Property binaryAttachmentData() As Byte()
+ Get
+ Return Me._binaryAttachmentData
+ End Get
+ Set
+ Me._binaryAttachmentData = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(attachmentType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current attachmentType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an attachmentType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output attachmentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As attachmentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, attachmentType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As attachmentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As attachmentType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), attachmentType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As attachmentType
+ Return CType(Serializer.Deserialize(s), attachmentType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current attachmentType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an attachmentType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output attachmentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As attachmentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, attachmentType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As attachmentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As attachmentType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class weightType_16_6
+
+#Region "Private fields"
+ Private _massUnit As String
+
+ Private _value As Decimal
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._massUnit = "kg"
+ End Sub
+
+
+ Public Property massUnit() As String
+ Get
+ Return Me._massUnit
+ End Get
+ Set
+ Me._massUnit = Value
+ End Set
+ End Property
+
+
+ Public Property Value() As Decimal
+ Get
+ Return Me._value
+ End Get
+ Set
+ Me._value = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(weightType_16_6))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current weightType_16_6 object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an weightType_16_6 object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output weightType_16_6 object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As weightType_16_6, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, weightType_16_6)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As weightType_16_6) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As weightType_16_6
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), weightType_16_6)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As weightType_16_6
+ Return CType(Serializer.Deserialize(s), weightType_16_6)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current weightType_16_6 object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an weightType_16_6 object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output weightType_16_6 object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As weightType_16_6, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, weightType_16_6)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As weightType_16_6) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As weightType_16_6
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class quantityType
+
+#Region "Private fields"
+ Private _unitCode As String
+
+ Private _value As Decimal
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+
+ Public Property unitCode() As String
+ Get
+ Return Me._unitCode
+ End Get
+ Set
+ Me._unitCode = Value
+ End Set
+ End Property
+
+
+ Public Property Value() As Decimal
+ Get
+ Return Me._value
+ End Get
+ Set
+ Me._value = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(quantityType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current quantityType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an quantityType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output quantityType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As quantityType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, quantityType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As quantityType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As quantityType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), quantityType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As quantityType
+ Return CType(Serializer.Deserialize(s), quantityType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current quantityType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an quantityType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output quantityType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As quantityType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, quantityType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As quantityType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As quantityType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemType
+
+#Region "Private fields"
+ Private _sequenceNumeric As Decimal
+
+ Private _customsValueAmount As priceType_16_2
+
+ Private _statisticalValueAmount As priceType_16_2
+
+ Private _additionalDocumentType As List(Of goodsItemTypeAdditionalDocumentType)
+
+ Private _additionalInformationType As List(Of goodsItemTypeAdditionalInformationType)
+
+ Private _commodityType As goodsItemTypeCommodityType
+
+ Private _goodsMeasureType As goodsItemTypeGoodsMeasureType
+
+ Private _governmentProcedureType As List(Of goodsItemTypeGovernmentProcedureType)
+
+ Private _manufacturerType As goodsItemTypeManufacturerType
+
+ Private _originType As goodsItemTypeOriginType
+
+ Private _packagingType As List(Of goodsItemTypePackagingType)
+
+ Private _previousDocumentType As List(Of goodsItemTypePreviousDocumentType)
+
+ Private _refundRecipientPartyType As goodsItemTypeRefundRecipientPartyType
+
+ Private _valuationAdjustmentType As List(Of goodsItemTypeValuationAdjustmentType)
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._valuationAdjustmentType = New List(Of goodsItemTypeValuationAdjustmentType)()
+ Me._refundRecipientPartyType = New goodsItemTypeRefundRecipientPartyType()
+ Me._previousDocumentType = New List(Of goodsItemTypePreviousDocumentType)()
+ Me._packagingType = New List(Of goodsItemTypePackagingType)()
+ Me._originType = New goodsItemTypeOriginType()
+ Me._manufacturerType = New goodsItemTypeManufacturerType()
+ Me._governmentProcedureType = New List(Of goodsItemTypeGovernmentProcedureType)()
+ Me._goodsMeasureType = New goodsItemTypeGoodsMeasureType()
+ Me._commodityType = New goodsItemTypeCommodityType()
+ Me._additionalInformationType = New List(Of goodsItemTypeAdditionalInformationType)()
+ Me._additionalDocumentType = New List(Of goodsItemTypeAdditionalDocumentType)()
+ Me._statisticalValueAmount = New priceType_16_2()
+ Me._customsValueAmount = New priceType_16_2()
+ End Sub
+
+ Public Property sequenceNumeric() As Decimal
+ Get
+ Return Me._sequenceNumeric
+ End Get
+ Set
+ Me._sequenceNumeric = Value
+ End Set
+ End Property
+
+ Public Property customsValueAmount() As priceType_16_2
+ Get
+ Return Me._customsValueAmount
+ End Get
+ Set
+ Me._customsValueAmount = Value
+ End Set
+ End Property
+
+ Public Property statisticalValueAmount() As priceType_16_2
+ Get
+ Return Me._statisticalValueAmount
+ End Get
+ Set
+ Me._statisticalValueAmount = Value
+ End Set
+ End Property
+
+
+ Public Property additionalDocumentType() As List(Of goodsItemTypeAdditionalDocumentType)
+ Get
+ Return Me._additionalDocumentType
+ End Get
+ Set
+ Me._additionalDocumentType = Value
+ End Set
+ End Property
+
+
+ Public Property additionalInformationType() As List(Of goodsItemTypeAdditionalInformationType)
+ Get
+ Return Me._additionalInformationType
+ End Get
+ Set
+ Me._additionalInformationType = Value
+ End Set
+ End Property
+
+ Public Property commodityType() As goodsItemTypeCommodityType
+ Get
+ Return Me._commodityType
+ End Get
+ Set
+ Me._commodityType = Value
+ End Set
+ End Property
+
+ Public Property goodsMeasureType() As goodsItemTypeGoodsMeasureType
+ Get
+ Return Me._goodsMeasureType
+ End Get
+ Set
+ Me._goodsMeasureType = Value
+ End Set
+ End Property
+
+
+ Public Property governmentProcedureType() As List(Of goodsItemTypeGovernmentProcedureType)
+ Get
+ Return Me._governmentProcedureType
+ End Get
+ Set
+ Me._governmentProcedureType = Value
+ End Set
+ End Property
+
+ Public Property manufacturerType() As goodsItemTypeManufacturerType
+ Get
+ Return Me._manufacturerType
+ End Get
+ Set
+ Me._manufacturerType = Value
+ End Set
+ End Property
+
+ Public Property originType() As goodsItemTypeOriginType
+ Get
+ Return Me._originType
+ End Get
+ Set
+ Me._originType = Value
+ End Set
+ End Property
+
+
+ Public Property packagingType() As List(Of goodsItemTypePackagingType)
+ Get
+ Return Me._packagingType
+ End Get
+ Set
+ Me._packagingType = Value
+ End Set
+ End Property
+
+
+ Public Property previousDocumentType() As List(Of goodsItemTypePreviousDocumentType)
+ Get
+ Return Me._previousDocumentType
+ End Get
+ Set
+ Me._previousDocumentType = Value
+ End Set
+ End Property
+
+ Public Property refundRecipientPartyType() As goodsItemTypeRefundRecipientPartyType
+ Get
+ Return Me._refundRecipientPartyType
+ End Get
+ Set
+ Me._refundRecipientPartyType = Value
+ End Set
+ End Property
+
+
+ Public Property valuationAdjustmentType() As List(Of goodsItemTypeValuationAdjustmentType)
+ Get
+ Return Me._valuationAdjustmentType
+ End Get
+ Set
+ Me._valuationAdjustmentType = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemType
+ Return CType(Serializer.Deserialize(s), goodsItemType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class priceType_16_2
+
+#Region "Private fields"
+ Private _currency As String
+
+ Private _value As Decimal
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+
+ Public Property currency() As String
+ Get
+ Return Me._currency
+ End Get
+ Set
+ Me._currency = Value
+ End Set
+ End Property
+
+
+ Public Property Value() As Decimal
+ Get
+ Return Me._value
+ End Get
+ Set
+ Me._value = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(priceType_16_2))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current priceType_16_2 object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an priceType_16_2 object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output priceType_16_2 object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As priceType_16_2, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, priceType_16_2)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As priceType_16_2) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As priceType_16_2
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), priceType_16_2)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As priceType_16_2
+ Return CType(Serializer.Deserialize(s), priceType_16_2)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current priceType_16_2 object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an priceType_16_2 object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output priceType_16_2 object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As priceType_16_2, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, priceType_16_2)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As priceType_16_2) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As priceType_16_2
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemTypeAdditionalDocumentType
+
+#Region "Private fields"
+ Private _documentCode As String
+
+ Private _documentReference As String
+
+ Private _amount As priceType_16_2
+
+ Private _quantity As quantityType
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._quantity = New quantityType()
+ Me._amount = New priceType_16_2()
+ End Sub
+
+
+ Public Property documentCode() As String
+ Get
+ Return Me._documentCode
+ End Get
+ Set
+ Me._documentCode = Value
+ End Set
+ End Property
+
+ Public Property documentReference() As String
+ Get
+ Return Me._documentReference
+ End Get
+ Set
+ Me._documentReference = Value
+ End Set
+ End Property
+
+ Public Property amount() As priceType_16_2
+ Get
+ Return Me._amount
+ End Get
+ Set
+ Me._amount = Value
+ End Set
+ End Property
+
+ Public Property quantity() As quantityType
+ Get
+ Return Me._quantity
+ End Get
+ Set
+ Me._quantity = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeAdditionalDocumentType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypeAdditionalDocumentType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypeAdditionalDocumentType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypeAdditionalDocumentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeAdditionalDocumentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeAdditionalDocumentType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeAdditionalDocumentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeAdditionalDocumentType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeAdditionalDocumentType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeAdditionalDocumentType
+ Return CType(Serializer.Deserialize(s), goodsItemTypeAdditionalDocumentType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypeAdditionalDocumentType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypeAdditionalDocumentType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypeAdditionalDocumentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeAdditionalDocumentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeAdditionalDocumentType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeAdditionalDocumentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeAdditionalDocumentType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemTypeAdditionalInformationType
+
+#Region "Private fields"
+ Private _statementCode As String
+
+ Private _statementDescription As String
+
+ Private _statementTypeCode As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+
+ Public Property statementCode() As String
+ Get
+ Return Me._statementCode
+ End Get
+ Set
+ Me._statementCode = Value
+ End Set
+ End Property
+
+ Public Property statementDescription() As String
+ Get
+ Return Me._statementDescription
+ End Get
+ Set
+ Me._statementDescription = Value
+ End Set
+ End Property
+
+
+ Public Property statementTypeCode() As String
+ Get
+ Return Me._statementTypeCode
+ End Get
+ Set
+ Me._statementTypeCode = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeAdditionalInformationType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypeAdditionalInformationType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypeAdditionalInformationType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypeAdditionalInformationType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeAdditionalInformationType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeAdditionalInformationType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeAdditionalInformationType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeAdditionalInformationType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeAdditionalInformationType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeAdditionalInformationType
+ Return CType(Serializer.Deserialize(s), goodsItemTypeAdditionalInformationType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypeAdditionalInformationType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypeAdditionalInformationType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypeAdditionalInformationType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeAdditionalInformationType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeAdditionalInformationType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeAdditionalInformationType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeAdditionalInformationType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemTypeCommodityType
+
+#Region "Private fields"
+ Private _sequenceNumeric As Decimal
+
+ Private _description As String
+
+ Private _valueAmount As priceType_16_2
+
+ Private _classificationType As List(Of goodsItemTypeCommodityTypeClassificationType)
+
+ Private _transportEquipmentType As List(Of goodsItemTypeCommodityTypeTransportEquipmentType)
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._transportEquipmentType = New List(Of goodsItemTypeCommodityTypeTransportEquipmentType)()
+ Me._classificationType = New List(Of goodsItemTypeCommodityTypeClassificationType)()
+ Me._valueAmount = New priceType_16_2()
+ End Sub
+
+ Public Property sequenceNumeric() As Decimal
+ Get
+ Return Me._sequenceNumeric
+ End Get
+ Set
+ Me._sequenceNumeric = Value
+ End Set
+ End Property
+
+ Public Property description() As String
+ Get
+ Return Me._description
+ End Get
+ Set
+ Me._description = Value
+ End Set
+ End Property
+
+ Public Property valueAmount() As priceType_16_2
+ Get
+ Return Me._valueAmount
+ End Get
+ Set
+ Me._valueAmount = Value
+ End Set
+ End Property
+
+
+ Public Property classificationType() As List(Of goodsItemTypeCommodityTypeClassificationType)
+ Get
+ Return Me._classificationType
+ End Get
+ Set
+ Me._classificationType = Value
+ End Set
+ End Property
+
+
+ Public Property transportEquipmentType() As List(Of goodsItemTypeCommodityTypeTransportEquipmentType)
+ Get
+ Return Me._transportEquipmentType
+ End Get
+ Set
+ Me._transportEquipmentType = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeCommodityType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypeCommodityType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypeCommodityType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypeCommodityType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeCommodityType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeCommodityType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeCommodityType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeCommodityType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeCommodityType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeCommodityType
+ Return CType(Serializer.Deserialize(s), goodsItemTypeCommodityType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypeCommodityType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypeCommodityType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypeCommodityType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeCommodityType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeCommodityType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeCommodityType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeCommodityType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemTypeCommodityTypeClassificationType
+
+#Region "Private fields"
+ Private _commodityCode As String
+
+ Private _unitedNationsDangerousGoodCode As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property commodityCode() As String
+ Get
+ Return Me._commodityCode
+ End Get
+ Set
+ Me._commodityCode = Value
+ End Set
+ End Property
+
+ Public Property unitedNationsDangerousGoodCode() As String
+ Get
+ Return Me._unitedNationsDangerousGoodCode
+ End Get
+ Set
+ Me._unitedNationsDangerousGoodCode = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeCommodityTypeClassificationType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypeCommodityTypeClassificationType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypeCommodityTypeClassificationType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypeCommodityTypeClassificationType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeCommodityTypeClassificationType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeCommodityTypeClassificationType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeCommodityTypeClassificationType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeCommodityTypeClassificationType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeCommodityTypeClassificationType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeCommodityTypeClassificationType
+ Return CType(Serializer.Deserialize(s), goodsItemTypeCommodityTypeClassificationType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypeCommodityTypeClassificationType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypeCommodityTypeClassificationType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypeCommodityTypeClassificationType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeCommodityTypeClassificationType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeCommodityTypeClassificationType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeCommodityTypeClassificationType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeCommodityTypeClassificationType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemTypeCommodityTypeTransportEquipmentType
+
+#Region "Private fields"
+ Private _sequenceNumeric As Decimal
+
+ Private _equipmentIdentificationNumberId As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property sequenceNumeric() As Decimal
+ Get
+ Return Me._sequenceNumeric
+ End Get
+ Set
+ Me._sequenceNumeric = Value
+ End Set
+ End Property
+
+ Public Property equipmentIdentificationNumberId() As String
+ Get
+ Return Me._equipmentIdentificationNumberId
+ End Get
+ Set
+ Me._equipmentIdentificationNumberId = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeCommodityTypeTransportEquipmentType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypeCommodityTypeTransportEquipmentType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypeCommodityTypeTransportEquipmentType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypeCommodityTypeTransportEquipmentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeCommodityTypeTransportEquipmentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeCommodityTypeTransportEquipmentType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeCommodityTypeTransportEquipmentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeCommodityTypeTransportEquipmentType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeCommodityTypeTransportEquipmentType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeCommodityTypeTransportEquipmentType
+ Return CType(Serializer.Deserialize(s), goodsItemTypeCommodityTypeTransportEquipmentType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypeCommodityTypeTransportEquipmentType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypeCommodityTypeTransportEquipmentType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypeCommodityTypeTransportEquipmentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeCommodityTypeTransportEquipmentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeCommodityTypeTransportEquipmentType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeCommodityTypeTransportEquipmentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeCommodityTypeTransportEquipmentType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemTypeGoodsMeasureType
+
+#Region "Private fields"
+ Private _grossMassMeasure As weightType_16_6
+
+ Private _netNetWeightMeasure As weightType_16_6
+
+ Private _tariffQuantity As Decimal
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._netNetWeightMeasure = New weightType_16_6()
+ Me._grossMassMeasure = New weightType_16_6()
+ End Sub
+
+ Public Property grossMassMeasure() As weightType_16_6
+ Get
+ Return Me._grossMassMeasure
+ End Get
+ Set
+ Me._grossMassMeasure = Value
+ End Set
+ End Property
+
+ Public Property netNetWeightMeasure() As weightType_16_6
+ Get
+ Return Me._netNetWeightMeasure
+ End Get
+ Set
+ Me._netNetWeightMeasure = Value
+ End Set
+ End Property
+
+ Public Property tariffQuantity() As Decimal
+ Get
+ Return Me._tariffQuantity
+ End Get
+ Set
+ Me._tariffQuantity = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeGoodsMeasureType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypeGoodsMeasureType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypeGoodsMeasureType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypeGoodsMeasureType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeGoodsMeasureType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeGoodsMeasureType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeGoodsMeasureType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeGoodsMeasureType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeGoodsMeasureType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeGoodsMeasureType
+ Return CType(Serializer.Deserialize(s), goodsItemTypeGoodsMeasureType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypeGoodsMeasureType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypeGoodsMeasureType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypeGoodsMeasureType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeGoodsMeasureType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeGoodsMeasureType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeGoodsMeasureType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeGoodsMeasureType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemTypeGovernmentProcedureType
+
+#Region "Private fields"
+ Private _currentCode As String
+
+ Private _previousCode As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+
+ Public Property currentCode() As String
+ Get
+ Return Me._currentCode
+ End Get
+ Set
+ Me._currentCode = Value
+ End Set
+ End Property
+
+
+ Public Property previousCode() As String
+ Get
+ Return Me._previousCode
+ End Get
+ Set
+ Me._previousCode = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeGovernmentProcedureType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypeGovernmentProcedureType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypeGovernmentProcedureType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypeGovernmentProcedureType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeGovernmentProcedureType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeGovernmentProcedureType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeGovernmentProcedureType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeGovernmentProcedureType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeGovernmentProcedureType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeGovernmentProcedureType
+ Return CType(Serializer.Deserialize(s), goodsItemTypeGovernmentProcedureType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypeGovernmentProcedureType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypeGovernmentProcedureType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypeGovernmentProcedureType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeGovernmentProcedureType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeGovernmentProcedureType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeGovernmentProcedureType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeGovernmentProcedureType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemTypeManufacturerType
+
+#Region "Private fields"
+ Private _name As String
+
+ Private _id As String
+
+ Private _address As addressType
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._address = New addressType()
+ End Sub
+
+ Public Property name() As String
+ Get
+ Return Me._name
+ End Get
+ Set
+ Me._name = Value
+ End Set
+ End Property
+
+ Public Property id() As String
+ Get
+ Return Me._id
+ End Get
+ Set
+ Me._id = Value
+ End Set
+ End Property
+
+ Public Property address() As addressType
+ Get
+ Return Me._address
+ End Get
+ Set
+ Me._address = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeManufacturerType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypeManufacturerType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypeManufacturerType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypeManufacturerType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeManufacturerType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeManufacturerType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeManufacturerType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeManufacturerType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeManufacturerType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeManufacturerType
+ Return CType(Serializer.Deserialize(s), goodsItemTypeManufacturerType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypeManufacturerType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypeManufacturerType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypeManufacturerType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeManufacturerType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeManufacturerType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeManufacturerType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeManufacturerType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class addressType
+
+#Region "Private fields"
+ Private _postalCode As String
+
+ Private _streetAndNumber As String
+
+ Private _city As String
+
+ Private _country As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property postalCode() As String
+ Get
+ Return Me._postalCode
+ End Get
+ Set
+ Me._postalCode = Value
+ End Set
+ End Property
+
+ Public Property streetAndNumber() As String
+ Get
+ Return Me._streetAndNumber
+ End Get
+ Set
+ Me._streetAndNumber = Value
+ End Set
+ End Property
+
+ Public Property city() As String
+ Get
+ Return Me._city
+ End Get
+ Set
+ Me._city = Value
+ End Set
+ End Property
+
+ Public Property country() As String
+ Get
+ Return Me._country
+ End Get
+ Set
+ Me._country = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(addressType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current addressType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an addressType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output addressType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As addressType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, addressType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As addressType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As addressType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), addressType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As addressType
+ Return CType(Serializer.Deserialize(s), addressType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current addressType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an addressType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output addressType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As addressType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, addressType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As addressType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As addressType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemTypeOriginType
+
+#Region "Private fields"
+ Private _countryCode As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property countryCode() As String
+ Get
+ Return Me._countryCode
+ End Get
+ Set
+ Me._countryCode = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeOriginType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypeOriginType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypeOriginType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypeOriginType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeOriginType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeOriginType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeOriginType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeOriginType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeOriginType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeOriginType
+ Return CType(Serializer.Deserialize(s), goodsItemTypeOriginType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypeOriginType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypeOriginType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypeOriginType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeOriginType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeOriginType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeOriginType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeOriginType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemTypePackagingType
+
+#Region "Private fields"
+ Private _sequenceNumeric As Decimal
+
+ Private _marksNumbersID As String
+
+ Private _packagingQuantity As Decimal
+
+ Private _typeCode As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property sequenceNumeric() As Decimal
+ Get
+ Return Me._sequenceNumeric
+ End Get
+ Set
+ Me._sequenceNumeric = Value
+ End Set
+ End Property
+
+ Public Property MarksNumbersID() As String
+ Get
+ Return Me._marksNumbersID
+ End Get
+ Set
+ Me._marksNumbersID = Value
+ End Set
+ End Property
+
+ Public Property packagingQuantity() As Decimal
+ Get
+ Return Me._packagingQuantity
+ End Get
+ Set
+ Me._packagingQuantity = Value
+ End Set
+ End Property
+
+
+ Public Property typeCode() As String
+ Get
+ Return Me._typeCode
+ End Get
+ Set
+ Me._typeCode = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypePackagingType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypePackagingType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypePackagingType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypePackagingType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypePackagingType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypePackagingType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypePackagingType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypePackagingType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypePackagingType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypePackagingType
+ Return CType(Serializer.Deserialize(s), goodsItemTypePackagingType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypePackagingType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypePackagingType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypePackagingType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypePackagingType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypePackagingType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypePackagingType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypePackagingType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemTypePreviousDocumentType
+
+#Region "Private fields"
+ Private _docTypeCode As prevDocTypeCode
+
+ Private _docSortCode As String
+
+ Private _docNr As String
+
+ Private _lineNumeric As Decimal
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property DocTypeCode() As prevDocTypeCode
+ Get
+ Return Me._docTypeCode
+ End Get
+ Set
+ Me._docTypeCode = Value
+ End Set
+ End Property
+
+
+ Public Property DocSortCode() As String
+ Get
+ Return Me._docSortCode
+ End Get
+ Set
+ Me._docSortCode = Value
+ End Set
+ End Property
+
+ Public Property DocNr() As String
+ Get
+ Return Me._docNr
+ End Get
+ Set
+ Me._docNr = Value
+ End Set
+ End Property
+
+ Public Property lineNumeric() As Decimal
+ Get
+ Return Me._lineNumeric
+ End Get
+ Set
+ Me._lineNumeric = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypePreviousDocumentType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypePreviousDocumentType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypePreviousDocumentType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypePreviousDocumentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypePreviousDocumentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypePreviousDocumentType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypePreviousDocumentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypePreviousDocumentType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypePreviousDocumentType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypePreviousDocumentType
+ Return CType(Serializer.Deserialize(s), goodsItemTypePreviousDocumentType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypePreviousDocumentType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypePreviousDocumentType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypePreviousDocumentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypePreviousDocumentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypePreviousDocumentType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypePreviousDocumentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypePreviousDocumentType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Public Enum prevDocTypeCode
+
+ '''
+ X
+
+ '''
+ Y
+
+ '''
+ Z
+ End Enum
+
+
+ Partial Public Class goodsItemTypeRefundRecipientPartyType
+
+#Region "Private fields"
+ Private _name As String
+
+ Private _id As String
+
+ Private _address As addressType
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._address = New addressType()
+ End Sub
+
+ Public Property name() As String
+ Get
+ Return Me._name
+ End Get
+ Set
+ Me._name = Value
+ End Set
+ End Property
+
+ Public Property id() As String
+ Get
+ Return Me._id
+ End Get
+ Set
+ Me._id = Value
+ End Set
+ End Property
+
+ Public Property address() As addressType
+ Get
+ Return Me._address
+ End Get
+ Set
+ Me._address = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeRefundRecipientPartyType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypeRefundRecipientPartyType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypeRefundRecipientPartyType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypeRefundRecipientPartyType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeRefundRecipientPartyType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeRefundRecipientPartyType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeRefundRecipientPartyType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeRefundRecipientPartyType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeRefundRecipientPartyType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeRefundRecipientPartyType
+ Return CType(Serializer.Deserialize(s), goodsItemTypeRefundRecipientPartyType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypeRefundRecipientPartyType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypeRefundRecipientPartyType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypeRefundRecipientPartyType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeRefundRecipientPartyType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeRefundRecipientPartyType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeRefundRecipientPartyType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeRefundRecipientPartyType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsItemTypeValuationAdjustmentType
+
+#Region "Private fields"
+ Private _additionCode As String
+
+ Private _valuationAdjustmentAmount As priceType_16_2
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._valuationAdjustmentAmount = New priceType_16_2()
+ End Sub
+
+
+ Public Property additionCode() As String
+ Get
+ Return Me._additionCode
+ End Get
+ Set
+ Me._additionCode = Value
+ End Set
+ End Property
+
+ Public Property valuationAdjustmentAmount() As priceType_16_2
+ Get
+ Return Me._valuationAdjustmentAmount
+ End Get
+ Set
+ Me._valuationAdjustmentAmount = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsItemTypeValuationAdjustmentType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsItemTypeValuationAdjustmentType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsItemTypeValuationAdjustmentType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsItemTypeValuationAdjustmentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeValuationAdjustmentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeValuationAdjustmentType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsItemTypeValuationAdjustmentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsItemTypeValuationAdjustmentType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsItemTypeValuationAdjustmentType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsItemTypeValuationAdjustmentType
+ Return CType(Serializer.Deserialize(s), goodsItemTypeValuationAdjustmentType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsItemTypeValuationAdjustmentType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsItemTypeValuationAdjustmentType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsItemTypeValuationAdjustmentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeValuationAdjustmentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsItemTypeValuationAdjustmentType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsItemTypeValuationAdjustmentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsItemTypeValuationAdjustmentType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class portType
+
+#Region "Private fields"
+ Private _portCode As String
+
+ Private _portCountry As String
+
+ Private _portLocationName As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+
+ Public Property portCode() As String
+ Get
+ Return Me._portCode
+ End Get
+ Set
+ Me._portCode = Value
+ End Set
+ End Property
+
+ Public Property portCountry() As String
+ Get
+ Return Me._portCountry
+ End Get
+ Set
+ Me._portCountry = Value
+ End Set
+ End Property
+
+ Public Property portLocationName() As String
+ Get
+ Return Me._portLocationName
+ End Get
+ Set
+ Me._portLocationName = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(portType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current portType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an portType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output portType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As portType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, portType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As portType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As portType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), portType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As portType
+ Return CType(Serializer.Deserialize(s), portType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current portType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an portType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output portType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As portType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, portType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As portType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As portType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class inCoTermType
+
+#Region "Private fields"
+ Private _inCoTerm As inCoTerm
+
+ Private _inCoTermCountryRelationship As UShort
+
+ Private _inCoTermPlaceCode As String
+
+ Private _inCoTermPlaceName As String
+
+ Private _inCoTermPlaceDescription As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property inCoTerm() As inCoTerm
+ Get
+ Return Me._inCoTerm
+ End Get
+ Set
+ Me._inCoTerm = Value
+ End Set
+ End Property
+
+ Public Property inCoTermCountryRelationship() As UShort
+ Get
+ Return Me._inCoTermCountryRelationship
+ End Get
+ Set
+ Me._inCoTermCountryRelationship = Value
+ End Set
+ End Property
+
+ Public Property inCoTermPlaceCode() As String
+ Get
+ Return Me._inCoTermPlaceCode
+ End Get
+ Set
+ Me._inCoTermPlaceCode = Value
+ End Set
+ End Property
+
+ Public Property inCoTermPlaceName() As String
+ Get
+ Return Me._inCoTermPlaceName
+ End Get
+ Set
+ Me._inCoTermPlaceName = Value
+ End Set
+ End Property
+
+ Public Property inCoTermPlaceDescription() As String
+ Get
+ Return Me._inCoTermPlaceDescription
+ End Get
+ Set
+ Me._inCoTermPlaceDescription = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(inCoTermType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current inCoTermType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an inCoTermType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output inCoTermType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As inCoTermType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, inCoTermType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As inCoTermType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As inCoTermType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), inCoTermType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As inCoTermType
+ Return CType(Serializer.Deserialize(s), inCoTermType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current inCoTermType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an inCoTermType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output inCoTermType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As inCoTermType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, inCoTermType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As inCoTermType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As inCoTermType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Public Enum inCoTerm
+
+ '''
+ CFR
+
+ '''
+ CIF
+
+ '''
+ CIP
+
+ '''
+ CPT
+
+ '''
+ DAF
+
+ '''
+ DAP
+
+ '''
+ DAT
+
+ '''
+ DDP
+
+ '''
+ DDU
+
+ '''
+ DEQ
+
+ '''
+ DES
+
+ '''
+ EXW
+
+ '''
+ FAS
+
+ '''
+ FCA
+
+ '''
+ FOB
+
+ '''
+ XXX
+ End Enum
+
+
+ Partial Public Class consignmentType
+
+#Region "Private fields"
+ Private _borderTransportMeansType As consignmentTypeBorderTransportMeansType
+
+ Private _departureTransportMeansType As consignmentTypeDepartureTransportMeansType
+
+ Private _arrivalTransportMeansType As consignmentTypeArrivalTransportMeansType
+
+ Private _freightType As consignmentTypeFreightType
+
+ Private _goodsLocationName As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._freightType = New consignmentTypeFreightType()
+ Me._arrivalTransportMeansType = New consignmentTypeArrivalTransportMeansType()
+ Me._departureTransportMeansType = New consignmentTypeDepartureTransportMeansType()
+ Me._borderTransportMeansType = New consignmentTypeBorderTransportMeansType()
+ End Sub
+
+ Public Property borderTransportMeansType() As consignmentTypeBorderTransportMeansType
+ Get
+ Return Me._borderTransportMeansType
+ End Get
+ Set
+ Me._borderTransportMeansType = Value
+ End Set
+ End Property
+
+ Public Property departureTransportMeansType() As consignmentTypeDepartureTransportMeansType
+ Get
+ Return Me._departureTransportMeansType
+ End Get
+ Set
+ Me._departureTransportMeansType = Value
+ End Set
+ End Property
+
+ Public Property arrivalTransportMeansType() As consignmentTypeArrivalTransportMeansType
+ Get
+ Return Me._arrivalTransportMeansType
+ End Get
+ Set
+ Me._arrivalTransportMeansType = Value
+ End Set
+ End Property
+
+ Public Property freightType() As consignmentTypeFreightType
+ Get
+ Return Me._freightType
+ End Get
+ Set
+ Me._freightType = Value
+ End Set
+ End Property
+
+ Public Property goodsLocationName() As String
+ Get
+ Return Me._goodsLocationName
+ End Get
+ Set
+ Me._goodsLocationName = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consignmentType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current consignmentType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an consignmentType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output consignmentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consignmentType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As consignmentType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consignmentType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consignmentType
+ Return CType(Serializer.Deserialize(s), consignmentType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current consignmentType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an consignmentType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output consignmentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consignmentType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consignmentType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class consignmentTypeBorderTransportMeansType
+
+#Region "Private fields"
+ Private _modeCrossing As modeTransport
+
+ Private _nationalityCrossing As String
+
+ Private _identificationCrossingBorder As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property modeCrossing() As modeTransport
+ Get
+ Return Me._modeCrossing
+ End Get
+ Set
+ Me._modeCrossing = Value
+ End Set
+ End Property
+
+ Public Property nationalityCrossing() As String
+ Get
+ Return Me._nationalityCrossing
+ End Get
+ Set
+ Me._nationalityCrossing = Value
+ End Set
+ End Property
+
+ Public Property identificationCrossingBorder() As String
+ Get
+ Return Me._identificationCrossingBorder
+ End Get
+ Set
+ Me._identificationCrossingBorder = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consignmentTypeBorderTransportMeansType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current consignmentTypeBorderTransportMeansType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an consignmentTypeBorderTransportMeansType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output consignmentTypeBorderTransportMeansType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeBorderTransportMeansType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consignmentTypeBorderTransportMeansType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeBorderTransportMeansType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As consignmentTypeBorderTransportMeansType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consignmentTypeBorderTransportMeansType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consignmentTypeBorderTransportMeansType
+ Return CType(Serializer.Deserialize(s), consignmentTypeBorderTransportMeansType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current consignmentTypeBorderTransportMeansType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an consignmentTypeBorderTransportMeansType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output consignmentTypeBorderTransportMeansType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeBorderTransportMeansType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consignmentTypeBorderTransportMeansType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeBorderTransportMeansType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consignmentTypeBorderTransportMeansType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Public Enum modeTransport
+
+ '''
+ AIR
+
+ '''
+ HUMAN
+
+ '''
+ POSTAL
+
+ '''
+ RAIL
+
+ '''
+ ROAD
+
+ '''
+ SEA
+
+ '''
+ INLAND_WATERWAYS
+ End Enum
+
+
+ Partial Public Class consignmentTypeDepartureTransportMeansType
+
+#Region "Private fields"
+ Private _modeTransport As modeTransport
+
+ Private _identificationDeparture As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property modeTransport() As modeTransport
+ Get
+ Return Me._modeTransport
+ End Get
+ Set
+ Me._modeTransport = Value
+ End Set
+ End Property
+
+ Public Property identificationDeparture() As String
+ Get
+ Return Me._identificationDeparture
+ End Get
+ Set
+ Me._identificationDeparture = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consignmentTypeDepartureTransportMeansType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current consignmentTypeDepartureTransportMeansType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an consignmentTypeDepartureTransportMeansType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output consignmentTypeDepartureTransportMeansType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeDepartureTransportMeansType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consignmentTypeDepartureTransportMeansType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeDepartureTransportMeansType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As consignmentTypeDepartureTransportMeansType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consignmentTypeDepartureTransportMeansType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consignmentTypeDepartureTransportMeansType
+ Return CType(Serializer.Deserialize(s), consignmentTypeDepartureTransportMeansType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current consignmentTypeDepartureTransportMeansType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an consignmentTypeDepartureTransportMeansType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output consignmentTypeDepartureTransportMeansType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeDepartureTransportMeansType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consignmentTypeDepartureTransportMeansType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeDepartureTransportMeansType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consignmentTypeDepartureTransportMeansType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class consignmentTypeArrivalTransportMeansType
+
+#Region "Private fields"
+ Private _modeTransport As modeTransport
+
+ Private _identificationArrival As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property modeTransport() As modeTransport
+ Get
+ Return Me._modeTransport
+ End Get
+ Set
+ Me._modeTransport = Value
+ End Set
+ End Property
+
+ Public Property identificationArrival() As String
+ Get
+ Return Me._identificationArrival
+ End Get
+ Set
+ Me._identificationArrival = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consignmentTypeArrivalTransportMeansType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current consignmentTypeArrivalTransportMeansType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an consignmentTypeArrivalTransportMeansType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output consignmentTypeArrivalTransportMeansType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeArrivalTransportMeansType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consignmentTypeArrivalTransportMeansType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeArrivalTransportMeansType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As consignmentTypeArrivalTransportMeansType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consignmentTypeArrivalTransportMeansType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consignmentTypeArrivalTransportMeansType
+ Return CType(Serializer.Deserialize(s), consignmentTypeArrivalTransportMeansType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current consignmentTypeArrivalTransportMeansType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an consignmentTypeArrivalTransportMeansType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output consignmentTypeArrivalTransportMeansType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeArrivalTransportMeansType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consignmentTypeArrivalTransportMeansType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeArrivalTransportMeansType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consignmentTypeArrivalTransportMeansType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class consignmentTypeFreightType
+
+#Region "Private fields"
+ Private _paymentMethod As modePaymentTransport
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property paymentMethod() As modePaymentTransport
+ Get
+ Return Me._paymentMethod
+ End Get
+ Set
+ Me._paymentMethod = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consignmentTypeFreightType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current consignmentTypeFreightType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an consignmentTypeFreightType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output consignmentTypeFreightType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeFreightType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consignmentTypeFreightType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignmentTypeFreightType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As consignmentTypeFreightType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consignmentTypeFreightType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consignmentTypeFreightType
+ Return CType(Serializer.Deserialize(s), consignmentTypeFreightType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current consignmentTypeFreightType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an consignmentTypeFreightType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output consignmentTypeFreightType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeFreightType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consignmentTypeFreightType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignmentTypeFreightType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consignmentTypeFreightType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Public Enum modePaymentTransport
+
+ '''
+ CASH
+
+ '''
+ CREDIT_CARD
+
+ '''
+ CHECK
+
+ '''
+ OTHER
+
+ '''
+ ELECTRONIC
+
+ '''
+ ACCOUNT_HOLDER
+
+ '''
+ NOT_PAYED_BEFOREHAND
+ End Enum
+
+
+ Partial Public Class consignorType
+
+#Region "Private fields"
+ Private _name As String
+
+ Private _address As addressType
+
+ Private _eoriNumber As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._address = New addressType()
+ End Sub
+
+ Public Property name() As String
+ Get
+ Return Me._name
+ End Get
+ Set
+ Me._name = Value
+ End Set
+ End Property
+
+ Public Property address() As addressType
+ Get
+ Return Me._address
+ End Get
+ Set
+ Me._address = Value
+ End Set
+ End Property
+
+
+ Public Property eoriNumber() As String
+ Get
+ Return Me._eoriNumber
+ End Get
+ Set
+ Me._eoriNumber = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consignorType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current consignorType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an consignorType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output consignorType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignorType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consignorType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consignorType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As consignorType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consignorType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consignorType
+ Return CType(Serializer.Deserialize(s), consignorType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current consignorType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an consignorType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output consignorType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignorType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consignorType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consignorType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consignorType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class consigneeType
+
+#Region "Private fields"
+ Private _name As String
+
+ Private _address As addressType
+
+ Private _eoriNumber As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._address = New addressType()
+ End Sub
+
+ Public Property name() As String
+ Get
+ Return Me._name
+ End Get
+ Set
+ Me._name = Value
+ End Set
+ End Property
+
+ Public Property address() As addressType
+ Get
+ Return Me._address
+ End Get
+ Set
+ Me._address = Value
+ End Set
+ End Property
+
+
+ Public Property eoriNumber() As String
+ Get
+ Return Me._eoriNumber
+ End Get
+ Set
+ Me._eoriNumber = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(consigneeType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current consigneeType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an consigneeType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output consigneeType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consigneeType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consigneeType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As consigneeType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As consigneeType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), consigneeType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As consigneeType
+ Return CType(Serializer.Deserialize(s), consigneeType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current consigneeType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an consigneeType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output consigneeType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consigneeType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, consigneeType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As consigneeType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As consigneeType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class goodsShipmentType
+
+#Region "Private fields"
+ Private _countryOfExportation As String
+
+ Private _natureOfTransaction As UShort
+
+ Private _deliveryDestination As String
+
+ Private _consignee As consigneeType
+
+ Private _consignor As consignorType
+
+ Private _consignment As consignmentType
+
+ Private _exitOffice As String
+
+ Private _internationalCommercialTerms As inCoTermType
+
+ Private _portOfLoading As portType
+
+ Private _portOfDischarge As portType
+
+ Private _shippingLine As String
+
+ Private _goodsItem As List(Of goodsItemType)
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._goodsItem = New List(Of goodsItemType)()
+ Me._portOfDischarge = New portType()
+ Me._portOfLoading = New portType()
+ Me._internationalCommercialTerms = New inCoTermType()
+ Me._consignment = New consignmentType()
+ Me._consignor = New consignorType()
+ Me._consignee = New consigneeType()
+ End Sub
+
+ Public Property countryOfExportation() As String
+ Get
+ Return Me._countryOfExportation
+ End Get
+ Set
+ Me._countryOfExportation = Value
+ End Set
+ End Property
+
+ Public Property natureOfTransaction() As UShort
+ Get
+ Return Me._natureOfTransaction
+ End Get
+ Set
+ Me._natureOfTransaction = Value
+ End Set
+ End Property
+
+ Public Property deliveryDestination() As String
+ Get
+ Return Me._deliveryDestination
+ End Get
+ Set
+ Me._deliveryDestination = Value
+ End Set
+ End Property
+
+ Public Property consignee() As consigneeType
+ Get
+ Return Me._consignee
+ End Get
+ Set
+ Me._consignee = Value
+ End Set
+ End Property
+
+ Public Property consignor() As consignorType
+ Get
+ Return Me._consignor
+ End Get
+ Set
+ Me._consignor = Value
+ End Set
+ End Property
+
+ Public Property consignment() As consignmentType
+ Get
+ Return Me._consignment
+ End Get
+ Set
+ Me._consignment = Value
+ End Set
+ End Property
+
+
+ Public Property exitOffice() As String
+ Get
+ Return Me._exitOffice
+ End Get
+ Set
+ Me._exitOffice = Value
+ End Set
+ End Property
+
+ Public Property internationalCommercialTerms() As inCoTermType
+ Get
+ Return Me._internationalCommercialTerms
+ End Get
+ Set
+ Me._internationalCommercialTerms = Value
+ End Set
+ End Property
+
+ Public Property portOfLoading() As portType
+ Get
+ Return Me._portOfLoading
+ End Get
+ Set
+ Me._portOfLoading = Value
+ End Set
+ End Property
+
+ Public Property portOfDischarge() As portType
+ Get
+ Return Me._portOfDischarge
+ End Get
+ Set
+ Me._portOfDischarge = Value
+ End Set
+ End Property
+
+ Public Property shippingLine() As String
+ Get
+ Return Me._shippingLine
+ End Get
+ Set
+ Me._shippingLine = Value
+ End Set
+ End Property
+
+
+ Public Property goodsItem() As List(Of goodsItemType)
+ Get
+ Return Me._goodsItem
+ End Get
+ Set
+ Me._goodsItem = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(goodsShipmentType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current goodsShipmentType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an goodsShipmentType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output goodsShipmentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsShipmentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsShipmentType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As goodsShipmentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As goodsShipmentType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), goodsShipmentType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As goodsShipmentType
+ Return CType(Serializer.Deserialize(s), goodsShipmentType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current goodsShipmentType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an goodsShipmentType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output goodsShipmentType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsShipmentType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, goodsShipmentType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As goodsShipmentType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As goodsShipmentType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class principalType
+
+#Region "Private fields"
+ Private _nameType As principalTypeNameType
+
+ Private _address As addressType
+
+ Private _taxIdentificationNumber As String
+
+ Private _contactPersonType As principalTypeContactPersonType
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Sub New()
+ MyBase.New
+ Me._contactPersonType = New principalTypeContactPersonType()
+ Me._address = New addressType()
+ Me._nameType = New principalTypeNameType()
+ End Sub
+
+ Public Property nameType() As principalTypeNameType
+ Get
+ Return Me._nameType
+ End Get
+ Set
+ Me._nameType = Value
+ End Set
+ End Property
+
+ Public Property address() As addressType
+ Get
+ Return Me._address
+ End Get
+ Set
+ Me._address = Value
+ End Set
+ End Property
+
+ Public Property taxIdentificationNumber() As String
+ Get
+ Return Me._taxIdentificationNumber
+ End Get
+ Set
+ Me._taxIdentificationNumber = Value
+ End Set
+ End Property
+
+ Public Property contactPersonType() As principalTypeContactPersonType
+ Get
+ Return Me._contactPersonType
+ End Get
+ Set
+ Me._contactPersonType = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(principalType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current principalType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an principalType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output principalType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As principalType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, principalType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As principalType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As principalType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), principalType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As principalType
+ Return CType(Serializer.Deserialize(s), principalType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current principalType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an principalType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output principalType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As principalType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, principalType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As principalType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As principalType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class principalTypeNameType
+
+#Region "Private fields"
+ Private _language As String
+
+ Private _value As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+
+ Public Property language() As String
+ Get
+ Return Me._language
+ End Get
+ Set
+ Me._language = Value
+ End Set
+ End Property
+
+
+ Public Property Value() As String
+ Get
+ Return Me._value
+ End Get
+ Set
+ Me._value = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(principalTypeNameType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current principalTypeNameType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an principalTypeNameType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output principalTypeNameType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As principalTypeNameType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, principalTypeNameType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As principalTypeNameType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As principalTypeNameType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), principalTypeNameType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As principalTypeNameType
+ Return CType(Serializer.Deserialize(s), principalTypeNameType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current principalTypeNameType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an principalTypeNameType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output principalTypeNameType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As principalTypeNameType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, principalTypeNameType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As principalTypeNameType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As principalTypeNameType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+
+
+ Partial Public Class principalTypeContactPersonType
+
+#Region "Private fields"
+ Private _contactPersonName As String
+
+ Private _contactPersonCommunicationNumber As String
+
+ Private _contactPersonEmail As String
+
+ Private _contactPersonFaxNumber As String
+
+ Private Shared sSerializer As XmlSerializer
+#End Region
+
+ Public Property contactPersonName() As String
+ Get
+ Return Me._contactPersonName
+ End Get
+ Set
+ Me._contactPersonName = Value
+ End Set
+ End Property
+
+ Public Property contactPersonCommunicationNumber() As String
+ Get
+ Return Me._contactPersonCommunicationNumber
+ End Get
+ Set
+ Me._contactPersonCommunicationNumber = Value
+ End Set
+ End Property
+
+ Public Property contactPersonEmail() As String
+ Get
+ Return Me._contactPersonEmail
+ End Get
+ Set
+ Me._contactPersonEmail = Value
+ End Set
+ End Property
+
+ Public Property contactPersonFaxNumber() As String
+ Get
+ Return Me._contactPersonFaxNumber
+ End Get
+ Set
+ Me._contactPersonFaxNumber = Value
+ End Set
+ End Property
+
+ Private Shared ReadOnly Property Serializer() As XmlSerializer
+ Get
+ If (sSerializer Is Nothing) Then
+ sSerializer = New XmlSerializerFactory().CreateSerializer(GetType(principalTypeContactPersonType))
+ End If
+ Return sSerializer
+ End Get
+ End Property
+
+#Region "Serialize/Deserialize"
+ '''
+ ''' Serializes current principalTypeContactPersonType object into an XML string
+ '''
+ ''' string XML value
+ Public Overridable Function Serialize() As String
+ Dim streamReader As System.IO.StreamReader = Nothing
+ Dim memoryStream As System.IO.MemoryStream = Nothing
+ Try
+ memoryStream = New System.IO.MemoryStream()
+ Dim xmlWriterSettings As System.Xml.XmlWriterSettings = New System.Xml.XmlWriterSettings()
+ xmlWriterSettings.Indent = True
+ xmlWriterSettings.IndentChars = " "
+ Dim xmlWriter As System.Xml.XmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings)
+ Serializer.Serialize(xmlWriter, Me)
+ memoryStream.Seek(0, SeekOrigin.Begin)
+ streamReader = New System.IO.StreamReader(memoryStream)
+ Return streamReader.ReadToEnd
+ Finally
+ If (Not (streamReader) Is Nothing) Then
+ streamReader.Dispose()
+ End If
+ If (Not (memoryStream) Is Nothing) Then
+ memoryStream.Dispose()
+ End If
+ End Try
+ End Function
+
+ '''
+ ''' Deserializes workflow markup into an principalTypeContactPersonType object
+ '''
+ ''' string workflow markup to deserialize
+ ''' Output principalTypeContactPersonType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As principalTypeContactPersonType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, principalTypeContactPersonType)
+ Try
+ obj = Deserialize(input)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String, ByRef obj As principalTypeContactPersonType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return Deserialize(input, obj, exception)
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal input As String) As principalTypeContactPersonType
+ Dim stringReader As System.IO.StringReader = Nothing
+ Try
+ stringReader = New System.IO.StringReader(input)
+ Return CType(Serializer.Deserialize(XmlReader.Create(stringReader)), principalTypeContactPersonType)
+ Finally
+ If (Not (stringReader) Is Nothing) Then
+ stringReader.Dispose()
+ End If
+ End Try
+ End Function
+
+ Public Overloads Shared Function Deserialize(ByVal s As System.IO.Stream) As principalTypeContactPersonType
+ Return CType(Serializer.Deserialize(s), principalTypeContactPersonType)
+ End Function
+#End Region
+
+ '''
+ ''' Serializes current principalTypeContactPersonType object into file
+ '''
+ ''' full path of outupt xml file
+ ''' output Exception value if failed
+ ''' true if can serialize and save into file; otherwise, false
+ Public Overridable Overloads Function SaveToFile(ByVal fileName As String, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ Try
+ SaveToFile(fileName)
+ Return True
+ Catch e As System.Exception
+ exception = e
+ Return False
+ End Try
+ End Function
+
+ Public Overridable Overloads Sub SaveToFile(ByVal fileName As String)
+ Dim streamWriter As System.IO.StreamWriter = Nothing
+ Try
+ Dim xmlString As String = Serialize()
+ Dim xmlFile As System.IO.FileInfo = New System.IO.FileInfo(fileName)
+ streamWriter = xmlFile.CreateText
+ streamWriter.WriteLine(xmlString)
+ streamWriter.Close()
+ Finally
+ If (Not (streamWriter) Is Nothing) Then
+ streamWriter.Dispose()
+ End If
+ End Try
+ End Sub
+
+ '''
+ ''' Deserializes xml markup from file into an principalTypeContactPersonType object
+ '''
+ ''' string xml file to load and deserialize
+ ''' Output principalTypeContactPersonType object
+ ''' output Exception value if deserialize failed
+ ''' true if this Serializer can deserialize the object; otherwise, false
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As principalTypeContactPersonType, ByRef exception As System.Exception) As Boolean
+ exception = Nothing
+ obj = CType(Nothing, principalTypeContactPersonType)
+ Try
+ obj = LoadFromFile(fileName)
+ Return True
+ Catch ex As System.Exception
+ exception = ex
+ Return False
+ End Try
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String, ByRef obj As principalTypeContactPersonType) As Boolean
+ Dim exception As System.Exception = Nothing
+ Return LoadFromFile(fileName, obj, exception)
+ End Function
+
+ Public Overloads Shared Function LoadFromFile(ByVal fileName As String) As principalTypeContactPersonType
+ Dim file As System.IO.FileStream = Nothing
+ Dim sr As System.IO.StreamReader = Nothing
+ Try
+ file = New System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read)
+ sr = New System.IO.StreamReader(file)
+ Dim xmlString As String = sr.ReadToEnd
+ sr.Close()
+ file.Close()
+ Return Deserialize(xmlString)
+ Finally
+ If (Not (file) Is Nothing) Then
+ file.Dispose()
+ End If
+ If (Not (sr) Is Nothing) Then
+ sr.Dispose()
+ End If
+ End Try
+ End Function
+ End Class
+End Namespace
diff --git a/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.xsd b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.xsd
new file mode 100644
index 0000000..4cf6d07
--- /dev/null
+++ b/SDL/VERAG_PROG_ALLGEMEIN/Schnittstellen/GASTON_SCHUL/agsCustomsExchange.xsd
@@ -0,0 +1,939 @@
+
+
+
+
+
+
+
+
+ Customs approved data for creating an export declaration.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ European Union registration and identification number for businesses
+ which undertake the import or export of goods into or out of the EU.
+ It comprises of the ISO 3166 Alpha-2 country code followed by
+ a code or number that is unique in the member state.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ European Union registration and identification number for businesses
+ which undertake the import or export of goods into or out of the EU.
+ It comprises of the ISO 3166 Alpha-2 country code followed by
+ a code or number that is unique in the member state.
+
+
+
+
+
+
+
+
+
+
+
+