offerten, Bonit, Kundenuebersicht

This commit is contained in:
2025-09-02 15:04:55 +02:00
parent 4a3c92b0dd
commit dd225d37fe
5 changed files with 247 additions and 32 deletions

View File

@@ -102,7 +102,7 @@ Public Class usrcntlCreditsafe
If cs.authenticate() = "200" Then 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 lblWarning.Text = cs.searchCompanies(company, dataTable).ToString
initDGV(dataTable) initDGV(dataTable)
Cursor = Cursors.Default Cursor = Cursors.Default

View File

@@ -62,7 +62,7 @@ SELECT ba_Datum" & sqlIndex & ",ba_GruendundsDatum,ba_Umsatz,ba_Mitarbeiter,ba_
FROM tblBonitaetsauskunft FROM tblBonitaetsauskunft
where ba_KundenNr= " & KdSearchBox1.KdNr_value & " where ba_KundenNr= " & KdSearchBox1.KdNr_value & "
UNION ALL UNION ALL
SELECT SELECT

View File

@@ -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("RO", "RO"))
cboSprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TR", "TR")) 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 = "" Dim where = ""
@@ -42,20 +42,27 @@ Public Class frmOffertenBearbeiten
cboSprache.Enabled = False cboSprache.Enabled = False
cboSprache.changeItem("DE") cboSprache.changeItem("DE")
where = " WHERE [Offertenstamm].[OffertenNr] IN (SELECT ao_OffertenNr FROM tblAbfertigungsartenFiliale inner join tblAbfertigungsartOffertenstamm on ao_Abfertigungsart=Abfertigungsart WHERE FilialenNr=5501 ) " 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" 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 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.changeItem(KUNDE_ERW.kde_Fakturierung_Sprache)
cboSprache.Enabled = True cboSprache.Enabled = True
Else Else
cboSprache.changeItem("DE") cboSprache.changeItem("DE")
cboSprache.Enabled = False cboSprache.Enabled = False
End If End If
If cboFiliale.Items.Count > 4 Then cboFiliale.SelectedIndex = 3 Else
Case Else Case Else
cboSprache.changeItem("DE") cboSprache.changeItem("DE")
cboSprache.Enabled = False cboSprache.Enabled = False
If cboFiliale.Items.Count > 0 Then cboFiliale.SelectedIndex = 0
End Select 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," & 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" " [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 If c.GetType Is GetType(VERAG_PROG_ALLGEMEIN.MyCheckBoxValue) Then
' MsgBox(c._value) ' MsgBox(c._value)
If c.enabled And c.checked Then 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.Art = "Neuanlage"
o.SAVE() 'speichern o.SAVE() 'speichern
o.LOAD_POSITIONEN() 'positionen Laden o.LOAD_POSITIONEN() 'positionen Laden

View File

@@ -2842,7 +2842,7 @@ Public Class usrCntlKundenuebersicht
Else Else
land = ADRESSE.LandKz land = ADRESSE.LandKz
End If 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 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) Dim lastChecked As Date = Date.ParseExact(lblBonitaetsdatum._value, "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
company.lastChecked = IIf(IsDate(lastChecked), lastChecked, Today().AddDays(-1)) company.lastChecked = IIf(IsDate(lastChecked), lastChecked, Today().AddDays(-1))
cs.AddCompanyToPortfolio(company)
If lastChecked = Today Then If lastChecked = Today Then
Dim bonaus = VERAG_PROG_ALLGEMEIN.cBonitaetsauskunft.LOADByKdNrDate(kdNr, Today) Dim bonaus = VERAG_PROG_ALLGEMEIN.cBonitaetsauskunft.LOADByKdNrDate(kdNr, Today)
If bonaus IsNot Nothing Then If bonaus IsNot Nothing Then
@@ -2994,6 +2996,70 @@ Public Class usrCntlKundenuebersicht
KDERW.kde_BonitaetsStufe = cBonitaetsauskunft.ba_Risikostufe KDERW.kde_BonitaetsStufe = cBonitaetsauskunft.ba_Risikostufe
KDERW.SAVE() KDERW.SAVE()
updateDatenarchivId() 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 If
End Sub End Sub
@@ -3117,7 +3183,7 @@ Public Class usrCntlKundenuebersicht
pdfObject = cs.getPDF(company, failureDesc) pdfObject = cs.getPDF(company, failureDesc)
cs.AddCompanyToPortfolio(company) 'cs.AddCompanyToPortfolio(company)
cs.getSubscriptionCountries(dt) 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 lastChecked As Date = Date.ParseExact(lblBonitaetsdatum._value, "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
Dim cs = New cCreditSafeAPI("creditsafe") Dim cs = New cCreditSafeAPI("creditsafe")
Dim checklastDate As Boolean = True
If cs.authenticate() = "200" Then 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)) 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") 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 If currentBonID > 0 Then company.csBonID = currentBonID
Dim dt As New DataTable() Dim dt As New DataTable()
cs.getCompanyEvents(company, dt, False) cs.getCompanyEvents(company, dt, checklastDate)
If dt.Rows.Count > 0 Then If dt.Rows.Count > 0 Then
Dim frm As New Form Dim frm As New Form
@@ -3303,6 +3370,27 @@ Public Class usrCntlKundenuebersicht
If dt.Columns.Contains("createdDate") Then dt.Columns("createdDate").ColumnMapping = MappingType.Hidden If dt.Columns.Contains("createdDate") Then dt.Columns("createdDate").ColumnMapping = MappingType.Hidden
End If 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 dgv.DataSource = dt

View File

@@ -1,5 +1,6 @@
 
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.IO
Imports System.Net Imports System.Net
Imports System.Numerics Imports System.Numerics
Imports System.Reflection Imports System.Reflection
@@ -8,6 +9,7 @@ Imports System.Text.RegularExpressions
Imports System.Threading Imports System.Threading
Imports System.Web.UI Imports System.Web.UI
Imports Microsoft.VisualBasic.ApplicationServices Imports Microsoft.VisualBasic.ApplicationServices
Imports Org.BouncyCastle.Ocsp
Public Class cCreditSafeAPI 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 Try
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat() VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
@@ -127,9 +129,16 @@ Public Class cCreditSafeAPI
End If 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("Authorization", "Bearer " & authenticationToken)
rest.AddHeader("Accept", acceptContentType)
Dim responseJson As String Dim responseJson As String
@@ -137,38 +146,75 @@ Public Class cCreditSafeAPI
If isMonitoring Then If isMonitoring Then
If csvImport Then
Dim fileInfo As New FileInfo(csvFile)
Dim json As New Chilkat.JsonObject Dim content As String = File.ReadAllText(csvFile)
success = json.UpdateString("id", company.creditSafeId) 'content = content.Replace(";", ",")
success = json.UpdateString("personalReference", "VERAG AG") 'File.WriteAllText(csvFile, content)
success = json.UpdateString("freeText", "hinzugefügt am " & Today.ToShortDateString)
success = json.UpdateString("personalLimit", "")
Debug.WriteLine(json.Emit()) Dim fileStream As New Chilkat.Stream
fileStream.SourceFile = csvFile
Dim sbRequestBody As New Chilkat.StringBuilder rest.PartSelector = "1"
json.EmitSb(sbRequestBody)
Dim sbResponseBody As New Chilkat.StringBuilder rest.AddHeader("Content-Disposition", "form-data; name=""importcsv""")
success = rest.FullRequestSb(method, url, sbRequestBody, sbResponseBody) rest.AddHeader("Content-Type", "file")
If (success <> True) Then 'rest.SetMultipartBodyString(content)
Debug.WriteLine(rest.LastErrorText) rest.SetMultipartBodyStream(fileStream)
failureDesc = rest.LastErrorText
Return failureDesc
Else rest.PartSelector = "0"
If (rest.ResponseStatusCode <> 200) Then Dim strResponseBody As String = rest.FullRequestMultipart(method, url.Replace(API_STRING, ""))
failureDesc = rest.ResponseStatusText & IIf(responseJson <> "", vbNewLine & responseJson, "") If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
failureDesc = rest.LastErrorText
Return failureDesc Return failureDesc
Else 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
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 End If
@@ -264,6 +310,16 @@ Public Class cCreditSafeAPI
End Function 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 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 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 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.newValue IsNot Nothing AndAlso IsNumeric(cEvent.newValue) AndAlso Not cEvent.newValue.ToString.Contains("") Then
If cEvent.localEventCode = "CL" Or cEvent.globalEventCode = "CL" Then If cEvent.localEventCode = "CL" Or cEvent.globalEventCode = "CL" Then
cEvent.newValueCL = cEvent.newValue 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 ElseIf cEvent.localEventCode = "CR" Or cEvent.globalEventCode = "CR" Then
cEvent.newValueCR = cEvent.newValue cEvent.newValueCR = cEvent.newValue
setCL_CR_Entry(CDate(cEvent.eventDate), "CR", cEvent.newValueCR, CL, CR, CL_Date, CR_Date)
End If End If
Else Else
@@ -490,11 +553,13 @@ Public Class cCreditSafeAPI
cEvent.newValue = Regex.Replace(cEvent.newValue, "\s+", "") cEvent.newValue = Regex.Replace(cEvent.newValue, "\s+", "")
cEvent.newValue = Regex.Replace(cEvent.newValue, "[^\d]", "") cEvent.newValue = Regex.Replace(cEvent.newValue, "[^\d]", "")
cEvent.newValueCL = cEvent.newValue 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 ElseIf cEvent.localEventCode = "CR" Or cEvent.globalEventCode = "CR" Then
cEvent.newValue = Regex.Replace(cEvent.newValue, "\s+", "") cEvent.newValue = Regex.Replace(cEvent.newValue, "\s+", "")
cEvent.newValue = Regex.Replace(cEvent.newValue, "[^\d]", "") cEvent.newValue = Regex.Replace(cEvent.newValue, "[^\d]", "")
cEvent.newValueCR = cEvent.newValue cEvent.newValueCR = cEvent.newValue
setCL_CR_Entry(CDate(cEvent.eventDate), "CR", cEvent.newValueCR, CL, CR, CL_Date, CR_Date)
End If End If
End If End If
@@ -511,15 +576,68 @@ Public Class cCreditSafeAPI
If dtEvents.Rows.Count > 1 Then If dtEvents.Rows.Count > 1 Then
dtEvents.DefaultView.Sort = "eventDate ASC" dtEvents.DefaultView.Sort = "eventDate ASC"
dtEvents = dtEvents.DefaultView.ToTable dtEvents = dtEvents.DefaultView.ToTable
'viewEvents = New DataView(dtEvents, "localEventCode IN ('CL','CR') or e.globalEventCode IN ('CL','CR')", "", DataViewRowState.CurrentRows)
End If 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 Return "Anzahl gefundener Datensätze: " & numCompanies
End Function 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 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 failureDesc As String = ""
Dim myUrl As String = API_STRING & "/v1/companies/" & company.creditSafeId & "/" Dim myUrl As String = API_STRING & "/v1/companies/" & company.creditSafeId & "/"
@@ -878,6 +996,7 @@ Public Class cCreditSafeAPI
Public Property creditSafeId As String Public Property creditSafeId As String
Public Property name As String Public Property name As String
Public Property kdNr As Integer
Public Property vatNo As String Public Property vatNo As String
Public Property country As String Public Property country As String
Public Property creditsafeNo 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 creditSafeId = _creditSafeId
name = _name name = _name
vatNo = _vatNo vatNo = _vatNo
@@ -920,6 +1039,7 @@ Public Class cCreditSafeAPI
csBank = _bank csBank = _bank
language = _language language = _language
csTurnover = _csTurnover csTurnover = _csTurnover
kdNr = _kdNr
End Sub End Sub
Public Sub New() Public Sub New()