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