From dd225d37feb890df7abb4002e13e80cf301fed74 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 2 Sep 2025 15:04:55 +0200 Subject: [PATCH] offerten, Bonit, Kundenuebersicht --- SDL/Creditsafe/usrcntlCreditsafe.vb | 2 +- SDL/kunden/frmBonitätsverlauf.vb | 2 +- SDL/kunden/frmOffertenBearbeiten.vb | 13 +- SDL/kunden/usrCntlKundenuebersicht.vb | 96 +++++++++- .../Creditsafe/cCreditSafeAPI.vb | 166 +++++++++++++++--- 5 files changed, 247 insertions(+), 32 deletions(-) diff --git a/SDL/Creditsafe/usrcntlCreditsafe.vb b/SDL/Creditsafe/usrcntlCreditsafe.vb index ff77446d..767ca5cf 100644 --- a/SDL/Creditsafe/usrcntlCreditsafe.vb +++ b/SDL/Creditsafe/usrcntlCreditsafe.vb @@ -102,7 +102,7 @@ Public Class usrcntlCreditsafe If cs.authenticate() = "200" Then - Dim company = New cCreditSafeAPI.Company(cbxSprache._value, txtFirma.Text, txtUID.Text, cboLand.SelectedItem.Value, "", "", Nothing, txtStrasse.Text, txtPLZ.Text, txtOrt.Text, "", "", "", "", "", "") + Dim company = New cCreditSafeAPI.Company(cbxSprache._value, txtFirma.Text, txtUID.Text, cboLand.SelectedItem.Value, "", "", Nothing, txtStrasse.Text, txtPLZ.Text, txtOrt.Text, "", "", "", "", "", "", -1) lblWarning.Text = cs.searchCompanies(company, dataTable).ToString initDGV(dataTable) Cursor = Cursors.Default diff --git a/SDL/kunden/frmBonitätsverlauf.vb b/SDL/kunden/frmBonitätsverlauf.vb index 3467c0c2..9ea0832f 100644 --- a/SDL/kunden/frmBonitätsverlauf.vb +++ b/SDL/kunden/frmBonitätsverlauf.vb @@ -62,7 +62,7 @@ SELECT ba_Datum" & sqlIndex & ",ba_GruendundsDatum,ba_Umsatz,ba_Mitarbeiter,ba_ FROM tblBonitaetsauskunft where ba_KundenNr= " & KdSearchBox1.KdNr_value & " -UNION ALL + UNION ALL SELECT diff --git a/SDL/kunden/frmOffertenBearbeiten.vb b/SDL/kunden/frmOffertenBearbeiten.vb index cd2d1b52..6fdecbf3 100644 --- a/SDL/kunden/frmOffertenBearbeiten.vb +++ b/SDL/kunden/frmOffertenBearbeiten.vb @@ -32,7 +32,7 @@ Public Class frmOffertenBearbeiten cboSprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("RO", "RO")) cboSprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TR", "TR")) - cboFiliale.fillWithSQL("SELECT Filialen.FilialenNr FROM Filialen ORDER BY Filialen.FilialenNr", False, "FMZOLL") + cboFiliale.fillWithSQL("SELECT Filialen.FilialenNr FROM Filialen where Firma ='" & FIRMA_TMP & "' and Fil_Status = 'A' ORDER BY Filialen.FilialenNr", False, "FMZOLL", True) Dim where = "" @@ -42,20 +42,27 @@ Public Class frmOffertenBearbeiten cboSprache.Enabled = False cboSprache.changeItem("DE") where = " WHERE [Offertenstamm].[OffertenNr] IN (SELECT ao_OffertenNr FROM tblAbfertigungsartenFiliale inner join tblAbfertigungsartOffertenstamm on ao_Abfertigungsart=Abfertigungsart WHERE FilialenNr=5501 ) " - + If cboFiliale.Items.Count > 0 Then cboFiliale.SelectedIndex = 0 Case "VERAG" If KUNDE_ERW IsNot Nothing AndAlso KUNDE_ERW.kde_Fakturierung_Sprache IsNot Nothing AndAlso KUNDE_ERW.kde_Fakturierung_Sprache <> "" AndAlso KUNDE.FilialenNr = 8001 AndAlso (KUNDE.KundenNrZentrale <> 140000 And KUNDE.KundenNrZentrale <> 150000 And KUNDE.KundenNrZentrale <> 180000) Then cboSprache.changeItem(KUNDE_ERW.kde_Fakturierung_Sprache) cboSprache.Enabled = True + Else cboSprache.changeItem("DE") cboSprache.Enabled = False End If + If cboFiliale.Items.Count > 4 Then cboFiliale.SelectedIndex = 3 Else Case Else cboSprache.changeItem("DE") cboSprache.Enabled = False + If cboFiliale.Items.Count > 0 Then cboFiliale.SelectedIndex = 0 + End Select + If cboFiliale.Items.Count = 0 Then cboFiliale.changeItem("") + + Dim SQLsrt = " SELECT (select case when COUNT(*)>0 then 1 else 0 end FROM Offerten where KundenNr=" & kdnr & " and [Offerten].[OffertenNr]=[Offertenstamm].[OffertenNr]) as vorhanden," & " [Offertenstamm].[OffertenNr],[OffertenBez] FROM Offertenstamm " & where & " order by OffertenNr" @@ -86,7 +93,7 @@ Public Class frmOffertenBearbeiten If c.GetType Is GetType(VERAG_PROG_ALLGEMEIN.MyCheckBoxValue) Then ' MsgBox(c._value) If c.enabled And c.checked Then - Dim o As New VERAG_PROG_ALLGEMEIN.cOfferte(kdnr, c._value, cboFiliale._value, False) + Dim o As New VERAG_PROG_ALLGEMEIN.cOfferte(kdnr, c._value, IIf(cboFiliale._value <> "", cboFiliale._value, Nothing), False) o.Art = "Neuanlage" o.SAVE() 'speichern o.LOAD_POSITIONEN() 'positionen Laden diff --git a/SDL/kunden/usrCntlKundenuebersicht.vb b/SDL/kunden/usrCntlKundenuebersicht.vb index 39535c3e..6c18ec12 100644 --- a/SDL/kunden/usrCntlKundenuebersicht.vb +++ b/SDL/kunden/usrCntlKundenuebersicht.vb @@ -2842,7 +2842,7 @@ Public Class usrCntlKundenuebersicht Else land = ADRESSE.LandKz End If - Dim company As New cCreditSafeAPI.Company("", "", "", land, KUNDE_ERW.kde_CreditSaveNo, KUNDE_ERW.kde_CreditSaveId, Nothing, "", "", "", "", "", "", "", "", "") + Dim company As New cCreditSafeAPI.Company("", "", "", land, KUNDE_ERW.kde_CreditSaveNo, KUNDE_ERW.kde_CreditSaveId, Nothing, "", "", "", "", "", "", "", "", "", kdNr) If lblBonitaetsdatum._value <> Nothing Then @@ -2850,6 +2850,8 @@ Public Class usrCntlKundenuebersicht Dim lastChecked As Date = Date.ParseExact(lblBonitaetsdatum._value, "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo) company.lastChecked = IIf(IsDate(lastChecked), lastChecked, Today().AddDays(-1)) + cs.AddCompanyToPortfolio(company) + If lastChecked = Today Then Dim bonaus = VERAG_PROG_ALLGEMEIN.cBonitaetsauskunft.LOADByKdNrDate(kdNr, Today) If bonaus IsNot Nothing Then @@ -2994,6 +2996,70 @@ Public Class usrCntlKundenuebersicht KDERW.kde_BonitaetsStufe = cBonitaetsauskunft.ba_Risikostufe KDERW.SAVE() updateDatenarchivId() + + + '--------------------- weitere Kunden derselben CS-ID mitupdaten! + + Dim DTweitereKundenMitCreditsaveId As DataTable = SQL.loadDgvBySql("select kde_KundenNr from [tblKundenErweitert] where kde_KundenNr <> " & kdNr & " and kde_CreditSaveId = '" & company.creditSafeId & "'", "FMZOLL") + + If DTweitereKundenMitCreditsaveId.Rows.Count > 0 Then + + For Each row As DataRow In DTweitereKundenMitCreditsaveId.Rows + + If IsNumeric(row.Item("kde_KundenNr")) AndAlso row.Item("kde_KundenNr") > 0 Then + + Dim cBonTemp = New VERAG_PROG_ALLGEMEIN.cBonitaetsauskunft + + cBonTemp.ba_datenarchivId = cBonitaetsauskunft.ba_datenarchivId + cBonTemp.ba_BonitaetsIndex = cBonitaetsauskunft.ba_BonitaetsIndex + cBonTemp.ba_Risikostufe = cBonitaetsauskunft.ba_Risikostufe + cBonTemp.ba_CreditSaveBonitaetsScore = cBonitaetsauskunft.ba_CreditSaveBonitaetsScore + cBonTemp.ba_CreditSaveBonitaetsIndex = cBonitaetsauskunft.ba_CreditSaveBonitaetsIndex + cBonTemp.ba_CreditSaveRisikoklasse = cBonitaetsauskunft.ba_CreditSaveRisikoklasse + cBonTemp.ba_forcedRequest = cBonitaetsauskunft.ba_forcedRequest + cBonTemp.ba_KundenNr = (row.Item("kde_KundenNr")) + cBonTemp.ba_Datum = Now() + cBonTemp.ba_Pruefungstool = cBonitaetsauskunft.ba_Pruefungstool + cBonTemp.ba_CScounterBeforeRequest = cBonitaetsauskunft.ba_CScounterBeforeRequest + cBonTemp.ba_CScounterAfterRequest = cBonitaetsauskunft.ba_CScounterAfterRequest + cBonTemp.ba_CSmax = cBonitaetsauskunft.ba_CSmax + cBonTemp.ba_CScountry = cBonitaetsauskunft.ba_CScountry + cBonTemp.ba_Bankverbindung = cBonitaetsauskunft.ba_Bankverbindung + cBonTemp.ba_Zahlungsweise = cBonitaetsauskunft.ba_Zahlungsweise + cBonTemp.ba_Sonstiges = cBonitaetsauskunft.ba_Sonstiges + cBonTemp.ba_GSName = cBonitaetsauskunft.ba_GSName + cBonTemp.ba_UID = cBonitaetsauskunft.ba_UID + cBonTemp.ba_GruendundsDatum = cBonitaetsauskunft.ba_GruendundsDatum + cBonTemp.ba_Umsatz = cBonitaetsauskunft.ba_Umsatz + cBonTemp.ba_Geschaeftszweck = cBonitaetsauskunft.ba_Geschaeftszweck + cBonTemp.ba_Sachbearbeiter = cBonitaetsauskunft.ba_Sachbearbeiter + cBonTemp.ba_MaId = cBonitaetsauskunft.ba_MaId + cBonTemp.ba_LetztesBearbeitungsDatum = cBonitaetsauskunft.ba_LetztesBearbeitungsDatum + cBonTemp.ba_Firma = cBonitaetsauskunft.ba_Firma + cBonTemp.ba_Adresse1 = cBonitaetsauskunft.ba_Adresse1 + cBonTemp.ba_Adresse2 = cBonitaetsauskunft.ba_Adresse2 + cBonTemp.ba_Mitarbeiter = cBonitaetsauskunft.ba_Mitarbeiter + cBonTemp.ba_Hoechstkredit = cBonitaetsauskunft.ba_Hoechstkredit + cBonTemp.ba_GFName = cBonitaetsauskunft.ba_GFName + + If cBonTemp.SAVE Then + + SQL.doSQL("UPDATE Kunden SET Bonität='" & cBonTemp.ba_BonitaetsIndex & "', Bonitätsdatum='" & cBonTemp.ba_Datum & "', Höchstkredit=" & If(cBonTemp.ba_Hoechstkredit Is Nothing, "null", "'" & cBonTemp.ba_Hoechstkredit & "'") & " WHERE KundenNr='" & cBonTemp.ba_KundenNr & "'", "FMZOLL") + Dim KDERW_TEMP As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(row.Item("kde_KundenNr")) + KDERW_TEMP.kde_CreditSaveBonitaetsIndex = cBonitaetsauskunft.ba_CreditSaveBonitaetsIndex + KDERW_TEMP.kde_CreditSaveBonitaetsScore = cBonitaetsauskunft.ba_CreditSaveBonitaetsScore + KDERW_TEMP.kde_CreditSaveBonitaetsklasse = cBonitaetsauskunft.ba_CreditSaveRisikoklasse + KDERW_TEMP.kde_BonitaetsStufe = cBonitaetsauskunft.ba_Risikostufe + KDERW_TEMP.SAVE() + End If + + End If + + Next + + End If + + End If End Sub @@ -3117,7 +3183,7 @@ Public Class usrCntlKundenuebersicht pdfObject = cs.getPDF(company, failureDesc) - cs.AddCompanyToPortfolio(company) + 'cs.AddCompanyToPortfolio(company) cs.getSubscriptionCountries(dt) @@ -3278,9 +3344,10 @@ Public Class usrCntlKundenuebersicht Dim lastChecked As Date = Date.ParseExact(lblBonitaetsdatum._value, "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo) Dim cs = New cCreditSafeAPI("creditsafe") + Dim checklastDate As Boolean = True If cs.authenticate() = "200" Then - Dim company As New cCreditSafeAPI.Company("", "", "", "", KUNDE_ERW.kde_CreditSaveNo, KUNDE_ERW.kde_CreditSaveId, Nothing, "", "", "", "", "", "", "", "", "") + Dim company As New cCreditSafeAPI.Company("", "", "", "", KUNDE_ERW.kde_CreditSaveNo, KUNDE_ERW.kde_CreditSaveId, Nothing, "", "", "", "", "", "", "", "", "", KUNDE.KundenNr) company.lastChecked = IIf(IsDate(lastChecked), lastChecked, Today().AddDays(-1)) Dim currentBonID As Integer = SQL.getValueTxtBySql("Select Top(1) isnull(ba_id, -1) FROM [tblBonitaetsauskunft] where ba_KundenNr = " & KUNDE.KundenNr & " AND [ba_Pruefungstool] = 'creditsafe API' ORDER BY ba_Datum DESC", "FMZOLL") @@ -3288,7 +3355,7 @@ Public Class usrCntlKundenuebersicht If currentBonID > 0 Then company.csBonID = currentBonID Dim dt As New DataTable() - cs.getCompanyEvents(company, dt, False) + cs.getCompanyEvents(company, dt, checklastDate) If dt.Rows.Count > 0 Then Dim frm As New Form @@ -3303,6 +3370,27 @@ Public Class usrCntlKundenuebersicht If dt.Columns.Contains("createdDate") Then dt.Columns("createdDate").ColumnMapping = MappingType.Hidden End If + If checklastDate Then + + 'Update KUNDEN + + 'If cBonitaetsauskunft.SAVE Then + ' SQL.doSQL("UPDATE Kunden SET Bonität='" & cBonitaetsauskunft.ba_BonitaetsIndex & "', Bonitätsdatum='" & cBonitaetsauskunft.ba_Datum & "', Höchstkredit=" & If(cBonitaetsauskunft.ba_Hoechstkredit Is Nothing, "null", "'" & cBonitaetsauskunft.ba_Hoechstkredit & "'") & " WHERE KundenNr='" & cBonitaetsauskunft.ba_KundenNr & "'", "FMZOLL") + + ' company.csBonID = cBonitaetsauskunft.ba_id + + ' Dim KDERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(kdNr) + ' KDERW.kde_CreditSaveBonitaetsIndex = cBonitaetsauskunft.ba_CreditSaveBonitaetsIndex + ' KDERW.kde_CreditSaveBonitaetsScore = cBonitaetsauskunft.ba_CreditSaveBonitaetsScore + ' KDERW.kde_CreditSaveBonitaetsklasse = cBonitaetsauskunft.ba_CreditSaveRisikoklasse + ' KDERW.kde_BonitaetsStufe = cBonitaetsauskunft.ba_Risikostufe + ' KDERW.SAVE() + ' updateDatenarchivId() + 'End If + + + + End If dgv.DataSource = dt diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb index b5657c3e..bf795503 100644 --- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb @@ -1,5 +1,6 @@  Imports System.Data.SqlClient +Imports System.IO Imports System.Net Imports System.Numerics Imports System.Reflection @@ -8,6 +9,7 @@ Imports System.Text.RegularExpressions Imports System.Threading Imports System.Web.UI Imports Microsoft.VisualBasic.ApplicationServices +Imports Org.BouncyCastle.Ocsp Public Class cCreditSafeAPI @@ -100,7 +102,7 @@ Public Class cCreditSafeAPI - Shared Function SendGetRequestWithAuthHeader(url As String, company As Company, acceptContentType As String, method As String, authenticationToken As String, ByRef failureDesc As String, Optional isMonitoring As Boolean = False) As String + Shared Function SendGetRequestWithAuthHeader(url As String, company As Company, acceptContentType As String, method As String, authenticationToken As String, ByRef failureDesc As String, Optional isMonitoring As Boolean = False, Optional csvImport As Boolean = False, Optional csvFile As String = "") As String Try VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat() @@ -127,9 +129,16 @@ Public Class cCreditSafeAPI End If - rest.AddHeader("Content-Type", "application/json") + If isMonitoring AndAlso csvFile <> "" Then + rest.PartSelector = "0" + rest.AddHeader("Content-Type", "multipart/form-data") + rest.AddHeader("Expect", "100-continue") + Else + rest.AddHeader("Content-Type", "application/json") + rest.AddHeader("Accept", acceptContentType) + End If + rest.AddHeader("Authorization", "Bearer " & authenticationToken) - rest.AddHeader("Accept", acceptContentType) Dim responseJson As String @@ -137,38 +146,75 @@ Public Class cCreditSafeAPI If isMonitoring Then + If csvImport Then + Dim fileInfo As New FileInfo(csvFile) - Dim json As New Chilkat.JsonObject - success = json.UpdateString("id", company.creditSafeId) - success = json.UpdateString("personalReference", "VERAG AG") - success = json.UpdateString("freeText", "hinzugefügt am " & Today.ToShortDateString) - success = json.UpdateString("personalLimit", "") + Dim content As String = File.ReadAllText(csvFile) + 'content = content.Replace(";", ",") + 'File.WriteAllText(csvFile, content) - Debug.WriteLine(json.Emit()) + Dim fileStream As New Chilkat.Stream + fileStream.SourceFile = csvFile - Dim sbRequestBody As New Chilkat.StringBuilder - json.EmitSb(sbRequestBody) + rest.PartSelector = "1" - Dim sbResponseBody As New Chilkat.StringBuilder - success = rest.FullRequestSb(method, url, sbRequestBody, sbResponseBody) - If (success <> True) Then - Debug.WriteLine(rest.LastErrorText) - failureDesc = rest.LastErrorText - Return failureDesc + rest.AddHeader("Content-Disposition", "form-data; name=""importcsv""") + rest.AddHeader("Content-Type", "file") + 'rest.SetMultipartBodyString(content) + rest.SetMultipartBodyStream(fileStream) - Else + rest.PartSelector = "0" - If (rest.ResponseStatusCode <> 200) Then - failureDesc = rest.ResponseStatusText & IIf(responseJson <> "", vbNewLine & responseJson, "") + Dim strResponseBody As String = rest.FullRequestMultipart(method, url.Replace(API_STRING, "")) + If (rest.LastMethodSuccess <> True) Then + Debug.WriteLine(rest.LastErrorText) + failureDesc = rest.LastErrorText Return failureDesc Else - Return responseJson + If (rest.ResponseStatusCode <> 200) Then + failureDesc = rest.ResponseStatusText & IIf(responseJson <> "", vbNewLine & responseJson, "") + Return failureDesc + Else + + Return responseJson + End If End If - End If + Else + Dim json As New Chilkat.JsonObject + success = json.UpdateString("id", company.creditSafeId) + success = json.UpdateString("personalReference", "VERAG AG") + success = json.UpdateString("freeText", "hinzugefügt am " & Today.ToShortDateString) + success = json.UpdateString("personalLimit", "") + + Debug.WriteLine(json.Emit()) + + Dim sbRequestBody As New Chilkat.StringBuilder + json.EmitSb(sbRequestBody) + + Dim sbResponseBody As New Chilkat.StringBuilder + success = rest.FullRequestSb(method, url, sbRequestBody, sbResponseBody) + If (success <> True) Then + Debug.WriteLine(rest.LastErrorText) + failureDesc = rest.LastErrorText + Return failureDesc + + Else + + If (rest.ResponseStatusCode <> 200) Then + failureDesc = rest.ResponseStatusText & IIf(responseJson <> "", vbNewLine & responseJson, "") + Return failureDesc + Else + + Return responseJson + End If + + + End If + End If End If @@ -264,6 +310,16 @@ Public Class cCreditSafeAPI End Function + Shared Function AddCompaniesCSVToPortfolio(csvFilePath As String, Optional PortfolioID As String = "1662419") As String + + Dim myUri As String = API_STRING & "/v1/monitoring/portfolios/" & PortfolioID & "/import" 'Default + + Dim jsonRespString = SendGetRequestWithAuthHeader(myUri, Nothing, "application/json", "POST", token, "", True, True, csvFilePath) + + Return jsonRespString + + End Function + Shared Function searchCompanies(company As Company, ByRef dataTable As DataTable) As String @@ -406,6 +462,11 @@ Public Class cCreditSafeAPI Dim numCompanies As Integer = companieData.Size + Dim CL As Double = -1 + Dim CR As Integer = -1 + Dim CL_Date As Date = company.lastChecked + Dim CR_Date As Date = company.lastChecked + For i = 0 To 1 @@ -481,8 +542,10 @@ Public Class cCreditSafeAPI If cEvent.newValue IsNot Nothing AndAlso IsNumeric(cEvent.newValue) AndAlso Not cEvent.newValue.ToString.Contains("€") Then If cEvent.localEventCode = "CL" Or cEvent.globalEventCode = "CL" Then cEvent.newValueCL = cEvent.newValue + setCL_CR_Entry(CDate(cEvent.eventDate), "CL", cEvent.newValueCL, CL, CR, CL_Date, CR_Date) ElseIf cEvent.localEventCode = "CR" Or cEvent.globalEventCode = "CR" Then cEvent.newValueCR = cEvent.newValue + setCL_CR_Entry(CDate(cEvent.eventDate), "CR", cEvent.newValueCR, CL, CR, CL_Date, CR_Date) End If Else @@ -490,11 +553,13 @@ Public Class cCreditSafeAPI cEvent.newValue = Regex.Replace(cEvent.newValue, "\s+", "") cEvent.newValue = Regex.Replace(cEvent.newValue, "[^\d]", "") cEvent.newValueCL = cEvent.newValue + setCL_CR_Entry(CDate(cEvent.eventDate), "CL", cEvent.newValueCL, CL, CR, CL_Date, CR_Date) ElseIf cEvent.localEventCode = "CR" Or cEvent.globalEventCode = "CR" Then cEvent.newValue = Regex.Replace(cEvent.newValue, "\s+", "") cEvent.newValue = Regex.Replace(cEvent.newValue, "[^\d]", "") cEvent.newValueCR = cEvent.newValue + setCL_CR_Entry(CDate(cEvent.eventDate), "CR", cEvent.newValueCR, CL, CR, CL_Date, CR_Date) End If End If @@ -511,15 +576,68 @@ Public Class cCreditSafeAPI + + + If dtEvents.Rows.Count > 1 Then dtEvents.DefaultView.Sort = "eventDate ASC" dtEvents = dtEvents.DefaultView.ToTable + 'viewEvents = New DataView(dtEvents, "localEventCode IN ('CL','CR') or e.globalEventCode IN ('CL','CR')", "", DataViewRowState.CurrentRows) End If + If company.kdNr > 0 Then + Dim KUNDE As New cKunde(company.kdNr) + + If KUNDE.Bonitätsdatum <= CL_Date Or KUNDE.Bonitätsdatum <= CR_Date Then + + If KUNDE.Bonität <> CR Then + KUNDE.Bonität = CR + KUNDE.Bonitätsdatum = CDate(CR_Date) + End If + + If KUNDE.Höchstkredit <> CL Then + KUNDE.Höchstkredit = CL + KUNDE.Bonitätsdatum = CDate(CL_Date) + End If + + KUNDE.SAVE() + + End If + + End If + + + Return "Anzahl gefundener Datensätze: " & numCompanies End Function + Private Shared Sub setCL_CR_Entry(cs_date As Date, type As String, value As Object, CL As Double, CR As Integer, CL_Date As Date, CR_Date As Date) + + Select Case type + + Case "CR" + Dim saveCR As Boolean = False + If CR_Date <= cs_date Then + cs_date = CR_Date + saveCR = True + End If + + If saveCR Then CR = value + + Case "CL" + Dim saveCL As Boolean = False + If CL_Date <= cs_date Then + cs_date = CL_Date + saveCL = True + End If + + If saveCL Then CL = value + + End Select + + End Sub + Shared Function getReport(ByRef company As Company, withPDF As Boolean) As String 'Shared Function getReport(ByRef company As Company, withPDF As Boolean, ByRef bytes As Byte()) As String Dim failureDesc As String = "" Dim myUrl As String = API_STRING & "/v1/companies/" & company.creditSafeId & "/" @@ -878,6 +996,7 @@ Public Class cCreditSafeAPI Public Property creditSafeId As String Public Property name As String + Public Property kdNr As Integer Public Property vatNo As String Public Property country As String Public Property creditsafeNo As String @@ -903,7 +1022,7 @@ Public Class cCreditSafeAPI - Public Sub New(_language As String, _name As String, _vatNo As String, _country As String, _creditsafeNo As String, _creditSafeId As String, _lastChecked As Date, _street As String, _postalCode As String, _city As String, _sumEmployees As String, _businessPurpose As String, _shareholder As String, _ceo As String, _bank As String, _csTurnover As String) + Public Sub New(_language As String, _name As String, _vatNo As String, _country As String, _creditsafeNo As String, _creditSafeId As String, _lastChecked As Date, _street As String, _postalCode As String, _city As String, _sumEmployees As String, _businessPurpose As String, _shareholder As String, _ceo As String, _bank As String, _csTurnover As String, _kdNr As Integer) creditSafeId = _creditSafeId name = _name vatNo = _vatNo @@ -920,6 +1039,7 @@ Public Class cCreditSafeAPI csBank = _bank language = _language csTurnover = _csTurnover + kdNr = _kdNr End Sub Public Sub New()