UID-Prüfung bei bestehenden Kunden

This commit is contained in:
2023-04-03 17:03:01 +02:00
parent 8b77628773
commit 96e3848aed
4 changed files with 44 additions and 27 deletions

View File

@@ -87,7 +87,7 @@
<SignAssembly>false</SignAssembly> <SignAssembly>false</SignAssembly>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<AssemblyOriginatorKeyFile>SDL_TemporaryKey.pfx</AssemblyOriginatorKeyFile> <AssemblyOriginatorKeyFile>Test.pfx</AssemblyOriginatorKeyFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Accessibility" /> <Reference Include="Accessibility" />

View File

@@ -2791,7 +2791,7 @@ Public Class usrCntlKundenuebersicht
Else 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 End If

View File

@@ -143,7 +143,7 @@ Public Class cAdressen
End Sub End Sub
Dim kundenNameUID = ""
Function VALID(ByRef ERROR_TXT, KD) As Boolean Function VALID(ByRef ERROR_TXT, KD) As Boolean
If If(Ordnungsbegriff, "") = "" Then ERROR_TXT = "Bitte geben Sie einen Ordnungsbegriff ein!" : Return False 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(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 If(Straße, "") = "" Then ERROR_TXT = "Bitte geben Sie die Straße an!" : Return False
If Not hasEntry Then If Not hasEntry Then
'Prüfung Neuanlage: '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 End If
Return True Return True
End Function 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 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 Return True
End If End If
End If End If
Return False Return False
End Function 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 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 newFlag Then INIT_NEWKD_DATA()
If AdressenNr <= 0 Then If AdressenNr <= 0 Then

View File

@@ -97,23 +97,7 @@ Public Class cCreditSafeAPI
If company IsNot Nothing Then If company IsNot Nothing Then
rest.AddQueryParam("countries", company.country) setSearchParam(rest, company)
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 If End If
@@ -248,6 +232,29 @@ Public Class cCreditSafeAPI
End Function 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 Shared Function checkDateOfLastRequest(company As Company) As Date