diff --git a/initATLASAufschubkonten/frmStartOptions.Designer.vb b/initATLASAufschubkonten/frmStartOptions.Designer.vb index e9f98f8..23742af 100644 --- a/initATLASAufschubkonten/frmStartOptions.Designer.vb +++ b/initATLASAufschubkonten/frmStartOptions.Designer.vb @@ -277,6 +277,8 @@ Partial Class frmStartOptions Me.Button27 = New System.Windows.Forms.Button() Me.lblWartungen = New System.Windows.Forms.Label() Me.TabPage7 = New System.Windows.Forms.TabPage() + Me.lblCSPortfolio = New System.Windows.Forms.Label() + Me.bcxKundendatenaktCS = New System.Windows.Forms.CheckBox() Me.cbCheckDate = New System.Windows.Forms.CheckBox() Me.lblMissingCS = New System.Windows.Forms.Label() Me.Button28 = New System.Windows.Forms.Button() @@ -304,6 +306,11 @@ Partial Class frmStartOptions Me.lklAufschubkontenATLASEZOLL = New System.Windows.Forms.LinkLabel() Me.lblRoutineManager = New System.Windows.Forms.Label() Me.Button21 = New System.Windows.Forms.Button() + Me.cbxTestsystemCS = New System.Windows.Forms.CheckBox() + Me.lbl_CS_online = New System.Windows.Forms.Label() + Me.lblCS_DB = New System.Windows.Forms.Label() + Me.cbxKundenbesonderheitenCS = New System.Windows.Forms.CheckBox() + Me.cbxMailsenden = New System.Windows.Forms.CheckBox() Me.MyTextBox3 = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.MyTextBox2 = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtSyskaWdhDateiname = New VERAG_PROG_ALLGEMEIN.MyTextBox() @@ -343,7 +350,6 @@ Partial Class frmStartOptions Me.MyTextBox1 = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtGJ_UNISPED = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn() - Me.bcxKundendatenaktCS = New System.Windows.Forms.CheckBox() Me.pnl.SuspendLayout() CType(Me.PictureBox24, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox23, System.ComponentModel.ISupportInitialize).BeginInit() @@ -3457,12 +3463,18 @@ Partial Class frmStartOptions ' 'TabPage7 ' + Me.TabPage7.Controls.Add(Me.cbxMailsenden) + Me.TabPage7.Controls.Add(Me.cbxKundenbesonderheitenCS) + Me.TabPage7.Controls.Add(Me.lblCS_DB) + Me.TabPage7.Controls.Add(Me.lbl_CS_online) + Me.TabPage7.Controls.Add(Me.cbxTestsystemCS) + Me.TabPage7.Controls.Add(Me.lblCSPortfolio) Me.TabPage7.Controls.Add(Me.bcxKundendatenaktCS) - Me.TabPage7.Controls.Add(Me.txtCSDate) Me.TabPage7.Controls.Add(Me.cbCheckDate) Me.TabPage7.Controls.Add(Me.lblMissingCS) Me.TabPage7.Controls.Add(Me.Button28) Me.TabPage7.Controls.Add(Me.btnCreditsaveLauf) + Me.TabPage7.Controls.Add(Me.txtCSDate) Me.TabPage7.Location = New System.Drawing.Point(4, 22) Me.TabPage7.Name = "TabPage7" Me.TabPage7.Size = New System.Drawing.Size(1219, 513) @@ -3470,11 +3482,32 @@ Partial Class frmStartOptions Me.TabPage7.Text = "Creditsafe" Me.TabPage7.UseVisualStyleBackColor = True ' + 'lblCSPortfolio + ' + Me.lblCSPortfolio.AutoSize = True + Me.lblCSPortfolio.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblCSPortfolio.Location = New System.Drawing.Point(14, 48) + Me.lblCSPortfolio.Name = "lblCSPortfolio" + Me.lblCSPortfolio.Size = New System.Drawing.Size(74, 13) + Me.lblCSPortfolio.TabIndex = 159 + Me.lblCSPortfolio.Text = "im Portfolio:" + ' + 'bcxKundendatenaktCS + ' + Me.bcxKundendatenaktCS.AutoSize = True + Me.bcxKundendatenaktCS.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.bcxKundendatenaktCS.Location = New System.Drawing.Point(14, 147) + Me.bcxKundendatenaktCS.Name = "bcxKundendatenaktCS" + Me.bcxKundendatenaktCS.Size = New System.Drawing.Size(150, 17) + Me.bcxKundendatenaktCS.TabIndex = 158 + Me.bcxKundendatenaktCS.Text = "Kundendaten aktualsieren" + Me.bcxKundendatenaktCS.UseVisualStyleBackColor = True + ' 'cbCheckDate ' Me.cbCheckDate.AutoSize = True Me.cbCheckDate.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.cbCheckDate.Location = New System.Drawing.Point(16, 89) + Me.cbCheckDate.Location = New System.Drawing.Point(14, 124) Me.cbCheckDate.Name = "cbCheckDate" Me.cbCheckDate.Size = New System.Drawing.Size(74, 17) Me.cbCheckDate.TabIndex = 140 @@ -3485,7 +3518,7 @@ Partial Class frmStartOptions ' Me.lblMissingCS.AutoSize = True Me.lblMissingCS.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.lblMissingCS.Location = New System.Drawing.Point(13, 20) + Me.lblMissingCS.Location = New System.Drawing.Point(13, 28) Me.lblMissingCS.Name = "lblMissingCS" Me.lblMissingCS.Size = New System.Drawing.Size(214, 13) Me.lblMissingCS.TabIndex = 142 @@ -3496,7 +3529,7 @@ Partial Class frmStartOptions Me.Button28.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button28.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) Me.Button28.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button28.Location = New System.Drawing.Point(14, 161) + Me.Button28.Location = New System.Drawing.Point(10, 216) Me.Button28.Name = "Button28" Me.Button28.Size = New System.Drawing.Size(131, 24) Me.Button28.TabIndex = 141 @@ -3508,7 +3541,7 @@ Partial Class frmStartOptions Me.btnCreditsaveLauf.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnCreditsaveLauf.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) Me.btnCreditsaveLauf.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnCreditsaveLauf.Location = New System.Drawing.Point(16, 51) + Me.btnCreditsaveLauf.Location = New System.Drawing.Point(16, 76) Me.btnCreditsaveLauf.Name = "btnCreditsaveLauf" Me.btnCreditsaveLauf.Size = New System.Drawing.Size(131, 24) Me.btnCreditsaveLauf.TabIndex = 140 @@ -3773,6 +3806,57 @@ Partial Class frmStartOptions Me.Button21.Text = "AAS Sendung 24h" Me.Button21.UseVisualStyleBackColor = True ' + 'cbxTestsystemCS + ' + Me.cbxTestsystemCS.AutoSize = True + Me.cbxTestsystemCS.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.cbxTestsystemCS.Location = New System.Drawing.Point(17, 6) + Me.cbxTestsystemCS.Name = "cbxTestsystemCS" + Me.cbxTestsystemCS.Size = New System.Drawing.Size(79, 17) + Me.cbxTestsystemCS.TabIndex = 140 + Me.cbxTestsystemCS.Text = "Testsystem" + Me.cbxTestsystemCS.UseVisualStyleBackColor = True + ' + 'lbl_CS_online + ' + Me.lbl_CS_online.AutoSize = True + Me.lbl_CS_online.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lbl_CS_online.Location = New System.Drawing.Point(102, 48) + Me.lbl_CS_online.Name = "lbl_CS_online" + Me.lbl_CS_online.Size = New System.Drawing.Size(0, 13) + Me.lbl_CS_online.TabIndex = 160 + ' + 'lblCS_DB + ' + Me.lblCS_DB.AutoSize = True + Me.lblCS_DB.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblCS_DB.Location = New System.Drawing.Point(152, 48) + Me.lblCS_DB.Name = "lblCS_DB" + Me.lblCS_DB.Size = New System.Drawing.Size(0, 13) + Me.lblCS_DB.TabIndex = 161 + ' + 'cbxKundenbesonderheitenCS + ' + Me.cbxKundenbesonderheitenCS.AutoSize = True + Me.cbxKundenbesonderheitenCS.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.cbxKundenbesonderheitenCS.Location = New System.Drawing.Point(14, 170) + Me.cbxKundenbesonderheitenCS.Name = "cbxKundenbesonderheitenCS" + Me.cbxKundenbesonderheitenCS.Size = New System.Drawing.Size(164, 17) + Me.cbxKundenbesonderheitenCS.TabIndex = 162 + Me.cbxKundenbesonderheitenCS.Text = "setze Kundenbesonderheiten" + Me.cbxKundenbesonderheitenCS.UseVisualStyleBackColor = True + ' + 'cbxMailsenden + ' + Me.cbxMailsenden.AutoSize = True + Me.cbxMailsenden.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.cbxMailsenden.Location = New System.Drawing.Point(14, 193) + Me.cbxMailsenden.Name = "cbxMailsenden" + Me.cbxMailsenden.Size = New System.Drawing.Size(83, 17) + Me.cbxMailsenden.TabIndex = 163 + Me.cbxMailsenden.Text = "Mail senden" + Me.cbxMailsenden.UseVisualStyleBackColor = True + ' 'MyTextBox3 ' Me.MyTextBox3._DateTimeOnly = False @@ -4528,7 +4612,7 @@ Partial Class frmStartOptions Me.txtCSDate.BackColor = System.Drawing.SystemColors.Window Me.txtCSDate.Enabled = False Me.txtCSDate.ForeColor = System.Drawing.Color.Red - Me.txtCSDate.Location = New System.Drawing.Point(16, 135) + Me.txtCSDate.Location = New System.Drawing.Point(94, 121) Me.txtCSDate.MaxLength = 10 Me.txtCSDate.MaxLineLength = -1 Me.txtCSDate.MaxLines_Warning = "" @@ -4593,17 +4677,6 @@ Partial Class frmStartOptions Me.DataGridViewTextBoxColumn1.MinimumWidth = 8 Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1" ' - 'bcxKundendatenaktCS - ' - Me.bcxKundendatenaktCS.AutoSize = True - Me.bcxKundendatenaktCS.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.bcxKundendatenaktCS.Location = New System.Drawing.Point(16, 112) - Me.bcxKundendatenaktCS.Name = "bcxKundendatenaktCS" - Me.bcxKundendatenaktCS.Size = New System.Drawing.Size(150, 17) - Me.bcxKundendatenaktCS.TabIndex = 158 - Me.bcxKundendatenaktCS.Text = "Kundendaten aktualsieren" - Me.bcxKundendatenaktCS.UseVisualStyleBackColor = True - ' 'frmStartOptions ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -5002,4 +5075,10 @@ Partial Class frmStartOptions Friend WithEvents txtCSDate As VERAG_PROG_ALLGEMEIN.MyTextBox Friend WithEvents cbCheckDate As CheckBox Friend WithEvents bcxKundendatenaktCS As CheckBox + Friend WithEvents lblCSPortfolio As Label + Friend WithEvents cbxTestsystemCS As CheckBox + Friend WithEvents lblCS_DB As Label + Friend WithEvents lbl_CS_online As Label + Friend WithEvents cbxMailsenden As CheckBox + Friend WithEvents cbxKundenbesonderheitenCS As CheckBox End Class diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb index aa8c948..2dd1633 100644 --- a/initATLASAufschubkonten/frmStartOptions.vb +++ b/initATLASAufschubkonten/frmStartOptions.vb @@ -9,6 +9,7 @@ Imports System.Xml Imports MDM_Worker Imports Renci.SshNet Imports VERAG_PROG_ALLGEMEIN +Imports VERAG_PROG_ALLGEMEIN.cAllgemein Imports VERAG_PROG_ALLGEMEIN.cTelotecAPI Public Class frmStartOptions @@ -830,6 +831,24 @@ Public Class frmStartOptions End If + Case "CREDITSAFE_EVENTS" + VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False + + Dim upateKunden As Boolean = True + Dim OnlyCurrentMonthData As Boolean = True + Dim setzeInfoImKunden As Boolean = True + Dim sendMail As Boolean = True + + importCreditsafeEvents(CDate("01." & Now.Month & "." & Now.Year).ToShortDateString, OnlyCurrentMonthData, upateKunden, setzeInfoImKunden, sendMail) + + + closeMe() + + Case "CREDITSAFE_UPLOADS" + VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False + + UploadCompaniesToCreditsafe() + closeMe() Case Else @@ -4865,7 +4884,9 @@ Public Class frmStartOptions getLatestBatchNrMSE() ElseIf tbcntr.SelectedIndex = 5 Then - countmissingCSinPortfolio() + Dim count As Integer = 0 + countmissingCSinPortfolio(count) + lbl_CS_online.Text = count End If End Sub @@ -6253,17 +6274,167 @@ weiter: Private Sub btnCreditsaveLauf_Click(sender As Object, e As EventArgs) Handles btnCreditsaveLauf.Click + VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = cbxTestsystemCS.Checked + 'Existing companies in the portfolio will be skipped, and only new unique entries will be added. + UploadCompaniesToCreditsafe() + + End Sub + + Private Sub countmissingCSinPortfolio(ByRef count As Integer) + + VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = cbxTestsystemCS.Checked + + Dim countMissing As Integer = 0 + Dim countUploaeded As Integer = 0 Dim sql As New SQL + lblCSPortfolio.Text = "im Portfolio:" + lblMissingCS.Text = "hochzuladende Unternehmen in CS: " + + Dim sqlCountNotUploaded As String = sql.getValueTxtBySql("select count(distinct(kde_CreditSaveNo)) from tblKundenErweitert where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' and kde_CSPortfolioAdded = 0", "FMZOLL") + + Dim sqlCountUploaded As String = sql.getValueTxtBySql("select count(distinct(kde_CreditSaveNo)) from tblKundenErweitert where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' and kde_CSPortfolioAdded = 1", "FMZOLL") + + If sqlCountNotUploaded <> "" AndAlso IsNumeric(sqlCountNotUploaded) Then countMissing = CInt(sqlCountNotUploaded) + + If sqlCountUploaded <> "" AndAlso IsNumeric(sqlCountUploaded) Then countUploaeded = CInt(sqlCountUploaded) + + lblCS_DB.Text = sqlCountUploaded + + lblMissingCS.Text &= countMissing + + Dim cs = New cCreditSafeAPI("creditsafe") + + If cs.authenticate() = "200" Then + + Dim portOnline As Integer + + cs.GetCompaniesFromPortfolio(portOnline) + + count = portOnline + + End If + + + End Sub + + Private Sub Button28_Click_1(sender As Object, e As EventArgs) Handles Button28.Click + + VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = cbxTestsystemCS.Checked + + Dim datumString = "" + + If cbCheckDate.Checked Then + + If txtCSDate.Text <> "" AndAlso IsDate(txtCSDate.Text) Then + datumString = txtCSDate.Text + Else + MsgBox("Datum hat falsches Format!" & vbNewLine & "Vorgang wird abgebrochen!") + Exit Sub + End If + + Else + datumString = Today.ToShortDateString + + End If + + + importCreditsafeEvents(datumString, cbCheckDate.Checked, bcxKundendatenaktCS.Checked, cbxKundenbesonderheitenCS.Checked, cbxMailsenden.Checked) + + + End Sub + + Private Sub importCreditsafeEvents(datum As String, checkDate As Boolean, upateKunden As Boolean, setzeKundenbesonderheiten As Boolean, sendMail As Boolean) + + + + 'Best Practices for Viewing Notification Events + + '1. Use Portfolio-Specific Events for Targeted Monitoring: Start with the portfolio-specific endpoint to focus on changes relevant to a particular portfolio. + '2. Leverage Global Events for a Broader View: Use the all-events endpoint to gain a comprehensive overview of all notifications across your portfolios. + '3. Drill Down to Company-Level Events When Needed: For detailed insights into a specific company, use the company-specific endpoint. + '4. Verify Enabled Rules: Ensure that the appropriate event rules are enabled for your portfolios to capture the desired notifications. Refer to the Activate Event Rules section for guidance. + + 'aktuell machem wir gleich punkt 3, das verursacht sehr viele APP-Aurfrufe, besser nach der Liste oben! + + + Dim creditsaveOld As String = " + select ba_KundenNr FROM tblBonitaetsauskunft WHERE ba_Pruefungstool = 'creditsafe API' + + EXCEPT + + SELECT * FROM ( SELECT ba_KundenNr + FROM tblBonitaetsauskunft + WHERE ba_Pruefungstool = 'creditsafe API' and cast(ba_Datum as Date) >= '" & datum & "' + + UNION ALL + + SELECT e.KundenNr + FROM ( + SELECT e.KundenNr, + e.eventDate, + 'creditsafe API' AS Source + FROM [VERAG].[dbo].[tblCreditsafeEvents] e + INNER JOIN [VERAG].[dbo].[tblBonitaetsauskunft] b + ON e.bonId = b.ba_id + WHERE b.ba_Pruefungstool = 'creditsafe API' + AND (e.localEventCode IN ('CL','CR') OR e.globalEventCode IN ('CL','CR')) + ) e + WHERE cast(e.eventDate as Date) >= '" & datum & "' + GROUP BY Source, e.KundenNr, cast(e.eventDate as Date) + ) AS Temp" + + + + Dim creditsave As String = "select distinct(ba_KundenNr) from Kunden + inner join tblKundenErweitert on Kunden.KundenNr = kde_KundenNr + inner join tblBonitaetsauskunft on ba_KundenNr = kde_KundenNr + where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' and kde_CSPortfolioAdded = 1 AND ba_Pruefungstool = 'creditsafe API'" & IIf(datum <> "", " AND Kunden.Bonitätsdatum <= '" & datum & "'", "") + If False Then + creditsave &= " and ba_KundenNr = 720249" + End If + + + Dim dtCreditsafe As DataTable = (New SQL).loadDgvBySql(creditsave, "FMZOLL") + If dtCreditsafe.Rows.Count = 0 Then Exit Sub + + + Dim cs = New cCreditSafeAPI("creditsafe") + + If cs.authenticate() = "200" Then + + + For Each row As DataRow In dtCreditsafe.Rows + + Dim KUNDE_ERW As New cKundenErweitert(row("ba_KundenNr")) + + Dim company As New cCreditSafeAPI.Company("", "", "", "", KUNDE_ERW.kde_CreditSaveNo, KUNDE_ERW.kde_CreditSaveId, Nothing, "", "", "", "", "", "", "", "", "", KUNDE_ERW.kde_KundenNr) + If txtCSDate.Text <> "" AndAlso IsDate(txtCSDate.Text) Then + company.lastChecked = CDate(txtCSDate.Text) + End If + + Dim currentBonID As Integer = (New SQL).getValueTxtBySql("Select Top(1) isnull(ba_id, -1) FROM [tblBonitaetsauskunft] where ba_KundenNr = " & KUNDE_ERW.kde_KundenNr & " AND [ba_Pruefungstool] = 'creditsafe API' ORDER BY ba_Datum DESC", "FMZOLL") + + If currentBonID > 0 Then company.csBonID = currentBonID + Dim dt As New DataTable() + cs.getCompanyEvents(company, dt, checkDate, upateKunden, False,, setzeKundenbesonderheiten, sendMail) + Thread.Sleep(1000) + Next + End If + + End Sub + + Private Sub UploadCompaniesToCreditsafe() + Dim cs = New cCreditSafeAPI("creditsafe") Dim addCreditsave As Boolean = False If cs.authenticate() = "200" Then addCreditsave = True While addCreditsave Dim creditsave As String = "select kde_CreditSaveNo 'Safe Number', '' as 'Local Org No.',left(kde_CreditSaveId,2) as 'Country Code', '' as Reference, '' as 'Free Text', '' as 'Personal Limit' from tblKundenErweitert where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' and kde_CSPortfolioAdded = 0 group by kde_CreditSaveNo, kde_CreditSaveId" - Dim dtCreditsafe_CSV As DataTable = sql.loadDgvBySql(creditsave, "FMZOLL") + Dim dtCreditsafe_CSV As DataTable = (New SQL).loadDgvBySql(creditsave, "FMZOLL") If dtCreditsafe_CSV.Rows.Count = 0 Then addCreditsave = False @@ -6271,7 +6442,7 @@ weiter: Dim Path As String = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genCSVFromDT(dtCreditsafe_CSV,,, "importcsv") If Path <> "" Then - If cs.AddCompaniesCSVToPortfolio(Path) <> "OK" Then 'bei Fehler abbrechen! + If cs.AddCompaniesCSVToPortfolio(Path).Contains("400") Then 'bei Fehler abbrechen! Exit While End If @@ -6290,105 +6461,31 @@ weiter: Next If CS_ID <> "" Then - addCreditsave = sql.doSQL("Update tblKundenErweitert set kde_CSPortfolioAdded = 1 where kde_CreditSaveNo in (" & CS_ID & ")", "FMZOLL") + addCreditsave = (New SQL).doSQL("Update tblKundenErweitert set kde_CSPortfolioAdded = 1 where kde_CreditSaveNo in (" & CS_ID & ")", "FMZOLL") End If End While - End Sub - - Private Sub countmissingCSinPortfolio() - - Dim count As Integer = 0 + Dim countMissing As Integer = 0 + Dim countUploaeded As Integer = 0 Dim sql As New SQL - Dim sqlCount As String = sql.getValueTxtBySql("select isnull(count(*),0) from tblKundenErweitert where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' and kde_CSPortfolioAdded = 0 group by kde_CreditSaveNo, kde_CreditSaveId", "FMZOLL") + lblCSPortfolio.Text = "im Portfolio:" + lblMissingCS.Text = "hochzuladende Unternehmen in CS: " - If sqlCount <> "" AndAlso IsNumeric(sqlCount) Then count = CInt(sqlCount) + Dim sqlCountNotUploaded As String = sql.getValueTxtBySql("select count(distinct(kde_CreditSaveNo)) from tblKundenErweitert where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' and kde_CSPortfolioAdded = 0", "FMZOLL") - lblMissingCS.Text &= count + Dim sqlCountUploaded As String = sql.getValueTxtBySql("select count(distinct(kde_CreditSaveNo)) from tblKundenErweitert where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' and kde_CSPortfolioAdded = 1", "FMZOLL") - End Sub + If sqlCountNotUploaded <> "" AndAlso IsNumeric(sqlCountNotUploaded) Then countMissing = CInt(sqlCountNotUploaded) - Private Sub Button28_Click_1(sender As Object, e As EventArgs) Handles Button28.Click + If sqlCountUploaded <> "" AndAlso IsNumeric(sqlCountUploaded) Then countUploaeded = CInt(sqlCountUploaded) - Dim datumString = "" - - VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True - - If cbCheckDate.Checked Then - - If txtCSDate.Text <> "" AndAlso IsDate(txtCSDate.Text) Then - datumString = txtCSDate.Text - Else - MsgBox("Datum hat falsches Format!" & vbNewLine & "Vorgang wird abgebrochen!") - Exit Sub - End If - - Else - datumString = Today.ToShortDateString - - End If - - Dim creditsave As String = " - select ba_KundenNr FROM tblBonitaetsauskunft WHERE ba_Pruefungstool = 'creditsafe API' - - EXCEPT - - SELECT * FROM ( SELECT ba_KundenNr - FROM tblBonitaetsauskunft - WHERE ba_Pruefungstool = 'creditsafe API' and cast(ba_Datum as Date) >= '" & datumString & "' - - UNION ALL - - SELECT e.KundenNr - FROM ( - SELECT e.KundenNr, - e.eventDate, - 'creditsafe API' AS Source - FROM [VERAG].[dbo].[tblCreditsafeEvents] e - INNER JOIN [VERAG].[dbo].[tblBonitaetsauskunft] b - ON e.bonId = b.ba_id - WHERE b.ba_Pruefungstool = 'creditsafe API' - AND (e.localEventCode IN ('CL','CR') OR e.globalEventCode IN ('CL','CR')) - ) e - WHERE cast(e.eventDate as Date) >= '" & datumString & "' - GROUP BY Source, e.KundenNr, cast(e.eventDate as Date) - ) AS Temp" - - Dim dtCreditsafe As DataTable = (New SQL).loadDgvBySql(creditsave, "FMZOLL") - If dtCreditsafe.Rows.Count = 0 Then Exit Sub - - - Dim cs = New cCreditSafeAPI("creditsafe") - - If cs.authenticate() = "200" Then - - - For Each row As DataRow In dtCreditsafe.Rows - - Dim KUNDE_ERW As New cKundenErweitert(row("ba_KundenNr")) - - Dim company As New cCreditSafeAPI.Company("", "", "", "", KUNDE_ERW.kde_CreditSaveNo, KUNDE_ERW.kde_CreditSaveId, Nothing, "", "", "", "", "", "", "", "", "", KUNDE_ERW.kde_KundenNr) - - If txtCSDate.Text <> "" AndAlso IsDate(txtCSDate.Text) Then - company.lastChecked = CDate(txtCSDate.Text) - End If - - Dim currentBonID As Integer = (New SQL).getValueTxtBySql("Select Top(1) isnull(ba_id, -1) FROM [tblBonitaetsauskunft] where ba_KundenNr = " & KUNDE_ERW.kde_KundenNr & " AND [ba_Pruefungstool] = 'creditsafe API' ORDER BY ba_Datum DESC", "FMZOLL") - - If currentBonID > 0 Then company.csBonID = currentBonID - - Dim dt As New DataTable() - cs.getCompanyEvents(company, dt, cbCheckDate.Checked, bcxKundendatenaktCS.Checked) - - Thread.Sleep(2000) - - Next - End If + lblMissingCS.Text &= countMissing + lblCS_DB.Text = sqlCountUploaded End Sub Private Sub cbCheckDate_CheckedChanged(sender As Object, e As EventArgs) Handles cbCheckDate.CheckedChanged