cbam
This commit is contained in:
@@ -422,111 +422,13 @@ Public Class usrCntlCBAM
|
|||||||
If txtBis._value = "" Then MsgBox("Datum bis eingeben!") : Exit Sub
|
If txtBis._value = "" Then MsgBox("Datum bis eingeben!") : Exit Sub
|
||||||
Me.Cursor = Cursors.WaitCursor
|
Me.Cursor = Cursors.WaitCursor
|
||||||
|
|
||||||
Dim SQL_GP As String = "SELECT [Registriernummer_MRN] as 'declaration no'
|
Dim SQL_DAKOSY = ""
|
||||||
,max(Überlassungsdatum) as 'declaration date'
|
Dim SQL_GP = ""
|
||||||
,isnull(max(Empfänger_CN_EORI),'') as 'importer identification number'
|
getDY_Detail_SQL(SQLSTR_WHERE_FIRMEN, EORI, SQL_DAKOSY, SQL_GP) '--> Aufbau SQL String
|
||||||
,'' as 'exporter identification number'
|
|
||||||
, max(Warentarifnummer) as 'commodity code'
|
|
||||||
,max([VersendungsLand]) as 'origin country code'
|
|
||||||
,Left(max(Verfahren2),2) as 'requested procedure'
|
|
||||||
,'' as 'previous procedure'
|
|
||||||
,(max(Eigenmasse) / 1000) as 'net mass'
|
|
||||||
,'TONNES' as 'type of measurement unit'
|
|
||||||
,'' as 'invoice numbers'
|
|
||||||
,'' as 'invoice date'
|
|
||||||
,'' as 'member state auth'
|
|
||||||
,'' as 'discharge bill waiver'
|
|
||||||
,'' as 'authorisation'
|
|
||||||
,'' as 'start time'
|
|
||||||
,'' as 'end time'
|
|
||||||
,'' as 'deadline'
|
|
||||||
,isnull(max(Empfänger_CN_EORI),'') as 'reporting declarant EORI number'
|
|
||||||
,'' as 'type of representation'
|
|
||||||
,isnull(max(CN_Name), '') as 'importer title'
|
|
||||||
,'' as 'importer email'
|
|
||||||
,'' as 'importer phone'
|
|
||||||
,isnull(max(CN_Ländercode), '') as 'importer country code or member state'
|
|
||||||
,'' as 'importer subdivision'
|
|
||||||
,'' as 'importer city'
|
|
||||||
,'' as 'importer street'
|
|
||||||
,'' as 'importer street additional'
|
|
||||||
,'' as 'importer address number'
|
|
||||||
,'' as 'importer post code'
|
|
||||||
,'' as 'importer po box'
|
|
||||||
,'' as 'importer coordinate longitude (x)'
|
|
||||||
,'' as 'importer coordinate latitude (y)'
|
|
||||||
,isnull(max(CZ_Name), '') as 'exporter title'
|
|
||||||
,isnull(max(CZ_Ländercode), '') as 'exporter country code or member state'
|
|
||||||
,'' as 'exporter street'
|
|
||||||
,'' as 'exporter street additional'"
|
|
||||||
|
|
||||||
Dim SQL_DAKOSY As String = "SELECT
|
Dim dt = SQL.loadDgvBySql(SQL_DAKOSY, "AVISO", 600)
|
||||||
[Registriernummer_MRN] RegistriernummerATLAS
|
|
||||||
,PositionNo PositionsNummer
|
|
||||||
,max(Überlassungsdatum) Anmeldedatum
|
|
||||||
,max([Bezugsnummer_LRN]) BezugsNr
|
|
||||||
,max([Art_der_Vertretung]) VertretungsVerhaeltnis
|
|
||||||
,max(Warentarifnummer) Tarifnummer
|
|
||||||
,max(Eigenmasse) Eigenmasse
|
|
||||||
,max([VersendungsLand]) VersendungsLand
|
|
||||||
,'DE' Bestimmungsland
|
|
||||||
,max([DV1Rechnungsbetrag])Rechnungspreis
|
|
||||||
,max([Rechnungswährung]) Rechnungswaehrung
|
|
||||||
,isnull(max(Empfänger_CN_EORI),'') as EmpfängerEORI
|
|
||||||
,isnull(max(CN_Name), '') as Empfänger
|
|
||||||
,isnull(max(Versender_CZ_EORI),'') as AbsenderEORI
|
|
||||||
,isnull(max(CZ_Name), '') as Absender
|
|
||||||
,'' as 'Rechnungsnummer'
|
|
||||||
,'' as 'Rechnungsdatum'"
|
|
||||||
|
|
||||||
Dim SQLSTR = " FROM [tbl_DY_Zollmeldungen_Import]
|
Dim dtGP = SQL.loadDgvBySql(SQL_GP, "AVISO", 600)
|
||||||
where
|
|
||||||
Überlassungsdatum between '" & txtVon._value & "' and '" & txtBis._value & "'
|
|
||||||
and
|
|
||||||
(
|
|
||||||
left(Warentarifnummer,4) IN (2523,2716,2808,2814,3102,3105,7201,7203,7318,7326,7601,7616)
|
|
||||||
OR left(Warentarifnummer,4) between 7301 and 7311
|
|
||||||
OR left(Warentarifnummer,4) between 7205 and 7229
|
|
||||||
OR left(Warentarifnummer,4) between 7603 and 7614
|
|
||||||
OR Warentarifnummer like '25070080%'
|
|
||||||
OR Warentarifnummer like '283421%'
|
|
||||||
OR Warentarifnummer like '260112%'
|
|
||||||
OR Warentarifnummer like '720211%'
|
|
||||||
OR Warentarifnummer like '720219%'
|
|
||||||
OR Warentarifnummer like '720241%'
|
|
||||||
OR Warentarifnummer like '720249%'
|
|
||||||
OR Warentarifnummer like '720260%'
|
|
||||||
OR Warentarifnummer like '280410%'
|
|
||||||
)
|
|
||||||
and Warentarifnummer not like '310560%'
|
|
||||||
|
|
||||||
"
|
|
||||||
|
|
||||||
If SQLSTR_WHERE_FIRMEN <> "" Then
|
|
||||||
SQLSTR &= " and Teilnehmer in ( " & SQLSTR_WHERE_FIRMEN & ")"
|
|
||||||
SQLSTR &= "
|
|
||||||
and left(Art_der_Vertretung,1) IN (2)
|
|
||||||
"
|
|
||||||
|
|
||||||
Else
|
|
||||||
'Das ist nicht zulässig, wenn die Unterabfrage auf =, !=, <, <=, > oder >= folgt oder als Ausdruck verwendet wird.
|
|
||||||
'SQLSTR &= "
|
|
||||||
' and (select isnull([ezaAd_NameFirma1],[ezaAd_TeilnehmerEORI]) FROM tblDakosy_EZA_Adressen WHERE ezaAd_EZAId=eza_Id and [ezaAd_AdressTyp]='CN')='" & EORI & "'
|
|
||||||
' "
|
|
||||||
|
|
||||||
SQLSTR &= "
|
|
||||||
and Empfänger_CN_EORI='" & EORI & "'
|
|
||||||
"
|
|
||||||
End If
|
|
||||||
|
|
||||||
SQLSTR &= " group by Registriernummer_MRN,PositionNo"
|
|
||||||
|
|
||||||
SQLSTR &= " order by isnull(max(CZ_Name), ''), Registriernummer_MRN, PositionNo"
|
|
||||||
|
|
||||||
|
|
||||||
Dim dt = SQL.loadDgvBySql(SQL_DAKOSY & SQLSTR, "AVISO", 600)
|
|
||||||
|
|
||||||
Dim dtGP = SQL.loadDgvBySql(SQL_GP & SQLSTR, "AVISO", 600)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -771,7 +673,116 @@ Public Class usrCntlCBAM
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Sub getDY_Detail_SQL(SQLSTR_WHERE_FIRMEN, EORI, ByRef SQL_DAKOSY, ByRef SQL_GP)
|
||||||
|
|
||||||
|
SQL_GP = "SELECT [Registriernummer_MRN] as 'declaration no'
|
||||||
|
,max(Überlassungsdatum) as 'declaration date'
|
||||||
|
,isnull(max(Empfänger_CN_EORI),'') as 'importer identification number'
|
||||||
|
,'' as 'exporter identification number'
|
||||||
|
, max(Warentarifnummer) as 'commodity code'
|
||||||
|
,max([VersendungsLand]) as 'origin country code'
|
||||||
|
,Left(max(Verfahren2),2) as 'requested procedure'
|
||||||
|
,'' as 'previous procedure'
|
||||||
|
,(max(Eigenmasse) / 1000) as 'net mass'
|
||||||
|
,'TONNES' as 'type of measurement unit'
|
||||||
|
,'' as 'invoice numbers'
|
||||||
|
,'' as 'invoice date'
|
||||||
|
,'' as 'member state auth'
|
||||||
|
,'' as 'discharge bill waiver'
|
||||||
|
,'' as 'authorisation'
|
||||||
|
,'' as 'start time'
|
||||||
|
,'' as 'end time'
|
||||||
|
,'' as 'deadline'
|
||||||
|
,isnull(max(Empfänger_CN_EORI),'') as 'reporting declarant EORI number'
|
||||||
|
,'' as 'type of representation'
|
||||||
|
,isnull(max(CN_Name), '') as 'importer title'
|
||||||
|
,'' as 'importer email'
|
||||||
|
,'' as 'importer phone'
|
||||||
|
,isnull(max(CN_Ländercode), '') as 'importer country code or member state'
|
||||||
|
,'' as 'importer subdivision'
|
||||||
|
,'' as 'importer city'
|
||||||
|
,'' as 'importer street'
|
||||||
|
,'' as 'importer street additional'
|
||||||
|
,'' as 'importer address number'
|
||||||
|
,'' as 'importer post code'
|
||||||
|
,'' as 'importer po box'
|
||||||
|
,'' as 'importer coordinate longitude (x)'
|
||||||
|
,'' as 'importer coordinate latitude (y)'
|
||||||
|
,isnull(max(CZ_Name), '') as 'exporter title'
|
||||||
|
,isnull(max(CZ_Ländercode), '') as 'exporter country code or member state'
|
||||||
|
,'' as 'exporter street'
|
||||||
|
,'' as 'exporter street additional'"
|
||||||
|
|
||||||
|
SQL_DAKOSY = "SELECT
|
||||||
|
[Registriernummer_MRN] RegistriernummerATLAS
|
||||||
|
,PositionNo PositionsNummer
|
||||||
|
,max(Überlassungsdatum) Anmeldedatum
|
||||||
|
,max([Bezugsnummer_LRN]) BezugsNr
|
||||||
|
,max([Art_der_Vertretung]) VertretungsVerhaeltnis
|
||||||
|
,max(Warentarifnummer) Tarifnummer
|
||||||
|
,max(Eigenmasse) Eigenmasse
|
||||||
|
,max([VersendungsLand]) VersendungsLand
|
||||||
|
,'DE' Bestimmungsland
|
||||||
|
,max([DV1Rechnungsbetrag])Rechnungspreis
|
||||||
|
,max([Rechnungswährung]) Rechnungswaehrung
|
||||||
|
,isnull(max(Empfänger_CN_EORI),'') as EmpfängerEORI
|
||||||
|
,isnull(max(CN_Name), '') as Empfänger
|
||||||
|
,isnull(max(Versender_CZ_EORI),'') as AbsenderEORI
|
||||||
|
,isnull(max(CZ_Name), '') as Absender
|
||||||
|
,'' as 'Rechnungsnummer'
|
||||||
|
,'' as 'Rechnungsdatum'"
|
||||||
|
|
||||||
|
Dim SQLSTR = " FROM [tbl_DY_Zollmeldungen_Import]
|
||||||
|
where
|
||||||
|
Überlassungsdatum between '" & txtVon._value & "' and '" & txtBis._value & "'
|
||||||
|
AND (
|
||||||
|
LEFT(Warentarifnummer,4) IN (2523,2716,2808,2814,2803,2818,3102,3103,3104,3105,
|
||||||
|
7201,7202,7203,7204,7325,7318,7326,7601,7602)
|
||||||
|
OR LEFT(Warentarifnummer,4) BETWEEN 7205 AND 7229
|
||||||
|
OR LEFT(Warentarifnummer,4) BETWEEN 7301 AND 7311
|
||||||
|
OR LEFT(Warentarifnummer,4) BETWEEN 7603 AND 7614
|
||||||
|
OR Warentarifnummer LIKE '25070080%'
|
||||||
|
OR Warentarifnummer LIKE '260112%'
|
||||||
|
OR Warentarifnummer LIKE '260300%'
|
||||||
|
OR Warentarifnummer LIKE '260600%'
|
||||||
|
OR Warentarifnummer LIKE '283421%'
|
||||||
|
OR Warentarifnummer LIKE '720211%'
|
||||||
|
OR Warentarifnummer LIKE '720219%'
|
||||||
|
OR Warentarifnummer LIKE '720241%'
|
||||||
|
OR Warentarifnummer LIKE '720249%'
|
||||||
|
OR Warentarifnummer LIKE '720260%'
|
||||||
|
OR Warentarifnummer LIKE '280410%'
|
||||||
|
)
|
||||||
|
AND Warentarifnummer NOT LIKE '310560%'
|
||||||
|
|
||||||
|
"
|
||||||
|
|
||||||
|
If SQLSTR_WHERE_FIRMEN <> "" Then
|
||||||
|
SQLSTR &= " and Teilnehmer in ( " & SQLSTR_WHERE_FIRMEN & ")"
|
||||||
|
SQLSTR &= "
|
||||||
|
and left(Art_der_Vertretung,1) IN (2)
|
||||||
|
"
|
||||||
|
|
||||||
|
Else
|
||||||
|
'Das ist nicht zulässig, wenn die Unterabfrage auf =, !=, <, <=, > oder >= folgt oder als Ausdruck verwendet wird.
|
||||||
|
'SQLSTR &= "
|
||||||
|
' and (select isnull([ezaAd_NameFirma1],[ezaAd_TeilnehmerEORI]) FROM tblDakosy_EZA_Adressen WHERE ezaAd_EZAId=eza_Id and [ezaAd_AdressTyp]='CN')='" & EORI & "'
|
||||||
|
' "
|
||||||
|
|
||||||
|
SQLSTR &= "
|
||||||
|
and Empfänger_CN_EORI='" & EORI & "'
|
||||||
|
"
|
||||||
|
End If
|
||||||
|
|
||||||
|
SQLSTR &= " group by Registriernummer_MRN,PositionNo"
|
||||||
|
|
||||||
|
SQLSTR &= " order by isnull(max(CZ_Name), ''), Registriernummer_MRN, PositionNo"
|
||||||
|
|
||||||
|
SQL_GP &= SQLSTR
|
||||||
|
SQL_DAKOSY &= SQLSTR
|
||||||
|
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
'Private Sub btnCBAM_DS_DAKOSY_Click(sender As Object, e As EventArgs) Handles btnCBAM_DS_DAKOSY.Click
|
'Private Sub btnCBAM_DS_DAKOSY_Click(sender As Object, e As EventArgs) Handles btnCBAM_DS_DAKOSY.Click
|
||||||
' btnCBAM_DS_DAKOSY_Deteil.Enabled = False
|
' btnCBAM_DS_DAKOSY_Deteil.Enabled = False
|
||||||
@@ -979,12 +990,12 @@ Public Class usrCntlCBAM
|
|||||||
|
|
||||||
'End Sub
|
'End Sub
|
||||||
|
|
||||||
Private Sub ButtonXML_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button3.Click
|
Private Sub ButtonXML_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||||
If sender Is Button1 Then
|
If sender Is Button1 Then
|
||||||
|
|
||||||
Button2.Enabled = False
|
Button2.Enabled = False
|
||||||
btnCBAM_DS_DAKOSY_XML.Enabled = False
|
btnCBAM_DS_DAKOSY_XML.Enabled = False
|
||||||
btnCBAM_DS_DAKOSY_XML.Tag = ""
|
btnCBAM_DS_DAKOSY_XML.Tag = ""
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -1053,10 +1064,8 @@ Public Class usrCntlCBAM
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
If sender Is Button1 Then
|
'----- XML ----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
||||||
'----- XML ----------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
|
||||||
'---------------------------------------------------------------------------------------------------------------------------------------------
|
'---------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
doCBAM_XML(dt, EORI)
|
doCBAM_XML(dt, EORI)
|
||||||
'---------------------------------------------------------------------------------------------------------------------------------------------
|
'---------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -1064,13 +1073,50 @@ Public Class usrCntlCBAM
|
|||||||
btnCBAM_DS_DAKOSY_XML.Enabled = True
|
btnCBAM_DS_DAKOSY_XML.Enabled = True
|
||||||
|
|
||||||
End If
|
End If
|
||||||
ElseIf sender Is Button3 Then
|
|
||||||
'----- kafka / Greenpulse ----------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
|
||||||
|
|
||||||
doCBAM_KafkaFromDakosy(dt)
|
'---------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Me.Cursor = Cursors.Default
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub Button3gp_Click(sender As Object, e As EventArgs) Handles Button3.Click
|
||||||
|
|
||||||
|
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Try
|
||||||
|
Dim EORI = txtEori.Text
|
||||||
|
If cbxVERAG.Checked Then EORI = "VERAG"
|
||||||
|
If EORI = "" Then MsgBox("EORI eingeben!") : Exit Sub
|
||||||
|
If txtVon._value = "" Then MsgBox("Datum von eingeben!") : Exit Sub
|
||||||
|
If txtBis._value = "" Then MsgBox("Datum bis eingeben!") : Exit Sub
|
||||||
|
Me.Cursor = Cursors.WaitCursor
|
||||||
|
|
||||||
|
Dim SQLSTR_WHERE_FIRMEN = ""
|
||||||
|
If cbxVERAG.Checked Then SQLSTR_WHERE_FIRMEN &= "'SUB','WAI','SBG','NKD','NEU','AMBWO','AMB','IRU','EXP','SUW','DUR'"
|
||||||
|
If cbxIMEX.Checked Then SQLSTR_WHERE_FIRMEN &= IIf(SQLSTR_WHERE_FIRMEN <> "", ", ", "") & "'IME'"
|
||||||
|
If cbxUNISPED.Checked Then SQLSTR_WHERE_FIRMEN &= IIf(SQLSTR_WHERE_FIRMEN <> "", ", ", "") & "'ATSPED'" '???
|
||||||
|
|
||||||
|
Dim SQL_DAKOSY = ""
|
||||||
|
getDY_Detail_SQL(SQLSTR_WHERE_FIRMEN, EORI, SQL_DAKOSY, "") '--> Aufbau SQL String
|
||||||
|
|
||||||
|
|
||||||
|
Dim dt = SQL.loadDgvBySql(SQL_DAKOSY, "AVISO", 600)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
'----- kafka / Greenpulse ----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
||||||
|
|
||||||
|
doCBAM_KafkaFromDakosy(dt)
|
||||||
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'---------------------------------------------------------------------------------------------------------------------------------------------
|
'---------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -1119,7 +1119,7 @@ Public Class SQL
|
|||||||
End Select
|
End Select
|
||||||
Return where
|
Return where
|
||||||
End Function
|
End Function
|
||||||
Public Function getFMZOLLKdNrFromEORI(ByVal eori As String, eoriNL As String, Firma As String) As String
|
Public Function getFMZOLLKdNrFromEORI(ByVal eori As String, eoriNL As String, Firma As String, Optional ignoreCountOver1 As Boolean = False) As String
|
||||||
Dim s As String = ""
|
Dim s As String = ""
|
||||||
Dim where = getFirmaWhere(Firma)
|
Dim where = getFirmaWhere(Firma)
|
||||||
|
|
||||||
@@ -1137,10 +1137,13 @@ Public Class SQL
|
|||||||
If dr.HasRows Then
|
If dr.HasRows Then
|
||||||
Dim dt As New DataTable
|
Dim dt As New DataTable
|
||||||
dt.Load(dr)
|
dt.Load(dr)
|
||||||
If dt.Rows.Count > 1 Then
|
If Not ignoreCountOver1 Then
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW Then
|
|
||||||
' MsgBox("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", vbCritical)
|
If dt.Rows.Count > 1 Then
|
||||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", "", System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW Then
|
||||||
|
' MsgBox("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", vbCritical)
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", "", System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
s = dt.Rows(0).Item(0)
|
s = dt.Rows(0).Item(0)
|
||||||
|
|||||||
@@ -23,8 +23,8 @@ Public Class cATEZ_Greenpulse_KafkaDecs
|
|||||||
'== Kafka: Konfiguration (Klassenebene)
|
'== Kafka: Konfiguration (Klassenebene)
|
||||||
'========================
|
'========================
|
||||||
Public Shared BootstrapServers As String = "192.168.85.250:9092" 'http://192.168.85.250:8888
|
Public Shared BootstrapServers As String = "192.168.85.250:9092" 'http://192.168.85.250:8888
|
||||||
' Public Shared TopicName As String = "greenpulse.declarationdata.v1"
|
Public Shared TopicName As String = "greenpulse.declarationdata.v1"
|
||||||
Public Shared TopicName As String = "dev.greenpulse.declarationdata.v1"
|
' Public Shared TopicName As String = "dev.greenpulse.declarationdata.v1"
|
||||||
' Falls SASL/TLS benötigt:
|
' Falls SASL/TLS benötigt:
|
||||||
Public Shared UseSasl As Boolean = False
|
Public Shared UseSasl As Boolean = False
|
||||||
Public Shared SaslUsername As String = ""
|
Public Shared SaslUsername As String = ""
|
||||||
|
|||||||
Reference in New Issue
Block a user