You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1214 lines
54 KiB

Imports System.IO
Imports System.Xml
Imports System.Xml.Schema
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Public Class xmlHandling
#Region "Properties"
Dim m_result As Boolean
Property Result As Boolean
Get
Return m_result
End Get
Set(value As Boolean)
m_result = value
End Set
End Property
#End Region
#Region "Deklarationen"
Dim Partner_Typ As String
Dim Partner_Art As String
Dim Resultvalue As String
Dim PersonBeziehung As New DataTable
Dim AddrBeziehung As New DataTable
Dim sAction As String = ""
Dim doc As New XmlDocument
Dim partnernr As Integer
Dim vvr As New DataTable
Dim pnr As Integer = 0
Dim Angestelltenart As String = ""
Dim vipCode As String = ""
#End Region
Sub New(ByVal strdata As String)
Try
Me.Result = True
Dim ds As New DataSet
If Result Then
doc.LoadXml(strdata)
Dim XMLType As String = XmlHelper.GetItemValueByTagName(doc, "resultName")
Select Case XMLType
Case "Partner Stammdaten"
Partner_Typ = XmlHelper.GetItemValueByTagName(doc, "typ")
Partner_Art = XmlHelper.GetItemValueByTagName(doc, "art")
PersonBeziehung = XmlHelper.ConvertXmlNodeListToDataTable(doc, "personbeziehung")
AddrBeziehung = XmlHelper.ConvertXmlNodeListToDataTable(doc, "adresse")
Angestelltenart = XmlHelper.GetItemValueByTagName(doc, "angestelltenArt")
vipCode = XmlHelper.GetItemValueByTagName(doc, "vipCode")
Result = Update_Partner()
Result = Update_Angestelltenart(Angestelltenart)
Result = Update_VIP(vipCode)
Case "Adresse Stammdaten"
Dim Adresstype As String
' Version mit E-Mail-Adressen
Adresstype = XmlHelper.GetItemValueByTagName(doc, "medium")
If Adresstype = "email" Then
update_email()
Else
Result = update_Adresse()
End If
Case "Container Stammdaten"
AddrBeziehung = XmlHelper.ConvertXmlNodeListToDataTable(doc, "adresse")
Result = update_vv()
Case "Document Stammdaten"
Case "Konto Stammdaten"
AddrBeziehung = XmlHelper.ConvertXmlNodeListToDataTable(doc, "adresse")
Result = update_vv()
Case "Loan Stammdaten"
AddrBeziehung = XmlHelper.ConvertXmlNodeListToDataTable(doc, "adresse")
Result = update_vv()
Case "Mitarbeiter Stammdaten"
Case "Verfuegungsrechte"
vvr = XmlHelper.ConvertXmlNodeListToDataTable(doc, "Verfuegungsrecht")
pnr = XmlHelper.GetItemValueByTagName(doc, "BpKey")
Result = Update_Verfuegungsrechte()
Case "Schrankfach Stammdaten"
AddrBeziehung = XmlHelper.ConvertXmlNodeListToDataTable(doc, "adresse")
Result = update_vv()
Case "EDK-Dokument Referenz"
Dim dokumentid As String = XmlHelper.GetItemValueByTagName(doc, "objektRef")
Dim Ref1 As String = XmlHelper.GetItemValueByTagName(doc, "externeNr")
Dim Ref2 As String = XmlHelper.GetItemValueByTagName(doc, "formatierteNr")
Result = Update_Dokumentreferenz(dokumentid, Ref1, Ref2)
Case Else
m_log.log("EDKB04: Error bei XML->Obj: xmltype:" & XMLType, Common.Common.JournalEntryType.Error)
Result = False
End Select
End If
Catch ex As Exception
m_log.log("EDKB04: Fehler beim Einlesen des XML", Common.Common.JournalEntryType.Error)
Result = False
End Try
End Sub
#Region "Partner"
#Region "PartnerUpdate"
Private Function Update_Partner() As Boolean
Try
Dim dbRow As DataRow
partnernr = XmlHelper.GetItemValueByTagName(doc, "avqObjKey")
Dim dsPartner As New DataSet
Dim daPartner As New SqlDataAdapter("select * from partner where nrpar00 = " & partnernr.ToString, Globals.sConnectionString_edoka)
daPartner.SelectCommand.CommandTimeout = Params.SqlTimeout
'Saldierung: Status = 7 oder Ablaufdatum <=now
If hlp_Check_Saldierung(XmlHelper.GetItemValueByTagName(doc, "ablaufDatum"), XmlHelper.GetItemValueByTagName(doc, "status")) = True Then
Try
'-------------------------------------------------------------------------------
'- Saldierung
'-------------------------------------------------------------------------------
Dim scpartsald As New SqlCommand
Dim copartsald As New SqlConnection
scpartsald.CommandText = "dbo.sp_saldierter_partner"
scpartsald.CommandTimeout = Params.SqlTimeout
scpartsald.Parameters.Add(New SqlParameter("@nrpar00", SqlDbType.Int, 36, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, partnernr))
scpartsald.CommandType = CommandType.StoredProcedure
copartsald.ConnectionString = Globals.sConnectionString_edoka
copartsald.Open()
scpartsald.Connection = copartsald
scpartsald.ExecuteNonQuery()
copartsald.Close()
scpartsald.Dispose()
copartsald.Dispose()
sAction = " Saldierung"
m_log.log("EDKB04: Partner : " & partnernr.ToString & sAction & " erfolgreich", Common.Common.JournalEntryType.Information)
Catch ex As Exception
m_log.log("EDKB04: Partner-Saldierung error (sp_saldierter_partner): PNR=" & partnernr.ToString & ", Msg:" & Err.Description, Common.Common.JournalEntryType.Error)
Return False
End Try
Return True
End If
'-------------------------------------------------------------------------------
'- Partner insert / update
'-------------------------------------------------------------------------------
Dim neuer_partner As Boolean
daPartner.Fill(dsPartner, "partner")
Dim dtPartner As DataTable = dsPartner.Tables(0)
If dsPartner.Tables(0).Rows.Count < 1 Then
neuer_partner = True
sAction = " insert"
dbRow = dtPartner.NewRow()
Else
neuer_partner = False
sAction = " update"
dbRow = dsPartner.Tables(0).Rows(0)
End If
If XmlHelper.GetItemValueByTagName(doc, "kundenSegment") = "WEBP" Then
dbRow("IDMSG00") = XmlHelper.GetItemValueByTagName(doc, "kundenSegment")
dbRow("bkpar00") = XmlHelper.GetItemValueByTagName(doc, "vorname") + " " + XmlHelper.GetItemValueByTagName(doc, "name")
End If
dbRow("nrpar00") = partnernr
dbRow("validto") = System.DBNull.Value
If XmlHelper.GetItemValueByTagName(doc, "ablaufDatum") <> "" Then
dbRow("validto") = hlp_Transformdate(XmlHelper.GetItemValueByTagName(doc, "ablaufDatum"))
End If
dbRow("saldiert") = hlp_Check_Saldierung(XmlHelper.GetItemValueByTagName(doc, "ablaufDatum"), XmlHelper.GetItemValueByTagName(doc, "status"))
dbRow("cdvsa00") = 0
dbRow("azepl00") = 1
dbRow("nrparad") = "00" & partnernr.ToString
dbRow("TXADZ012") = ""
dbRow("TXADZ022") = ""
dbRow("TXADZ032") = ""
dbRow("TXADZ042") = ""
dbRow("TXADZ052") = ""
dbRow("TXADZ062") = ""
dbRow("TXADZ072") = ""
dbRow("TXADZ011") = ""
dbRow("TXADZ021") = ""
dbRow("TXADZ031") = ""
dbRow("TXADZ041") = ""
dbRow("TXADZ051") = ""
dbRow("TXADZ061") = ""
dbRow("TXADZ071") = ""
dbRow("TSMUT00") = hlp_MutDatum("1")
dbRow("VDMUTER") = Params.CDMuter
If XmlHelper.GetItemValueByTagName(doc, "betreuerId") <> "" Then
dbRow("nrbeu01") = XmlHelper.GetItemValueByTagName(doc, "betreuerId")
Else
If Not IsNumeric(dbRow("nrbeu01")) Then
dbRow("nrbeu01") = Params.DefaultBetreuerID
End If
End If
Dim kn As String = XmlHelper.GetItemValueByTagName(doc, "kurzName")
'20140921 - gem. DRO
'Kurzname ist ggf. ein Alias und wird nicht berücksichtigt
kn = ""
Select Case Partner_Art
Case "NAT"
dbRow("cdpaw00") = "N"
dbRow("nrnat01") = hlp_TransformLand(XmlHelper.GetItemValueByTagName(doc, "nationalitaet"))
dbRow("nrdom00") = hlp_TransformLand(XmlHelper.GetItemValueByTagName(doc, "domizilCode"))
Dim s As String = hlp_Transformdate(XmlHelper.GetItemValueByTagName(doc, "geburtsDatum"))
If s <> "" Then dbRow("GebGruendDat") = s
If kn <> "" Then
dbRow("bkpar00") = kn
dbRow("Kurzname_Stamm") = XmlHelper.GetItemValueByTagName(doc, "name")
Else
dbRow("bkpar00") = XmlHelper.GetItemValueByTagName(doc, "vorname") + " " + XmlHelper.GetItemValueByTagName(doc, "name")
dbRow("kurzname_stamm") = dbRow("bkpar00")
End If
Case "JUR"
dbRow("cdpaw00") = "J"
dbRow("nrnat01") = hlp_TransformLand(XmlHelper.GetItemValueByTagName(doc, "domizilCode"))
If kn <> "" Then
dbRow("bkpar00") = kn
dbRow("Kurzname_Stamm") = XmlHelper.GetItemValueByTagName(doc, "name")
Else
dbRow("bkpar00") = XmlHelper.GetItemValueByTagName(doc, "vorname") + " " + XmlHelper.GetItemValueByTagName(doc, "name")
dbRow("kurzname_stamm") = dbRow("bkpar00")
End If
Case Else
dbRow("cdpaw00") = "U"
dbRow("nrnat01") = hlp_TransformLand(XmlHelper.GetItemValueByTagName(doc, "domizilCode"))
If kn <> "" Then
dbRow("bkpar00") = kn
dbRow("Kurzname_Stamm") = XmlHelper.GetItemValueByTagName(doc, "name")
Else
dbRow("bkpar00") = XmlHelper.GetItemValueByTagName(doc, "vorname") + " " + XmlHelper.GetItemValueByTagName(doc, "name")
dbRow("kurzname_stamm") = dbRow("bkpar00")
End If
End Select
If neuer_partner Then
dtPartner.Rows.Add(dbRow)
End If
Dim cb As New SqlCommandBuilder(daPartner)
daPartner.Update(dsPartner, "partner")
kn = ""
kn = Update_BKPAR00(dbRow("Nrpar00"))
If kn <> "" Then
dbRow("BKPAR00") = Trim(dbRow("BKPAR00")) + ", " + kn
dbRow("kurzname_stamm") = dbRow("BKPAR00")
daPartner.Update(dsPartner, "partner")
End If
daPartner.Dispose()
dsPartner.Clear()
Update_Adressbeziehungen()
Update_PersonBeziehung()
'MsgBox(partnernr)
m_log.log("EDKB04: Partner : " & partnernr.ToString & sAction & " erfolgreich", Common.Common.JournalEntryType.Information)
Return True
Catch ex As Exception
m_log.log("EDKB04: DBHandling.Partner, Tabelle partner: " & partnernr.ToString & ex.Message, Common.Common.JournalEntryType.Error)
Return False
End Try
End Function
Private Function Update_BKPAR00(ByVal pnr As Integer) As String
Dim dsAddr As New DataSet
Dim tempkn As String = ""
Try
Dim sql As String = "SELECT dbo.PartnerAdresse.Partnernr, dbo.Partner_Adresse.ORT FROM dbo.Partner_Adresse INNER JOIN "
sql = sql + "dbo.PartnerAdresse ON dbo.Partner_Adresse.ADDR_OBJ_ID = dbo.PartnerAdresse.ADDR_OBJ_ID "
sql = sql + "WHERE (dbo.PartnerAdresse.Partnernr = " + pnr.ToString + ")"
sql = sql + " and (dbo.PartnerAdresse.aktiv = 1) order by adresstype"
Dim daAddr As New SqlDataAdapter(sql, Globals.sConnectionString_edoka)
daAddr.SelectCommand.CommandTimeout = Params.SqlTimeout
daAddr.Fill(dsAddr, "Adressen")
If dsAddr.Tables(0).Rows.Count > 0 Then
tempkn = dsAddr.Tables(0).Rows(0).Item("Ort").ToString
End If
Return tempkn
Catch
Return ""
Finally
dsAddr.Dispose()
End Try
End Function
Private Function Update_Angestelltenart(ByVal aart As String) As Boolean
Dim dsaart As New DataSet
Dim daaart As New SqlDataAdapter("select * from edoka_etmia0_data where nrpar00=" + partnernr.ToString, Globals.sConnectionString_edoka)
Try
daaart.SelectCommand.CommandTimeout = Params.SqlTimeout
daaart.Fill(dsaart, "Mitarbeiter")
If aart = "" And dsaart.Tables(0).Rows.Count > 0 Then
For Each dbrow As DataRow In dsaart.Tables(0).Rows
If dbrow("sarec00") = 2 Then
dbrow("sarec00") = 7
dbrow("tsmut00") = Now()
End If
Next
sAction = " Update "
Else
If dsaart.Tables(0).Rows.Count > 0 Then
dsaart.Tables(0).Rows(0).Item("sarec00") = 2
dsaart.Tables(0).Rows(0).Item("tsmut00") = Now
sAction = " Update "
Else
If aart <> "" Then
Dim dbRow As DataRow
dbRow = dsaart.Tables(0).NewRow
dbRow("NRPAR00") = partnernr
dbRow("NRVRN00") = 9999
dbRow("CDIDF00") = "EDKB04"
dbRow("NRSPA00") = 1
dbRow("BKMIA00") = "EDKB04"
dbRow("NRBTI00") = 0
dbRow("NRTEL00") = ""
dbRow("NRTFX00") = ""
dbRow("SABEU00") = "N"
dbRow("BEEML00") = ""
dbRow("CDMUTER") = 1
dbRow("TSMUT00") = Now
dbRow("DMERF00") = Now
dbRow("SAREC00") = "2"
dsaart.Tables(0).Rows.Add(dbRow)
sAction = " Insert "
End If
End If
End If
Dim cb As New SqlCommandBuilder(daaart)
daaart.Update(dsaart, "Mitarbeiter")
m_log.log("EDKB04: Mitarbeiter : " & partnernr.ToString & sAction & " erfolgreich", Common.Common.JournalEntryType.Information)
Return True
Catch ex As Exception
m_log.log("EDKB04: DBHandling.Mitarbeiter, Tabelle etmia0_data: " & partnernr.ToString & ex.Message, Common.Common.JournalEntryType.Error)
Return False
Finally
dsaart.Dispose()
daaart.Dispose()
End Try
End Function
Private Function Update_VIP(ByVal VIPCode As String) As Boolean
Dim dsaart As New DataSet
Dim daaart As New SqlDataAdapter("select * from edoka_ETVIP0_data where nrpar00=" + partnernr.ToString, Globals.sConnectionString_edoka)
Try
daaart.SelectCommand.CommandTimeout = Params.SqlTimeout
daaart.Fill(dsaart, "VIP")
If VIPCode = "N" And dsaart.Tables(0).Rows.Count > 0 Then
For Each dbrow As DataRow In dsaart.Tables(0).Rows
If dbrow("sarec00") = 2 Then
dbrow("sarec00") = 7
dbrow("tsmut00") = Now()
End If
Next
sAction = " update "
Else
If dsaart.Tables(0).Rows.Count > 0 Then
dsaart.Tables(0).Rows(0).Item("sarec00") = 2
dsaart.Tables(0).Rows(0).Item("tsmut00") = Now
sAction = " update "
Else
If VIPCode <> "N" Then
Dim dbRow As DataRow
dbRow = dsaart.Tables(0).NewRow
dbRow("NRPAR00") = partnernr
dbRow("NRVRN00") = 9999
dbRow("NRVIP00") = 1
dbRow("DSMUT00") = Now
dbRow("SAREC00") = "2"
dsaart.Tables(0).Rows.Add(dbRow)
sAction = " Insert "
End If
End If
End If
Dim cb As New SqlCommandBuilder(daaart)
daaart.Update(dsaart, "VIP")
m_log.log("EDKB04: VIP : " & partnernr.ToString & sAction & " erfolgreich", Common.Common.JournalEntryType.Information)
Return True
Catch ex As Exception
m_log.log("EDKB04: DBHandling.Mitarbeiter, Tabelle etvip0_data: " & partnernr.ToString & ex.Message, Common.Common.JournalEntryType.Error)
Return False
Finally
dsaart.Dispose()
daaart.Dispose()
End Try
End Function
#End Region
#Region "Adressbeziehungen"
Function Update_Adressbeziehungen()
Dim Domiziladresse_fuer_Kurznamenupdate As Integer = 0
Dim ts As DateTime = Now
Dim found As Boolean = False
Dim dsAddr As New DataSet
Dim daAddr As New SqlDataAdapter("select * from partneradresse where aktiv=1 and partnernr=" + partnernr.ToString, Globals.sConnectionString_edoka)
daAddr.SelectCommand.CommandTimeout = Params.SqlTimeout
daAddr.Fill(dsAddr, "Adressen")
For Each r As DataRow In AddrBeziehung.Rows
For Each r1 As DataRow In dsAddr.Tables(0).Rows
found = False
If r1("ADDR_Obj_ID") = r("avqObjId") Then
If r1("Adresstype") = 1 And r("Typ") = "D" Then
Domiziladresse_fuer_Kurznamenupdate = r1("Addr_obj_id")
r1("mutiert_am") = ts
found = True
Exit For
End If
If r1("Adresstype") = 2 And r("Typ") = "H" Then
r1("mutiert_am") = ts
found = True
Exit For
End If
If r1("Adresstype") = 9 And r("Typ") = "A" Then
r1("mutiert_am") = ts
found = True
Exit For
End If
End If
Next
'-- Neue Adressbeziehung einfügen
If found = False Then
Dim rn As DataRow = dsAddr.Tables(0).NewRow
rn("Partnernr") = partnernr
'rn("Adressnr") = ""
rn("Addr_obj_id") = r("avqobjid")
Select Case r("Typ")
Case "D"
rn("Adresstype") = 1
Domiziladresse_fuer_Kurznamenupdate = rn("Addr_obj_id")
Case "H"
rn("Adresstype") = 2
Case Else
rn("Adresstype") = 9
End Select
rn("erstellt_am") = ts
rn("mutiert_am") = ts
rn("aktiv") = 1
rn("mutierer") = 1
dsAddr.Tables(0).Rows.Add(rn)
End If
Next
For Each r As DataRow In dsAddr.Tables(0).Rows
If r("mutiert_am") <> ts Then
r("aktiv") = 0
r("mutiert_am") = ts
r("mutierer") = 1
End If
Next
Dim cb As New SqlCommandBuilder(daAddr)
daAddr.Update(dsAddr, "Adressen")
daAddr.Dispose()
dsAddr.Dispose()
If Domiziladresse_fuer_Kurznamenupdate <> 0 Then Update_Kurzname(Domiziladresse_fuer_Kurznamenupdate)
End Function
#End Region
#Region "E-Mail"
Function Update_Email()
Dim AddrObjID As Integer
Try
Dim sql As String
Dim neue_Adrese As Boolean
Dim dbrow As DataRow
AddrObjID = XmlHelper.GetItemValueByTagName(doc, "AvqObjId")
sql = "SELECT * FROM Partneremail_data where Addr_Obj_ID = " + AddrObjID.ToString
Dim dsAddr As New DataSet
Dim daAddr As New SqlDataAdapter(sql, Globals.sConnectionString_edoka)
daAddr.SelectCommand.CommandTimeout = Params.SqlTimeout
daAddr.Fill(dsAddr, "Addr")
If dsAddr.Tables(0).Rows.Count < 1 Then
neue_Adrese = True
sAction = " insert"
dbrow = dsAddr.Tables(0).NewRow()
dbrow("Addr_obj_id") = AddrObjID
Else
neue_Adrese = False
sAction = " update"
dbrow = dsAddr.Tables(0).Rows(0)
End If
dbrow("email") = XmlHelper.GetItemValueByTagName(doc, "zeile1")
dbrow("erstellt_am") = Now
dbrow("erstellt_von") = 1
dbrow("mutiert_am") = Now
dbrow("mutiert_von") = 1
dbrow("aktiv") = 1
'dbrow("aktiv") = 1
dbrow("ablaufdatum") = ""
If XmlHelper.GetItemValueByTagName(doc, "ablaufDatumAdresse") <> "" Then
Dim s As String = XmlHelper.GetItemValueByTagName(doc, "ablaufDatumAdresse")
dbrow("ablaufdatum") = hlp_Convert_Date(s, 1)
'If dbrow("ablaufdatum") < Now Then dbrow("aktiv") = 0
End If
If neue_Adrese Then
dsAddr.Tables(0).Rows.Add(dbrow)
End If
Dim cb As New SqlCommandBuilder(daAddr)
daAddr.Update(dsAddr, "Addr")
daAddr.Dispose()
dsAddr.Clear()
'Update_Kurzname(AddrObjID)
m_log.log("EDKB04: E-Mail Adresse Addr_Obj_IDr: " & AddrObjID.ToString & sAction & " erfolgreich", Common.Common.JournalEntryType.Information)
Return True
Catch ex As Exception
m_log.log("EDKB04: E-Mail DBHandling.Adresse" + AddrObjID.ToString + " : " & ex.Message, Common.Common.JournalEntryType.Error)
Return False
End Try
End Function
#End Region
#Region "Personbeziehungen"
Function Update_PersonBeziehung()
Dim sql As String
If Partner_Typ = "BP" Then
sql = "Select * from partner_rel where aktiv=1 and bp_nr=" + partnernr.ToString
Else
sql = "Select * from partner_rel where aktiv=1 and person_nummer=" + partnernr.ToString
End If
Dim ts As DateTime = Now
Dim found As Boolean = False
Dim dsPBez As New DataSet
Dim daPBez As New SqlDataAdapter(sql, Globals.sConnectionString_edoka)
daPBez.SelectCommand.CommandTimeout = Params.SqlTimeout
daPBez.Fill(dsPBez, "Beziehung")
If Partner_Typ = "BP" Then
For Each r As DataRow In PersonBeziehung.Rows
For Each r1 As DataRow In dsPBez.Tables(0).Rows
found = False
If r1("Person_Nummer").ToString = r("key_to").ToString Then
If r("reltyp") = "reg_owner" And r1("BP_Person_Rel_Typ") = 2 Then
r1("mutiert_am") = ts
found = True
Exit For
End If
If r("reltyp") = "acc_owner_lim" And r1("BP_Person_Rel_Typ") = 6 Then
r1("mutiert_am") = ts
found = True
Exit For
End If
End If
Next
If Not found And (r("reltyp") = "reg_owner" Or r("reltyp") = "acc_owner_lim") Then
Dim rn As DataRow = dsPBez.Tables(0).NewRow
rn("Person_Nummer") = r("key_to")
rn("Person_Obj_ID") = 0
If r("reltyp") = "reg_owner" Then rn("BP_Person_Rel_Typ") = 6
If r("reltyp") = "acc_owner_lim" Then rn("BP_Person_Rel_Typ") = 2
If r("reltyp") = "acc_owner" Then rn("BP_Person_Rel_Typ") = 1
rn("bp_nr") = partnernr
rn("erstellt_am") = ts
rn("mutiert_am") = ts
rn("Mutierer") = 1
rn("Gueltig_bis") = hlp_Convert_Date(r("end_date"), 1)
If rn("gueltig_bis") < Now Then rn("Aktiv") = 0 Else rn("aktiv") = 1
dsPBez.Tables(0).Rows.Add(rn)
End If
Next
For Each r As DataRow In dsPBez.Tables(0).Rows
If r("mutiert_am") <> ts Then
r("aktiv") = 0
r("mutiert_am") = ts
r("mutierer") = 1
End If
Next
Dim cb As New SqlCommandBuilder(daPBez)
daPBez.Update(dsPBez, "Beziehung")
daPBez.Dispose()
daPBez.Dispose()
Else
For Each r As DataRow In PersonBeziehung.Rows
For Each r1 As DataRow In dsPBez.Tables(0).Rows
found = False
If r1("BP_Nr").ToString = r("key_to").ToString Then
If r("reltyp") = "reg_owner" And r1("BP_Person_Rel_Typ") = 2 Then
r1("mutiert_am") = ts
found = True
Exit For
End If
If r("reltyp") = "acc_owner_lim" And r1("BP_Person_Rel_Typ") = 6 Then
found = True
r1("mutiert_am") = ts
Exit For
End If
End If
Next
If Not found And (r("reltyp") = "reg_owner" Or r("reltyp") = "acc_owner_lim") Then
Dim rn As DataRow = dsPBez.Tables(0).NewRow
rn("Person_Nummer") = partnernr
rn("Person_Obj_ID") = 0
If r("reltyp") = "reg_owner" Then rn("BP_Person_Rel_Typ") = 6
If r("reltyp") = "acc_owner_lim" Then rn("BP_Person_Rel_Typ") = 2
If r("reltyp") = "acc_owner" Then rn("BP_Person_Rel_Typ") = 1
rn("bp_nr") = r("key_to")
rn("erstellt_am") = ts
rn("mutiert_am") = ts
rn("Mutierer") = 1
rn("Gueltig_bis") = hlp_Convert_Date(r("end_date"), 1)
If rn("gueltig_bis") < Now Then rn("Aktiv") = 0 Else rn("aktiv") = 1
dsPBez.Tables(0).Rows.Add(rn)
End If
Next
For Each r As DataRow In dsPBez.Tables(0).Rows
If r("mutiert_am") <> ts Then
r("aktiv") = 0
r("mutiert_am") = ts
r("mutierer") = 1
End If
Next
Dim cb As New SqlCommandBuilder(daPBez)
daPBez.Update(dsPBez, "Beziehung")
daPBez.Dispose()
daPBez.Dispose()
End If
End Function
#End Region
#End Region
#Region "Adresse"
Public Function update_Adresse()
Dim AddrObjID As Integer
Try
Dim sql As String
Dim neue_Adrese As Boolean
Dim dbrow As DataRow
AddrObjID = XmlHelper.GetItemValueByTagName(doc, "AvqObjId")
sql = "SELECT * FROM Partner_Adresse where Addr_Obj_ID = " + AddrObjID.ToString
Dim dsAddr As New DataSet
Dim daAddr As New SqlDataAdapter(sql, Globals.sConnectionString_edoka)
daAddr.SelectCommand.CommandTimeout = Params.SqlTimeout
daAddr.Fill(dsAddr, "Addr")
If dsAddr.Tables(0).Rows.Count < 1 Then
neue_Adrese = True
sAction = " insert"
dbrow = dsAddr.Tables(0).NewRow()
dbrow("Addr_obj_id") = AddrObjID
Else
neue_Adrese = False
sAction = " update"
dbrow = dsAddr.Tables(0).Rows(0)
End If
dbrow("Zeile1") = XmlHelper.GetItemValueByTagName(doc, "zeile1")
dbrow("Zeile2") = XmlHelper.GetItemValueByTagName(doc, "zeile2")
dbrow("Zeile3") = XmlHelper.GetItemValueByTagName(doc, "zeile3")
dbrow("Zeile4") = XmlHelper.GetItemValueByTagName(doc, "zeile4")
dbrow("Zeile5") = XmlHelper.GetItemValueByTagName(doc, "zeile5")
dbrow("Zeile6") = XmlHelper.GetItemValueByTagName(doc, "zeile6")
dbrow("Zeile7") = XmlHelper.GetItemValueByTagName(doc, "zeile7")
dbrow("Titel_Vorgestellt") = XmlHelper.GetItemValueByTagName(doc, "titelVorgestellt")
dbrow("Vorname_1") = XmlHelper.GetItemValueByTagName(doc, "vorname1")
dbrow("Vorname_2") = XmlHelper.GetItemValueByTagName(doc, "vorname2")
dbrow("Vorname_3") = XmlHelper.GetItemValueByTagName(doc, "vorname3")
dbrow("Vorname_4") = XmlHelper.GetItemValueByTagName(doc, "vorname4")
dbrow("Nachname") = XmlHelper.GetItemValueByTagName(doc, "nachname")
dbrow("Firma") = XmlHelper.GetItemValueByTagName(doc, "firma")
dbrow("namenzusatz") = XmlHelper.GetItemValueByTagName(doc, "namenZusatz")
dbrow("ortzusatz") = XmlHelper.GetItemValueByTagName(doc, "ortZusatz")
dbrow("Weiler") = XmlHelper.GetItemValueByTagName(doc, "weiler")
dbrow("strasse") = XmlHelper.GetItemValueByTagName(doc, "strasse")
dbrow("hausnr") = XmlHelper.GetItemValueByTagName(doc, "hausNr")
dbrow("briefanrede1code") = ""
dbrow("briefanrede1") = XmlHelper.GetItemValueByTagName(doc, "briefanrede1")
dbrow("briefanrede2zeile1") = XmlHelper.GetItemValueByTagName(doc, "briefanrede2Zeile1")
dbrow("briefanrede2zeile2") = XmlHelper.GetItemValueByTagName(doc, "briefanrede2Zeile2")
dbrow("plz") = XmlHelper.GetItemValueByTagName(doc, "plz")
dbrow("Ort") = XmlHelper.GetItemValueByTagName(doc, "ort")
dbrow("Land") = hlp_TransformLand(XmlHelper.GetItemValueByTagName(doc, "land"))
dbrow("Laendercode") = hlp_TransformLand(XmlHelper.GetItemValueByTagName(doc, "laenderCode"))
dbrow("banklagernd") = XmlHelper.GetItemValueByTagName(doc, "banklagernd")
dbrow("versandart") = XmlHelper.GetItemValueByTagName(doc, "versandart")
dbrow("beban01") = hlp_transform_Briefanrede(XmlHelper.GetItemValueByTagName(doc, "briefanrede2Zeile1"))
dbrow("beban02") = XmlHelper.GetItemValueByTagName(doc, "briefanrede2Zeile2")
'dbrow("aktiv") = 1
dbrow("ablaufdatum") = ""
If XmlHelper.GetItemValueByTagName(doc, "ablaufDatumAdresse") <> "" Then
Dim s As String = XmlHelper.GetItemValueByTagName(doc, "ablaufDatumAdresse")
dbrow("ablaufdatum") = hlp_Convert_Date(s, 1)
'If dbrow("ablaufdatum") < Now Then dbrow("aktiv") = 0
End If
If neue_Adrese Then
dsAddr.Tables(0).Rows.Add(dbrow)
End If
Dim cb As New SqlCommandBuilder(daAddr)
daAddr.Update(dsAddr, "Addr")
daAddr.Dispose()
dsAddr.Clear()
Update_Kurzname(AddrObjID)
m_log.Log("EDKB04: Adresse Addr_Obj_IDr: " & AddrObjID.ToString & sAction & " erfolgreich", Common.Common.JournalEntryType.Information)
Return True
Catch ex As Exception
m_log.Log("EDKB04: DBHandling.Adresse" + AddrObjID.ToString + " : " & ex.Message, Common.Common.JournalEntryType.Error)
Return False
End Try
End Function
Private Sub Update_Kurzname(ByVal addrobjid As Integer)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_edkb04_update_kurzname"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn_edoka.scoDBConnection
scmCmdToExecute.Parameters.Add(New SqlParameter("@addrobjid", SqlDbType.VarChar, 16, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, addrobjid))
Try
conn_edoka.OpenConnection()
scmCmdToExecute.ExecuteNonQuery()
Catch exi As Exception
m_log.Log("EDKB04: Update Kurzname " & exi.Message & " - Addrobjid: " & addrobjid.ToString, Common.Common.JournalEntryType.Error)
Finally
conn_edoka.CloseConnection(True)
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
End Try
End Sub
#End Region
#Region "VV"
Public Function update_vv()
Try
Dim sql As String
Dim vv As String
Dim neue_vv As Boolean
Dim nrvvg00 As Integer
Dim dbrow As DataRow
Dim s As String
If XmlHelper.GetItemValueByTagName(doc, "externeNr") <> "" Then
sql = "SELECT * FROM vv WHERE NEVVG00 = '" + hlp_vv_format("NEVVG00", XmlHelper.GetItemValueByTagName(doc, "externeNr")) + "'"
Else
sql = "SELECT * FROM vv WHERE NAVVG00 = '" + XmlHelper.GetItemValueByTagName(doc, "formatierteNr") + "'"
End If
Dim dsVV As New DataSet
Dim daVV As New SqlDataAdapter(sql, Globals.sConnectionString_edoka)
daVV.SelectCommand.CommandTimeout = Params.SqlTimeout
daVV.Fill(dsVV, "VV")
If dsVV.Tables(0).Rows.Count < 1 Then
neue_vv = True
sAction = " insert"
dbrow = dsVV.Tables(0).NewRow()
dbrow("nrvvg00") = hlp_GetNewKey_vv()
Else
neue_vv = False
sAction = " update"
dbrow = dsVV.Tables(0).Rows(0)
End If
dbrow("validto") = System.DBNull.Value
If XmlHelper.GetItemValueByTagName(doc, "ablaufDatum") <> "" Then
dbrow("validto") = hlp_Convert_Date(XmlHelper.GetItemValueByTagName(doc, "ablaufDatum"), 1)
End If
dbrow("NAVVG00") = hlp_vv_format("NAVVG00", XmlHelper.GetItemValueByTagName(doc, "formatierteNr"))
'dbrow("NAVVG00") = XmlHelper.GetItemValueByTagName(doc, "formatierteNr")
vv = dbrow("NAVVG00")
If XmlHelper.GetItemValueByTagName(doc, "externeNr") = "" Then
s = hlp_TransformVVExtern(dbrow("NAVVG00"))
dbrow("NEVVG00") = hlp_vv_format("NEVVG00", s)
Else
dbrow("NEVVG00") = hlp_vv_format("NEVVG00", XmlHelper.GetItemValueByTagName(doc, "externeNr"))
End If
'dbrow("NEVVG00") = XmlHelper.GetItemValueByTagName(doc, "externeNr")
'If dbrow("NEVVG00") = "" Then dbrow("NEVVG00") = hlp_TransformVVExtern(dbrow("NAVVG00"))
'dbrow("NAVVG00") = XmlHelper.GetItemValueByTagName(doc, "formatierteNr")
If IsNumeric(XmlHelper.GetItemValueByTagName(doc, "produkt")) Then
dbrow("NRPRD00") = XmlHelper.GetItemValueByTagName(doc, "produkt")
Else
dbrow("NRPRD00") = 0
End If
dbrow("BEPRDLG") = hlp_vv_format("BEPRDLG", XmlHelper.GetItemValueByTagName(doc, "kontoTyp"))
If XmlHelper.GetItemValueByTagName(doc, "kontoTyp") = "" And XmlHelper.GetItemValueByTagName(doc, "produktBezeichnung") <> "" Then
dbrow("BEPRDLG") = hlp_vv_format("BEPRDLG", XmlHelper.GetItemValueByTagName(doc, "produktBezeichnung"))
End If
dbrow("SAREC00") = XmlHelper.GetItemValueByTagName(doc, "status")
If XmlHelper.GetItemValueByTagName(doc, "ablaufDatum") <> "" Then
If dbrow("validto") < Now Then
dbrow("SAREC00") = 7
End If
End If
dbrow("TXRBK00") = hlp_vv_format("TXRBK00", XmlHelper.GetItemValueByTagName(doc, "text"))
dbrow("NRPAR00") = XmlHelper.GetItemValueByTagName(doc, "partnerNummer")
If neue_vv Then
dsVV.Tables(0).Rows.Add(dbrow)
End If
nrvvg00 = dbrow("nrvvg00")
Dim cb As New SqlCommandBuilder(daVV)
daVV.Update(dsVV, "VV")
daVV.Dispose()
dsVV.Clear()
Update_VVAdressbeziehungen(nrvvg00)
m_log.Log("EDKB04: VV : " & vv.ToString & sAction & " erfolgreich", Common.Common.JournalEntryType.Information)
Return True
Catch ex As Exception
m_log.Log("EDKB04: DBHandling.VV, Tabelle VV: " & ex.Message, Common.Common.JournalEntryType.Error)
Return False
End Try
End Function
Function hlp_vv_format(ByVal typ As String, ByVal istring As String) As String
Dim s As String
s = istring
Select Case typ
Case "NAVVG00"
If Len(s) > 16 Then s = Left(s, 16)
Case "NEVVG00"
If Len(s) > 16 Then s = Left(s, 16)
If Not (InStr(s, "EBANK.", CompareMethod.Text)) Then
Do While Len(s) < 12
s = "0" & s
Loop
End If
Case "BEPRDLG", "TXRBK00"
If Len(s) > 35 Then s = Left(s, 35)
End Select
Return s
End Function
#Region "Adressbeziehungen"
Function Update_VVAdressbeziehungen(ByVal nrvvg00 As Integer)
Dim ts As DateTime = Now
Dim found As Boolean = False
Dim dsAddr As New DataSet
Dim daAddr As New SqlDataAdapter("select * from vvadresse where aktiv=1 and nrvvg00=" + nrvvg00.ToString, Globals.sConnectionString_edoka)
daAddr.SelectCommand.CommandTimeout = Params.SqlTimeout
daAddr.Fill(dsAddr, "Adressen")
For Each r As DataRow In AddrBeziehung.Rows
For Each r1 As DataRow In dsAddr.Tables(0).Rows
found = False
If r1("ADDR_Obj_ID") = r("avqObjId") Then
If r1("Adresstype") = 4 And r("Typ") = "A" Then
r1("mutiert_am") = ts
found = True
Exit For
End If
If r1("Adresstype") = 2 And r("Typ") = "H" Then
r1("mutiert_am") = ts
found = True
Exit For
End If
If r1("Adresstype") = 1 And r("Typ") = "D" Then
r1("mutiert_am") = ts
found = True
Exit For
End If
End If
Next
'-- Neue Adressbeziehung einfügen
If found = False Then
Dim rn As DataRow = dsAddr.Tables(0).NewRow
rn("nrvvg00") = nrvvg00
'rn("Adressnr") = ""
rn("Addr_obj_id") = r("avqobjid")
Select Case r("Typ")
Case "D"
rn("Adresstype") = 1
Case "H"
rn("Adresstype") = 2
Case Else
rn("Adresstype") = 4
End Select
rn("erstellt_am") = ts
rn("mutiert_am") = ts
rn("aktiv") = 1
rn("mutierer") = 1
dsAddr.Tables(0).Rows.Add(rn)
End If
Next
For Each r As DataRow In dsAddr.Tables(0).Rows
If r("mutiert_am") <> ts Then
r("aktiv") = 0
r("mutiert_am") = ts
r("mutierer") = 1
End If
Next
Dim cb As New SqlCommandBuilder(daAddr)
daAddr.Update(dsAddr, "Adressen")
daAddr.Dispose()
dsAddr.Dispose()
End Function
#End Region
#End Region
#Region "Verfuegungsrechte"
Public Function Update_Verfuegungsrechte()
Try
Dim ts As DateTime = Now
Dim found As Boolean = False
Dim dtToReturn As DataTable = New DataTable()
Try
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_get_verfuegungsrechte_pro_partner"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn_edoka.scoDBConnection
scmCmdToExecute.Parameters.Add(New SqlParameter("@nrpar00", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, pnr))
sdaAdapter.Fill(dtToReturn)
Catch
Return False
End Try
For Each r As DataRow In vvr.Rows
For Each rr As DataRow In dtToReturn.Rows
found = False
If r.Item("avq_auth_extl_ref") = rr.Item("avq_auth_extl_ref") Then
found = True
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.sp_update_verfuegungsrecht"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn_edoka.scoDBConnection
conn_edoka.OpenConnection()
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@avq_auth_extl_ref", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, rr.Item("avq_auth_extl_ref")))
scmCmdToExecute.Parameters.Add(New SqlParameter("@Gueltigbis", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, r.Item("end_date")))
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
scmCmdToExecute.ExecuteNonQuery()
m_log.Log("EDKB04: DBHandling.Verfuegungsrecht aktualisiert" + rr.Item(1).ToString + " erfolgreich ", Common.Common.JournalEntryType.Information)
Catch ex As Exception
m_log.Log("EDKB04: DBHandling.Verfuegungsrecht aktualisiert" + rr.Item(1).ToString + " nicht erfolgreich : " + ex.Message, Common.Common.JournalEntryType.Error)
Finally
scmCmdToExecute.Dispose()
conn_edoka.CloseConnection(True)
End Try
Exit For
End If
Next
If Not found Then
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.sp_update_verfuegungsrecht"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn_edoka.scoDBConnection
conn_edoka.OpenConnection()
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@avq_auth_extl_ref", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, r.Item("avq_auth_extl_ref")))
scmCmdToExecute.Parameters.Add(New SqlParameter("@Gueltigbis", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Now.ToShortDateString))
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
scmCmdToExecute.ExecuteNonQuery()
m_log.Log("EDKB04: DBHandling.Verfuegungsrecht Delete" + r.Item(1).ToString + " erfolgreich ", Common.Common.JournalEntryType.Information)
Catch ex As Exception
m_log.Log("EDKB04: DBHandling.Verfuegungsrecht Delete" + r.Item(1).ToString + " nicht erfolgreich : " + ex.Message, Common.Common.JournalEntryType.Error)
Finally
scmCmdToExecute.Dispose()
conn_edoka.CloseConnection(True)
End Try
End If
Next
Result = True
Catch ex As Exception
Result = False
End Try
End Function
Public Function Update_Dokumentreferenz(Docid As String, Ref1 As String, Ref2 As String)
Try
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.sp_update_verfuegungsrecht_dokumentid"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn_edoka.scoDBConnection
conn_edoka.OpenConnection()
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@Dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Docid))
scmCmdToExecute.Parameters.Add(New SqlParameter("@avq_auth_extl_ref", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Ref1))
scmCmdToExecute.Parameters.Add(New SqlParameter("@avq_auth_extl_ref1", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Ref2))
scmCmdToExecute.ExecuteNonQuery()
m_log.log("EDKB04: DBHandling.Verfuegungsrecht Update EDOKA-Dokument" + Docid + " " + Ref1 + " " + Ref2 + " erfolgreich ", Common.Common.JournalEntryType.Information)
Catch ex As Exception
m_log.log("EDKB04: DBHandling.Verfuegungsrecht Update EDOKA-Dokument" + Docid + " " + Ref1 + " " + Ref2 + " nicht erfolgreich : " + ex.Message, Common.Common.JournalEntryType.Error)
Finally
scmCmdToExecute.Dispose()
conn_edoka.CloseConnection(True)
End Try
Catch ex As Exception
End Try
End Function
#End Region
#Region "Helper"
Private Function hlp_GetNewKey_vv() As Integer
hlp_GetNewKey_vv = 0
Dim ssql As String
ssql = "SELECT TOP 1 NRVVG00 + 1 AS NewRow FROM vv Order By NRVVG00 DESC"
Dim connection As New SqlConnection()
Dim daTemp As New SqlDataAdapter(ssql, connection)
Dim dsTemp As New DataSet()
Try
connection.ConnectionString = Globals.sConnectionString_edoka
connection.Open()
daTemp.Fill(dsTemp)
hlp_GetNewKey_vv = dsTemp.Tables(0).Rows(0).Item(0)
Catch ex As Exception
Return False
Finally
dsTemp = Nothing
daTemp = Nothing
connection.Close()
connection = Nothing
End Try
End Function
Function hlp_Convert_Date(ByVal iDatum As String, fnkt As Integer) As String
Try
If iDatum = "" Then Return "2712-12-31"
Select Case fnkt
Case 1
Return iDatum.Substring(0, 4) + "-" + iDatum.Substring(4, 2) + "-" + iDatum.Substring(6, 2)
End Select
Catch ex As Exception
Return ""
End Try
End Function
Private Function hlp_Check_Saldierung(ByVal instr As String, ByVal Status As String) As Boolean
'Kein Validto-Datum und Status=7 Saldierung durchfüren
If Len(instr) = 0 Then
If Status = "7" Then Return True
End If
'Validto Datum vorhandên und kleiner oder gleich heute, dann Saldierung druchführen
If Len(instr) <> 0 Then
Dim d As String = hlp_Transformdate(instr)
If IsDate(d) And CDate(d) <= Now And Status = "7" Then Return True
If IsDate(d) And CDate(d) > Now And Status = "7" Then Return False
End If
Return False
End Function
Private Function hlp_MutDatum(ByVal sformat As String) As String
Dim result As String = ""
Dim sMonth As String = Month(Now())
If Len(sMonth) = 1 Then sMonth = "0" + sMonth
Dim sDay As String = Day(Now())
If Len(sDay) = 1 Then sDay = "0" & sDay
Dim sHour As String = Hour(Now())
If Len(sHour) = 1 Then sHour = "0" & sHour
Dim sMinute As String = Minute(Now())
If Len(sMinute) = 1 Then sMinute = "0" & sMinute
Dim sSecond As String = Second(Now())
If Len(sSecond) = 1 Then sSecond = "0" & sSecond
Select Case sformat
Case "1"
'Partner.tsmut00
result = Year(Now()) & "-" & sMonth & "-" & sDay & "-" & sHour & "." & sMinute & "." & sSecond & ".000000"
Case "2"
'etparn.TSMUT00
result = sDay & "." & sMonth & "." & Year(Now()) & " " & sHour & ":" & sMinute & ":" & sSecond
Case "3"
'etparn.DMERF00
result = sDay & "." & sMonth & "." & Year(Now())
End Select
Return result
End Function
Function hlp_TransformLand(ByVal inland As String) As String
Dim result As String = "756"
'MNK 24.08.2009 Version 1.7 - Anpassung Landaufbereitung
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_edkb04_get_nationalitaet"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn_edoka.scoDBConnection
scmCmdToExecute.Parameters.Add(New SqlParameter("@code", SqlDbType.VarChar, 16, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, inland))
scmCmdToExecute.Parameters.Add(New SqlParameter("@land", SqlDbType.VarChar, 16, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0))
Try
conn_edoka.OpenConnection()
scmCmdToExecute.ExecuteNonQuery()
result = scmCmdToExecute.Parameters("@land").Value
Return result
Catch exi As Exception
m_log.Log("EDKB04: Fehler TransformLand " & exi.Message & " - Code: " & inland, Common.Common.JournalEntryType.Error)
Return "756"
Finally
conn_edoka.CloseConnection(True)
scmCmdToExecute.Dispose()
sdaAdapter.Dispose()
End Try
End Function
Function hlp_Transformdate(ByVal Datum As String) As String
Try
Dim s As String
s = Datum.Substring(0, 4) + "-" + Datum.Substring(4, 2) + "-" + Datum.Substring(6, 2)
Try
Dim dd As DateTime
dd = s
Catch ex As Exception
s = System.DBNull.Value.ToString
End Try
Return s
Catch ex As Exception
Return ""
End Try
End Function
Private Function hlp_GetBetreuerID_Substitute(ByVal strPnr As String) As String
Dim result As String = Params.DefaultBetreuerID
'Prüfen ob bereit ein Betreuer eingetragen ist
Dim ssql As String
ssql = "SELECT TOP 1 NRBEU01 FROM edoka_etbez0 WHERE nrpar00 = " & strPnr
Dim connection As New SqlConnection()
Dim daTemp As New SqlDataAdapter(ssql, connection)
Dim dsTemp As New DataSet()
Try
connection.ConnectionString = Globals.sConnectionString_edoka
connection.Open()
daTemp.Fill(dsTemp)
If dsTemp.Tables(0).Rows.Count > 0 Then
If CStr(dsTemp.Tables(0).Rows(0).Item(0)) <> "0" Then
result = CStr(dsTemp.Tables(0).Rows(0).Item(0))
m_log.Log("EDKB04: Fehler in Partner, keine BetreuerID es wird der vorhandene Betreuer weiterverwendet, PartnerNr: " & strPnr, Common.Common.JournalEntryType.Error)
Else
m_log.Log("EDKB04: Fehler in Partner, keine BetreuerID es wurde der Defaultbetreuer eingesetzt, PartnerNr: " & strPnr, Common.Common.JournalEntryType.Error)
End If
Else
m_log.Log("EDKB04: Fehler in Partner, keine BetreuerID es wurde der Defaultbetreuer eingesetzt, PartnerNr: " & strPnr, Common.Common.JournalEntryType.Error)
End If
Catch ex As Exception
m_log.Log("EDKB04: Fehler in hlp_GetBetreuerID_Substitute, PartnerNr: " & strPnr & ", Error" & ex.Message, Common.Common.JournalEntryType.Error)
Finally
dsTemp = Nothing
daTemp = Nothing
connection.Close()
connection = Nothing
End Try
Return result
End Function
Private Function hlp_TransformVVExtern(ByVal instr As String) As String
Dim result As String = ""
Dim i As Integer = 1
Do While i <= Len(instr)
If Char.IsDigit(Mid(instr, i, 1).Chars(0)) Then
result = result + Mid(instr, i, 1)
End If
i = i + 1
Loop
Return result
End Function
Private Function hlp_transform_Briefanrede(ByVal Anrede As String) As String
Dim s As String
s = Anrede
s = s.Replace("Sehr geehrter ", "")
s = s.Replace("Sehr geehrte ", "")
Return s
End Function
#End Region
End Class