From 96e3848aed0421820d5ea121389f8117a5ed8fca Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Mon, 3 Apr 2023 17:03:01 +0200 Subject: [PATCH] =?UTF-8?q?UID-Pr=C3=BCfung=20bei=20bestehenden=20Kunden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SDL/SDL.vbproj | 2 +- SDL/kunden/usrCntlKundenuebersicht.vb | 2 +- VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb | 26 ++++++++---- .../Schnittstellen/cCreditSafeAPI.vb | 41 +++++++++++-------- 4 files changed, 44 insertions(+), 27 deletions(-) diff --git a/SDL/SDL.vbproj b/SDL/SDL.vbproj index ead951f1..56073978 100644 --- a/SDL/SDL.vbproj +++ b/SDL/SDL.vbproj @@ -87,7 +87,7 @@ false - SDL_TemporaryKey.pfx + Test.pfx diff --git a/SDL/kunden/usrCntlKundenuebersicht.vb b/SDL/kunden/usrCntlKundenuebersicht.vb index a4e13991..fb89ff1e 100644 --- a/SDL/kunden/usrCntlKundenuebersicht.vb +++ b/SDL/kunden/usrCntlKundenuebersicht.vb @@ -2791,7 +2791,7 @@ Public Class usrCntlKundenuebersicht Else - MsgBox("Authentiizierungsfehler für User " & VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSuser) + MsgBox("Authentifizierungsfehler für User " & VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSuser) End If diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb b/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb index 33f91db0..529ab26d 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb @@ -143,7 +143,7 @@ Public Class cAdressen End Sub - + Dim kundenNameUID = "" Function VALID(ByRef ERROR_TXT, KD) 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 @@ -153,24 +153,34 @@ Public Class cAdressen If If(Straße, "") = "" Then ERROR_TXT = "Bitte geben Sie die Straße an!" : Return False If Not hasEntry Then 'Prüfung Neuanlage: - If checkUID(KD) Then ERROR_TXT = "Die UID Nummer existiert bereits " & getUIDKunden(KD) & "!" & vbNewLine & "Bitte prüfen, damit es zu keiner doppelten Erfassung des Kunden kommt." : Return False + If checkUID(KD, kundenNameUID) Then ERROR_TXT = "Die UID Nummer existiert bereits " & kundenNameUID & "!" & vbNewLine & "Bitte prüfen, damit es zu keiner doppelten Erfassung des Kunden kommt." : Return False + Else + Try + Dim kunde = DirectCast(KD, cKunde) + Dim addresseTemp = New cAdressen(kunde.KundenNr) + If Not (addresseTemp.UstIdKz = UstIdKz And addresseTemp.UstIdNr = UstIdNr) Then + If checkUID(KD, kundenNameUID) Then ERROR_TXT = "Die UID Nummer existiert bereits " & kundenNameUID & "!" & vbNewLine & "Bitte prüfen, damit es zu keiner doppelten Erfassung des Kunden kommt." : Return False + 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 If Return True End Function - Function checkUID(KD As cKunde) As Boolean + Function checkUID(KD As cKunde, ByRef kundenNameUID As String) As Boolean If If(UstIdKz, String.Empty) <> String.Empty And If(UstIdNr, String.Empty) <> String.Empty Then - If SQL.getValueTxtBySql("SELECT COUNT(*) FROM [Adressen] INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [UstIdKz]='" & UstIdKz & "' AND [UstIdNr]='" & UstIdNr & "' and kunden.FilialenNr='" & KD.FilialenNr & "'", "FMZOLL") > 0 Then + kundenNameUID = SQL.getValueTxtBySql("SELECT TOP(1) '(' + Cast([AdressenNr] AS NVARCHAR) +' - '+ Cast([Name 1] AS NVARCHAR) + ')' FROM [Adressen] INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [UstIdKz]='" & UstIdKz & "' AND [UstIdNr]='" & UstIdNr & "' and kunden.FilialenNr='" & KD.FilialenNr & "'", "FMZOLL") + If kundenNameUID IsNot "" Then Return True End If End If Return False End Function - Function getUIDKunden(KD As cKunde) As String - Return SQL.getValueTxtBySql("SELECT TOP(1) '(' +[Name 1] +')' FROM [Adressen] INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [UstIdKz]='" & UstIdKz & "' AND [UstIdNr]='" & UstIdNr & "' and kunden.FilialenNr='" & KD.FilialenNr & "'", "FMZOLL") - 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 diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/cCreditSafeAPI.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/cCreditSafeAPI.vb index 305e00b7..54eb5142 100644 --- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/cCreditSafeAPI.vb +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/cCreditSafeAPI.vb @@ -97,23 +97,7 @@ Public Class cCreditSafeAPI If company IsNot Nothing Then - rest.AddQueryParam("countries", company.country) - - - If company.creditsafeNo <> "" Then - rest.AddQueryParam("safeNo", company.creditsafeNo) - - Else - - If company.vatNo <> "" Then - rest.AddQueryParam("vatNo", company.vatNo) - Else - If company.name <> "" Then - rest.AddQueryParam("name", company.name) - End If - End If - - End If + setSearchParam(rest, company) End If @@ -248,6 +232,29 @@ Public Class cCreditSafeAPI End Function + Shared Sub setSearchParam(ByRef rest As Chilkat.Rest, ByRef company As Company) + + + rest.AddQueryParam("countries", company.country) + + + If company.creditsafeNo <> "" Then + rest.AddQueryParam("safeNo", company.creditsafeNo) + + Else + + If company.vatNo <> "" Then + rest.AddQueryParam("vatNo", company.vatNo) + Else + If company.name <> "" Then + rest.AddQueryParam("name", company.name) + End If + End If + + End If + + End Sub + Shared Function checkDateOfLastRequest(company As Company) As Date