API Einstellungen, Überstundenauszahlung, Sammelrechnungsdruck, etc

This commit is contained in:
2024-04-17 08:50:07 +02:00
parent 928df14ded
commit 39169c98f8
14 changed files with 230 additions and 56 deletions

View File

@@ -1,4 +1,5 @@
 
Imports System.Runtime.Serialization
Imports DocumentFormat.OpenXml.Drawing.Diagrams Imports DocumentFormat.OpenXml.Drawing.Diagrams
Imports itextsharp.text.pdf Imports itextsharp.text.pdf
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
@@ -12,6 +13,7 @@ Public Class usrcntlCreditsafe
Public comp As Company Public comp As Company
Dim uidDefault As String Dim uidDefault As String
Public createCostumer As Boolean = False Public createCostumer As Boolean = False
Dim creditsafeAPI As New cCreditSafeAPI("creditsafe")
Sub New() Sub New()
InitializeComponent() InitializeComponent()
@@ -35,12 +37,14 @@ Public Class usrcntlCreditsafe
End Sub End Sub
Private Sub init() Private Sub init()
user = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSuser
pw = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSpwd user = creditsafeAPI.dataTablecs.Rows(0).Item("api_user")
pw = creditsafeAPI.dataTablecs.Rows(0).Item("api_password")
'Zugangsdaten hartcoded, da Webservice-User nicht Mitarbeiterabhängig ist!!! 'Zugangsdaten hartcoded, da Webservice-User nicht Mitarbeiterabhängig ist!!!
user = "creditsafe@verag.ag" 'user = "creditsafe@verag.ag"
pw = "^AZcBVTBUIHTT5SQ1C9OOH" 'pw = "^AZcBVTBUIHTT5SQ1C9OOH"
cboLand.fillWithSQL(" SELECT [Länderverzeichnis für die Außenhandelsstatistik].LandKz,[Länderverzeichnis für die Außenhandelsstatistik].LandBez " & cboLand.fillWithSQL(" SELECT [Länderverzeichnis für die Außenhandelsstatistik].LandKz,[Länderverzeichnis für die Außenhandelsstatistik].LandBez " &
" FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN [Währungstabelle] ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = [Währungstabelle].[Währungsschlüssel] " & " FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN [Währungstabelle] ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = [Währungstabelle].[Währungsschlüssel] " &
@@ -98,10 +102,10 @@ Public Class usrcntlCreditsafe
dataTable.Clear() dataTable.Clear()
Dim cs = New cCreditSafeAPI() Dim cs = New cCreditSafeAPI("creditsafe")
Cursor = Cursors.WaitCursor Cursor = Cursors.WaitCursor
If cs.authenticate(user, pw) = "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, "", "", "", "", "", "")
lblWarning.Text = cs.searchCompanies(company, dataTable).ToString lblWarning.Text = cs.searchCompanies(company, dataTable).ToString

View File

@@ -2327,7 +2327,7 @@ Public Class cFakturierung
End Function End Function
Public Shared Function doSAMMELRechnungsDruck_Abschnitt(ByRef RechnungsNr As Integer, Firma_ID As Integer, Buchungsjahr As Integer, DruckdatumUhrzeit As DateTime, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional RechnungsdruckArt As Integer = -1, Optional ByRef pathPDF As String = "", Optional SRDruckWiederholen As Boolean = False, Optional SB As String = "", Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional VorschauID As String = "", Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "") As Boolean Public Shared Function doSAMMELRechnungsDruck_Abschnitt(ByRef RechnungsNr As Integer, Firma_ID As Integer, Buchungsjahr As Integer, DruckdatumUhrzeit As DateTime, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional RechnungsdruckArt As Integer = -1, Optional ByRef pathPDF As String = "", Optional SRDruckWiederholen As Boolean = False, Optional SB As String = "", Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional VorschauID As String = "", Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional mergePDF As Boolean = False) As Boolean
'SB Nicht mehr benötigt, da RG-Nr und DruckdatumUhrzeit 'SB Nicht mehr benötigt, da RG-Nr und DruckdatumUhrzeit
Dim dt As DataTable Dim dt As DataTable
@@ -3073,7 +3073,7 @@ Public Class cFakturierung
Return "" Return ""
End Function End Function
Shared Function doSAMMELRechnungDruck_Rechnungsdruck(dt As DataTable, RechnungsNr As Integer, DruckdatumUhrzeit As Date, Rgstatus As Integer, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional PrinterName As String = "", Optional SRDruckWiederholen As Boolean = False, Optional VorschauID As String = "") As Boolean 'RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "") As Boolean Shared Function doSAMMELRechnungDruck_Rechnungsdruck(dt As DataTable, RechnungsNr As Integer, DruckdatumUhrzeit As Date, Rgstatus As Integer, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional PrinterName As String = "", Optional SRDruckWiederholen As Boolean = False, Optional VorschauID As String = "", Optional mergePDF As Boolean = False) As Boolean 'RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "") As Boolean
Try Try

View File

@@ -83,6 +83,7 @@ Partial Class frmAbrechnungsMaske
Me.btnBisJahr = New System.Windows.Forms.Button() Me.btnBisJahr = New System.Windows.Forms.Button()
Me.btnVonJahr = New System.Windows.Forms.Button() Me.btnVonJahr = New System.Windows.Forms.Button()
Me.UsrCntlFaktAbrechnung1 = New SDL.usrCntlFaktAbrechnung() Me.UsrCntlFaktAbrechnung1 = New SDL.usrCntlFaktAbrechnung()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.pnl.SuspendLayout() Me.pnl.SuspendLayout()
CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainer.Panel1.SuspendLayout() Me.SplitContainer.Panel1.SuspendLayout()
@@ -902,6 +903,11 @@ Partial Class frmAbrechnungsMaske
Me.UsrCntlFaktAbrechnung1.Size = New System.Drawing.Size(863, 615) Me.UsrCntlFaktAbrechnung1.Size = New System.Drawing.Size(863, 615)
Me.UsrCntlFaktAbrechnung1.TabIndex = 0 Me.UsrCntlFaktAbrechnung1.TabIndex = 0
' '
'ContextMenuStrip1
'
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4)
'
'frmAbrechnungsMaske 'frmAbrechnungsMaske
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -989,4 +995,5 @@ Partial Class frmAbrechnungsMaske
Public WithEvents cboSort As VERAG_PROG_ALLGEMEIN.MyComboBox Public WithEvents cboSort As VERAG_PROG_ALLGEMEIN.MyComboBox
Friend WithEvents cbxOriginalDrucken As CheckBox Friend WithEvents cbxOriginalDrucken As CheckBox
Friend WithEvents Button11 As Button Friend WithEvents Button11 As Button
Friend WithEvents ContextMenuStrip1 As ContextMenuStrip
End Class End Class

View File

@@ -117,6 +117,9 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>

View File

@@ -688,16 +688,50 @@ Public Class frmAbrechnungsMaske
End Sub End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles btnWiederholeRgDruck.Click Private Sub Button4_Click(sender As Object, e As EventArgs) Handles btnWiederholeRgDruck.Click
Dim SR_RechnungsNr = InputBox("SR-Nummer eingeben: ")
If Not ContextMenuStrip1.Items.ContainsKey("1") Then
Dim print = New ToolStripMenuItem() With {.Text = "Drucken", .Name = "1", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
AddHandler print.Click, AddressOf mnuItem_Clicked
ContextMenuStrip1.Items.Add(print)
End If
If Not ContextMenuStrip1.Items.ContainsKey("2") Then
Dim mail = New ToolStripMenuItem() With {.Text = "E-Mail", .Name = "2", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
ContextMenuStrip1.Items.Add(mail)
AddHandler mail.Click, AddressOf mnuItem_Clicked
End If
If Not ContextMenuStrip1.Items.ContainsKey("3") Then
Dim pdf = New ToolStripMenuItem() With {.Text = "PDF", .Name = "3", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
AddHandler pdf.Click, AddressOf mnuItem_Clicked
ContextMenuStrip1.Items.Add(pdf)
End If
ContextMenuStrip1.Show(Cursor.Position)
End Sub
Private Sub mnuItem_Clicked(sender As Object, e As EventArgs)
ContextMenuStrip1.Hide()
Dim id = 3 'default per PDF
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
If item IsNot Nothing Then id = item.Name
Dim SR_RechnungsNr = InputBox("SR-Nummer eingeben: ", "Rechnungsdruck - " & IIf(item.Text IsNot Nothing, item.Text, "PDF"))
If IsNumeric(SR_RechnungsNr) Then If IsNumeric(SR_RechnungsNr) Then
Dim RK_ID = SQL.getValueTxtBySql("SELECT TOP 1 RK_ID FROM Rechnungsausgang WHERE RechnungsNr='" & SR_RechnungsNr & "' AND Firma_ID='" & cboFirma._value & "' ORDER BY DruckDatumZeit DESC", "FMZOLL") Dim RK_ID = SQL.getValueTxtBySql("SELECT TOP 1 RK_ID FROM Rechnungsausgang WHERE RechnungsNr='" & SR_RechnungsNr & "' AND Firma_ID='" & cboFirma._value & "' ORDER BY DruckDatumZeit DESC", "FMZOLL")
If IsNumeric(RK_ID) Then If IsNumeric(RK_ID) Then
Dim RG_TMP As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID) Dim RG_TMP As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID)
If RG_TMP IsNot Nothing Then If RG_TMP IsNot Nothing Then
cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", False, , 3,, True) 'id mitübergeben (1_> drucken, 2 Email, 3 PDF)
cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", False, , id,, True)
End If
End If End If
End If End If
End If
End Sub End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

View File

@@ -145,7 +145,7 @@ Public Class frmMain
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_timasId IsNot Nothing Then If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_timasId IsNot Nothing Then
Dim timas As New cTimasAPI Dim timas As New cTimasAPI("timas")
Dim infoMessage As String = "" Dim infoMessage As String = ""
Dim timeEntryExisting As Boolean = False Dim timeEntryExisting As Boolean = False
Dim isEndpointRunning As Boolean = True Dim isEndpointRunning As Boolean = True
@@ -560,6 +560,37 @@ Public Class frmMain
Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click
Try
If False Then
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_timasId IsNot Nothing Then
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_timasNichtStempeln Then
Dim timas As New cTimasAPI("timas")
Dim infoMessage As New DataTable
Dim timeEntryExisting As Boolean = False
Dim isEndpointRunning As Boolean = True
Dim isPresent = timas.getTimeEntries(cAllgemein.MITARBEITER.mit_timasId, infoMessage, timeEntryExisting,, isEndpointRunning)
If timeEntryExisting AndAlso isEndpointRunning AndAlso isPresent Then
Dim a As MsgBoxResult = MsgBox("Soll " & VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME & " ausgestempelt werden?" & vbNewLine & Now.ToString() & " als Endzeit erfassen?", vbYesNo)
If a = vbYes Then
Dim info
timas.setTimeEntry(cAllgemein.MITARBEITER, Now, info, "out")
MsgBox(info)
Else
End If
End If
End If
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Me.Close() Me.Close()
End Sub End Sub

View File

@@ -85,7 +85,7 @@ Public Class usrCntlKundenBesonderheiten
End Sub End Sub
Private Sub initDGV(Optional kdnrTmp = -1, Optional simpleView = False, Optional preferedKategorie = "", Optional preferedKategorieOtherIN = "") Private Sub initDGV(Optional kdnrTmp = -1, Optional simpleView = False, Optional preferedKategorie = "", Optional preferedKategorieOtherIN = "")
If dgvBesonderheiten.Columns IsNot Nothing Then If dgvBesonderheiten.Columns IsNot Nothing AndAlso dgvBesonderheiten.Columns.Count > 0 Then
dgvBesonderheiten.Columns.Clear() dgvBesonderheiten.Columns.Clear()
End If End If

View File

@@ -2739,10 +2739,10 @@ Public Class usrCntlKundenuebersicht
Else Else
Dim cs = New cCreditSafeAPI() Dim cs = New cCreditSafeAPI("creditsafe")
'If cs.authenticate(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSuser, VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSpwd) = "200" Then 'If cs.authenticate(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSuser, VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSpwd) = "200" Then
If cs.authenticate("creditsafe@verag.ag", "^AZcBVTBUIHTT5SQ1C9OOH") = "200" Then If cs.authenticate() = "200" Then
'Prüfung wird benötigt, da deutsche Abfragen einen Reasoncode benötigen! 'Prüfung wird benötigt, da deutsche Abfragen einen Reasoncode benötigen!
If checkNullStr(ADRESSE.LandKz) = "" Then If checkNullStr(ADRESSE.LandKz) = "" Then
@@ -2788,7 +2788,7 @@ Public Class usrCntlKundenuebersicht
Else Else
MsgBox("Authentifizierungsfehler für User " & VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_CSuser) MsgBox("Authentifizierungsfehler bei Creditsafe-User")
End If End If

View File

@@ -10,7 +10,7 @@ Imports VERAG_PROG_ALLGEMEIN.cCreditSafeAPI
Public Class frmMitarbeitersuche Public Class frmMitarbeitersuche
Dim mit_id As Integer = -1 Dim mit_id As Integer = -1
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim timas As New cTimasAPI Dim timas As New cTimasAPI("timas")
Dim requestDone As Boolean = False Dim requestDone As Boolean = False
Dim MA As cMitarbeiter = Nothing Dim MA As cMitarbeiter = Nothing
@@ -323,7 +323,7 @@ Public Class frmMitarbeitersuche
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_timasId IsNot Nothing Then If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_timasId IsNot Nothing Then
Dim timas As New cTimasAPI Dim timas As New cTimasAPI("timas")
If art = "post" Then If art = "post" Then
'postgang ausstempen, dann beginn post, + 1h ende post 'postgang ausstempen, dann beginn post, + 1h ende post

View File

@@ -9,7 +9,7 @@ Public Class frmUeberstundenauszahlen
Dim refresh As Boolean = False Dim refresh As Boolean = False
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim MA As cMitarbeiter = Nothing Dim MA As cMitarbeiter = Nothing
Dim timas As cTimasAPI = New cTimasAPI Dim timas As cTimasAPI = New cTimasAPI("timas")
Dim dt As New DataTable Dim dt As New DataTable
Dim customFields As New DataTable Dim customFields As New DataTable
Dim timeaccountdt As New DataTable Dim timeaccountdt As New DataTable

View File

@@ -1,6 +1,7 @@
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.Net Imports System.Net
Imports System.Reflection Imports System.Reflection
Imports System.ServiceModel.Configuration
Imports System.ServiceModel.Security Imports System.ServiceModel.Security
Imports System.Threading Imports System.Threading
Imports System.Web.Routing Imports System.Web.Routing
@@ -610,18 +611,29 @@ Public Class cATEZ_NCTS_IN
'Shared API_STRING As String = "https://dev-tds.singlewindow.io" 'Shared API_STRING As String = "https://dev-tds.singlewindow.io"
'PROD 'PROD
Shared API_STRING As String = "https://transcom.singlewindow.io" Shared API_STRING As String = "https://transcom.singlewindow.io"
Shared API As New DataTable
Shared token As String = "" Shared token As String = ""
Shared refresh_token As String = "" Shared refresh_token As String = ""
Public dataTable As New DataTable() Public dataTable As New DataTable()
Shared jsonData As New Chilkat.JsonObject Shared jsonData As New Chilkat.JsonObject
Public Shared sessionID As Integer = -1 Public Shared sessionID As Integer = -1
Dim SQl As SQL
Shared apiSettingsloaded As Boolean = False
Sub New(program As String)
API = SQL.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & program & "' and api_productive ='" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN")
If API.Rows.Count = 0 Then
MsgBox("keine gültigen API-Einstellungen für " & program & " gefunden!")
Else
apiSettingsloaded = True
API_STRING = API.Rows(0).Item("api_url")
End If
API_STRING = API.Rows(0).Item("api_url")
End Sub
Shared Function SendRequestAuthentificationToken(ByVal myuri As String, ByVal contentType As String, ByVal method As String, ByRef Itoken As String) As String Shared Function SendRequestAuthentificationToken(ByVal myuri As String, ByVal contentType As String, ByVal method As String, ByRef Itoken As String) As String
Try Try
Dim session = New cATEZ_NCTS_Sessions() Dim session = New cATEZ_NCTS_Sessions()
If Not IsDBNull(session.token) AndAlso session.token IsNot Nothing Then If Not IsDBNull(session.token) AndAlso session.token IsNot Nothing Then
@@ -631,6 +643,8 @@ Public Class cATEZ_NCTS_IN
Return "200" Return "200"
End If End If
If apiSettingsloaded = False Then Return "400"
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat() VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
Dim rest As New Chilkat.Rest Dim rest As New Chilkat.Rest
@@ -650,8 +664,8 @@ Public Class cATEZ_NCTS_IN
Dim json As New Chilkat.JsonObject Dim json As New Chilkat.JsonObject
json.UpdateString("password", "V3r4gAtez2023!") json.UpdateString("password", API.Rows(0).Item("api_password"))
json.UpdateString("username", "atez-integration@verag.ag") json.UpdateString("username", API.Rows(0).Item("api_user"))
rest.AddHeader("Content-Type", contentType) rest.AddHeader("Content-Type", contentType)

View File

@@ -1,35 +1,38 @@
Imports System.Diagnostics.Eventing.Reader 
Imports System.IO
Imports System.Net Imports System.Net
Imports System.Text
Imports System.Threading Imports System.Threading
Imports System.Web.UI.WebControls
Imports System.Windows.Forms
Imports Chilkat Imports Chilkat
Imports iTextSharp.text.pdf
Imports Microsoft.Office.Interop.Outlook
Imports Newtonsoft.Json
Imports Spire.Pdf.Lists
Imports Spire.Pdf.OPC
Imports VERAG_PROG_ALLGEMEIN.IDEV_Intrastat
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
Public Class cCreditSafeAPI Public Class cCreditSafeAPI
'Test Shared API_STRING As String
'Shared API_STRING As String = "https://connect.sandbox.creditsafe.com" Shared API As New DataTable
'PROD
Shared API_STRING As String = "https://connect.creditsafe.com"
Shared token As String = "" Shared token As String = ""
Public dataTable As New DataTable() Public dataTable As New DataTable()
Public dataTablecs As New DataTable()
Shared SQL As New SQL
Shared apiSettingsloaded As Boolean = False
Sub New(program As String)
API = SQL.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & program & "' and api_productive ='" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN")
dataTablecs = API
If API.Rows.Count = 0 Then
MsgBox("keine gültigen API-Einstellungen für " & program & " gefunden!")
Else
apiSettingsloaded = True
API_STRING = API.Rows(0).Item("api_url")
End If
End Sub
Shared Function SendRequestAuthentificationToken(myuri As String, user As CreditSafeUser, contentType As String, method As String) As String Shared Function SendRequestAuthentificationToken(myuri As String, contentType As String, method As String, Optional csUser As CreditSafeUser = Nothing) As String
Try Try
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat() VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
If apiSettingsloaded = False Then Return "400"
Dim rest As New Chilkat.Rest Dim rest As New Chilkat.Rest
Dim success As Boolean Dim success As Boolean
@@ -45,10 +48,15 @@ Public Class cCreditSafeAPI
End If End If
Dim json As New Chilkat.JsonObject Dim json As New Chilkat.JsonObject
json.UpdateString("username", user.username) If csUser IsNot Nothing Then
json.UpdateString("password", user.password) json.UpdateString("username", csUser.username)
json.UpdateString("password", csUser.password)
Else
json.UpdateString("username", API.Rows(0).Item("api_user"))
json.UpdateString("password", API.Rows(0).Item("api_password"))
End If
rest.AddHeader("Content-Type", contentType) rest.AddHeader("Content-Type", contentType)
@@ -176,11 +184,15 @@ Public Class cCreditSafeAPI
End Function End Function
Shared Function authenticate(username As String, passwort As String) As String Shared Function authenticate(Optional username As String = "", Optional password As String = "") As String
Dim myUri As String = API_STRING & "/v1/authenticate" Dim myUri As String = API_STRING & "/v1/authenticate"
Dim csUser = New CreditSafeUser(username, passwort) Dim csUser
Dim response = SendRequestAuthentificationToken(myUri, csUser, "application/json", "POST") If username <> "" AndAlso password <> "" Then
csUser = New CreditSafeUser(username, password)
End If
Dim response = SendRequestAuthentificationToken(myUri, "application/json", "POST", csUser)
Return response Return response
@@ -506,6 +518,44 @@ Public Class cCreditSafeAPI
End Function End Function
Public Function getSubscriptionCountries() As String
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
If apiSettingsloaded = False Then Return "400"
Dim rest As New Chilkat.Rest
Dim success As Boolean
rest.AddHeader("Authorization", "Bearer <YOUR_JWT_HERE>")
Dim sbResponseBody As New Chilkat.StringBuilder
success = rest.FullRequestNoBodySb("GET", "/v1/access", sbResponseBody)
If (success <> True) Then
Return rest.LastErrorText
End If
Dim respStatusCode As Integer = rest.ResponseStatusCode
Debug.WriteLine("response status code = " & respStatusCode)
If (respStatusCode >= 400) Then
Debug.WriteLine("Response Status Code = " & respStatusCode)
Debug.WriteLine("Response Header:")
Debug.WriteLine(rest.ResponseHeader)
Debug.WriteLine("Response Body:")
Debug.WriteLine(sbResponseBody.GetAsString())
Return respStatusCode & " " & sbResponseBody.GetAsString()
End If
Dim jsonResponse As New Chilkat.JsonObject
jsonResponse.LoadSb(sbResponseBody)
jsonResponse.EmitCompact = False
Debug.WriteLine(jsonResponse.Emit())
End Function
Shared Sub setSearchParam(ByRef rest As Chilkat.Rest, ByRef company As Company) Shared Sub setSearchParam(ByRef rest As Chilkat.Rest, ByRef company As Company)

View File

@@ -352,15 +352,30 @@ End Class
Public Class cDigicustAPI Public Class cDigicustAPI
'PROD 'PROD
Shared API_STRING As String = "https://api.digicust.com" Shared API_STRING As String
Shared token As String = "" Shared token As String = ""
Shared api As New DataTable
Shared refresh_token As String = "" Shared refresh_token As String = ""
Public dataTable As New DataTable() Public dataTable As New DataTable()
Dim sql As New SQL
Shared apiSettingsloaded As Boolean = False
Sub New(program As String)
api = sql.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & program & "' and api_productive ='" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN")
If api.Rows.Count = 0 Then
MsgBox("keine gültigen API-Einstellungen für " & program & " gefunden!")
Else
apiSettingsloaded = True
API_STRING = api.Rows(0).Item("api_url")
End If
API_STRING = api.Rows(0).Item("api_url")
End Sub
Shared Function SendRequestAuthentificationToken(ByVal myuri As String, ByVal contentType As String, ByVal method As String, ByRef _token As String) As String Shared Function SendRequestAuthentificationToken(ByVal myuri As String, ByVal contentType As String, ByVal method As String, ByRef _token As String) As String
Try Try
Dim session = New cDigicustSessions() Dim session = New cDigicustSessions()
If Not IsDBNull(session.token) AndAlso session.token IsNot Nothing Then If Not IsDBNull(session.token) AndAlso session.token IsNot Nothing Then
@@ -371,6 +386,8 @@ Public Class cDigicustAPI
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat() VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
If apiSettingsloaded = False Then Return "400"
Dim rest As New Chilkat.Rest Dim rest As New Chilkat.Rest
Dim success As Boolean Dim success As Boolean
Dim bTls As Boolean = True Dim bTls As Boolean = True
@@ -385,8 +402,9 @@ Public Class cDigicustAPI
End If End If
Dim json As New Chilkat.JsonObject Dim json As New Chilkat.JsonObject
success = json.UpdateString("username", "edv@verag.ag")
success = json.UpdateString("password", "hbG&%RhpE6kjV@r") success = json.UpdateString("username", api.Rows(0).Item("user"))
success = json.UpdateString("password", api.Rows(0).Item("password"))
rest.AddHeader("Content-Type", contentType) rest.AddHeader("Content-Type", contentType)

View File

@@ -4,22 +4,35 @@ Imports System.Runtime.Remoting
Imports System.Text Imports System.Text
Imports System.Threading Imports System.Threading
Imports System.Windows.Forms Imports System.Windows.Forms
Imports DocumentFormat.OpenXml.Wordprocessing
Imports Microsoft.Office.Interop.Outlook Imports Microsoft.Office.Interop.Outlook
Public Class cTimasAPI Public Class cTimasAPI
Dim API_STRING = "https://zeit.verag.ag" Public API_STRING
Dim API As New DataTable
Dim rest As New Chilkat.Rest Dim rest As New Chilkat.Rest
Dim SQL As New SQL
Dim apiSettingsloaded As Boolean = False
Sub New() Sub New(program As String)
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat() VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
API = SQL.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & program & "' and api_productive ='" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN")
If API.Rows.Count = 0 Then
MsgBox("keine gültigen API-Einstellungen für " & program & " gefunden!")
Else
apiSettingsloaded = True
API_STRING = API.Rows(0).Item("api_url")
End If
End Sub End Sub
Public Function checkConnectionTImas(ByRef failureText As String) As Boolean Public Function checkConnectionTImas(ByRef failureText As String) As Boolean
Try Try
Dim success As Boolean Dim success As Boolean
If apiSettingsloaded = False Then Return False
rest.VerboseLogging = True rest.VerboseLogging = True
Dim bTls As Boolean = True Dim bTls As Boolean = True
@@ -33,7 +46,7 @@ Public Class cTimasAPI
Return False Return False
End If End If
success = rest.SetAuthBasic("admin", "BmWr501956") success = rest.SetAuthBasic(API.Rows(0).Item("api_user"), API.Rows(0).Item("api_password"))
If (success <> True) Then If (success <> True) Then
Debug.WriteLine("BAFailReason: " & rest.ConnectFailReason) Debug.WriteLine("BAFailReason: " & rest.ConnectFailReason)