Mailsender

This commit is contained in:
2025-09-26 16:00:31 +02:00
parent 7c22afa197
commit 91a8717210
3 changed files with 121 additions and 75 deletions

View File

@@ -6,8 +6,6 @@ Imports System.Security.Cryptography.X509Certificates
Imports System.Text
Imports System.Threading
Imports System.Xml
Imports com.sun.xml.internal.rngom
Imports com.sun.xml.internal.rngom.digested
Imports MDM_Worker
Imports Renci.SshNet
Imports VERAG_PROG_ALLGEMEIN
@@ -833,26 +831,26 @@ Public Class frmStartOptions
End If
Case "CREDITSAFE_EVENTS_DETAIL"
Case "CREDITSAFE_EVENTS_MONTHLY"
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim upateKunden As Boolean = True
Dim OnlyCurrentMonthData As Boolean = True
Dim upateKunden As Boolean = False
Dim checkDate As Boolean = True
Dim setzeInfoImKunden As Boolean = False
Dim sendMail As Boolean = True
Dim sendMail As Boolean = False 'nicht nochmals, oder?
importCreditsafeEvents(CDate("01." & Now.Month & "." & Now.Year).ToShortDateString, OnlyCurrentMonthData, upateKunden, setzeInfoImKunden, sendMail, True)
importCreditsafeEvents(CDate("01." & Now.Month & "." & Now.Year).ToShortDateString, checkDate, upateKunden, setzeInfoImKunden, sendMail, True)
closeMe()
Case "CREDITSAFE_EVENTS"
Case "CREDITSAFE_EVENTS_DAILY"
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim upateKunden As Boolean = True
Dim OnlyCurrentMonthData As Boolean = True
Dim upateKunden As Boolean = False
Dim checkDate As Boolean = True
Dim setzeInfoImKunden As Boolean = False
Dim sendMail As Boolean = True
importCreditsafeEvents(CDate("01." & Now.Month & "." & Now.Year).ToShortDateString, OnlyCurrentMonthData, upateKunden, setzeInfoImKunden, sendMail, False)
importCreditsafeEvents(CDate(Today().AddDays(-1)).ToShortDateString, checkDate, upateKunden, setzeInfoImKunden, sendMail, False)
closeMe()
Case "CREDITSAFE_UPLOADS"
@@ -6363,45 +6361,46 @@ weiter:
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'WICHTIG, bei companyDetailEventsRequest = true wird gleich Punkt 3 gemacht (dauert länger, aber mehr Datensätze und alle Kunden werden geprüft, bei companyDetailEventsRequest = false wird die u.a. Best Practice-Methode durchgeführt-> also triggerbasierend)!!!!
'WICHTIG, bei companyDetailEventsRequest = true wird gleich Punkt 3 gemacht (dauert länger, aber mehr Datensätze und alle Kunden werden geprüft, bei companyDetailEventsRequest = false wird die u.a. Best Practice-Methode durchgeführt (Punkt 1 und 2) -> also triggerbasierend)!!!!
'ANSATZ, bei der täglichen Prüfung die triggerbasierten Abruf, 1x im Monat bzw. wenn spezisches Unternehmen geprüft wird, dann Punkt 3.
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'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.
'3. Drill Down to Company-Level Events WHEN NEEDED: For detailed insights into a specific company, use the company-specific endpoint.
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Dim creditsaveOld As String = "
' select ba_KundenNr FROM tblBonitaetsauskunft WHERE ba_Pruefungstool = 'creditsafe API'
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"
' 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"
@@ -6411,9 +6410,11 @@ weiter:
inner join tblKundenErweitert on Kunden.KundenNr = kde_KundenNr
inner join Filialen as f on f.FilialenNr = Kunden.FilialenNr
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 & "'", "")
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 & "' ", "")
'KundenNr und Firma
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
creditsave &= " AND ba_Kundennr in (701809, 1096780)"
End If
Dim cs = New cCreditSafeAPI("creditsafe")
@@ -6472,11 +6473,6 @@ repeatRequestDailyPages:
End If
If False Then
creditsave &= " and (ba_KundenNr = 718137 or ba_KundenNr = 1003418)"
End If
Dim dtRechnungen As DataTable = (New SQL).loadDgvBySql("select distinct(RechnungsKundenNr) from Rechnungsausgang where cast(RechnungsDatum as Date) >= ' " & Today().AddYears(-2) & "' ", "FMZOLL")
Dim dtCreditsafe As DataTable = (New SQL).loadDgvBySql(creditsave, "FMZOLL")
@@ -6529,7 +6525,7 @@ repeatRequestDailyPages:
repeatRequest:
Dim APIText As String = ""
If exists Then
APIText = cs.getCompanyEvents(company, dt, False, checkDate, upateKunden, False,, setzeKundenbesonderheiten, Mailinfolast2Years, row("Firma"))
APIText = cs.getCompanyEventsDetails(company, dt, checkDate, upateKunden, False, , setzeKundenbesonderheiten, Mailinfolast2Years, row("Firma"))
End If
If (APIText.Contains("Error") Or APIText.Contains("Verbindungsfehler")) Then