ATR
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
Public Class frmOriginalArchiv_ATR
|
||||
Imports javax.smartcardio
|
||||
|
||||
Public Class frmOriginalArchiv_ATR
|
||||
|
||||
|
||||
|
||||
@@ -7,10 +9,9 @@
|
||||
|
||||
Dim JAHR As Date = CDate("01.01." & Now.Year)
|
||||
|
||||
Public SendungKoppeln As Boolean = False
|
||||
Public SendungsId As Integer = -1
|
||||
|
||||
' Dim bindPOST As New cEasyBinding("FMZOLL")
|
||||
Dim bindPOST As New cEasyBinding("FMZOLL")
|
||||
Dim myTable As New DataTable
|
||||
Private Sub frmVorauskasse_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
|
||||
Me.Top = 0
|
||||
@@ -30,7 +31,7 @@
|
||||
Case Else
|
||||
QSwhere = " AND mit_firma <> 'IMEX' "
|
||||
End Select
|
||||
|
||||
If SendungKoppeln Then btnSendungKoppeln.Visible = True
|
||||
|
||||
' cboSachbearbeiterQS.fillWithSQL("SELECT ID,/*cast(ID as nvarchar(3)) +' ' + Name as*/ Name FROM Personal WHERE [Status]<>'L' " & QSwhere & " ORDER BY Name ", False, "FMZOLL", True)
|
||||
|
||||
@@ -47,30 +48,24 @@
|
||||
End Select
|
||||
|
||||
cboFiliale.fillWithSQL("SELECT FilialenNr, Grenzstelle FROM Filialen WHERE Fil_Status='A' " & where & " ORDER BY FilialenNr ", True, "FMZOLL", True)
|
||||
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||||
Case "IMEX"
|
||||
'cboFiliale._allowedValuesFreiText = {"5501"}
|
||||
cboFiliale.changeItem("5501")
|
||||
Case "ATILLA"
|
||||
cboFiliale._allowedValuesFreiText = {"4801"}
|
||||
cboFiliale.changeItem("4801")
|
||||
cboFiliale.Enabled = False
|
||||
Case "AMBAR"
|
||||
cboFiliale._allowedValuesFreiText = {"5701"}
|
||||
cboFiliale.changeItem("5701")
|
||||
cboFiliale.Enabled = False
|
||||
End Select
|
||||
'Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||||
' Case "IMEX"
|
||||
' 'cboFiliale._allowedValuesFreiText = {"5501"}
|
||||
' cboFiliale.changeItem("5501")
|
||||
' Case "ATILLA"
|
||||
' cboFiliale._allowedValuesFreiText = {"4801"}
|
||||
' cboFiliale.changeItem("4801")
|
||||
' 'cboFiliale.Enabled = False
|
||||
' Case "AMBAR"
|
||||
' cboFiliale._allowedValuesFreiText = {"5701"}
|
||||
' cboFiliale.changeItem("5701")
|
||||
' 'cboFiliale.Enabled = False
|
||||
'End Select
|
||||
|
||||
cboSachbearbeiterQS.fillWithSQL("SELECT [mit_id],[mit_vname] + ' '+ [mit_nname] as NAME " &
|
||||
" FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE mit_niederlassung IN ('SUB','Suben') AND mit_abteilung='QS' AND [mit_gekuendigt]=0 " & QSwhere & " order by name", False, "ADMIN", True)
|
||||
|
||||
btnMonat.PerformClick()
|
||||
btnSuche.PerformClick()
|
||||
bindPOST.updateImmediately = True
|
||||
AddHandler bindPOST.bindingdataTable.ColumnChanged, Sub(send As Object, ev As DataColumnChangeEventArgs)
|
||||
btn.PerformClick() 'geht anders nicht ??
|
||||
|
||||
End Sub
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -124,6 +119,7 @@
|
||||
End Sub
|
||||
|
||||
Dim biningInit = False
|
||||
|
||||
Private Sub btnSuche_Click(sender As Object, e As EventArgs) Handles btnSuche.Click
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
|
||||
@@ -132,22 +128,14 @@
|
||||
|
||||
|
||||
' bindPOST = New cEasyBinding("FMZOLL")
|
||||
sqlstr &= " SELECT " & TopMax & " [post_id],[post_Datum],[post_FilialenNr],[post_AbfertigungsNr],[post_art],[post_Empfaenger_KdNr],[post_Empfaenger_Name1],post_Empfaenger_Adresse1 + ' ' + post_Empfaenger_Adresse2 + ' ' + post_Empfaenger_Adresse3 as Adresse,[post_ContainerLKWNr],[post_FirmaInAuftragKdnr],[post_FirmaInAuftrag],[post_Sachbearbeiter],[post_ReferenzPaketdienst],[post_KdAuftrNrAvisierer],[post_RgEmpfaenger_Name] FROM [tblPostversand] WHERE 1=1 "
|
||||
sqlstr &= " SELECT " & TopMax & " atr_id,atr_documentNr, atr_austellungsdatum, atr_FilialenNr, atr_AbfertigungsNr, atr_LKW,atr_EmpfaengerKdNr, atr_Empfaenger, atr_AbsenderKdNr,atr_Absender, atr_Sachbearbeiter,atr_DHL_ReferenzNr FROM [tblOriginalATR] WHERE 1=1 "
|
||||
|
||||
With MyDatagridview1
|
||||
' .DataSource = myTable
|
||||
'.SET_SQL(sqlstr & getVorauskasseWhere() & " ORDER BY post_Datum desc ", "FMZOLL", getVorauskasseList)
|
||||
' .LOAD()
|
||||
'bindPOST.bindingdataSet.Tables(0) = New DataTable
|
||||
bindPOST.initBinding(sqlstr & getVorauskasseWhere() & " ORDER BY post_Datum desc", "tblPostversand", getVorauskasseList)
|
||||
.DataSource = bindPOST.bindingdataTable
|
||||
.SET_SQL(sqlstr & getWhere() & " ORDER BY atr_austellungsdatum desc", "FMZOLL", getList)
|
||||
.LOAD()
|
||||
|
||||
lblErgebnis.Text = "Ergebnisse: " & .Rows.Count
|
||||
|
||||
'If Not biningInit Then
|
||||
' biningInit = True
|
||||
|
||||
'End If
|
||||
|
||||
' setDGVOptions()
|
||||
End With
|
||||
showDGV()
|
||||
@@ -157,50 +145,65 @@
|
||||
End Sub
|
||||
|
||||
|
||||
Function getVorauskasseWhere() As String
|
||||
Function getWhere() As String
|
||||
Dim sqlstr = ""
|
||||
|
||||
If txtAbfertDat.Text <> "" Then
|
||||
If txtAbfertDatBis.Text <> "" Then
|
||||
sqlstr &= " AND ([post_Datum] BETWEEN @Datum AND @DatumBis) "
|
||||
sqlstr &= " AND ([atr_austellungsdatum] BETWEEN @Datum AND @DatumBis) "
|
||||
Else
|
||||
sqlstr &= " AND ([post_Datum] BETWEEN @Datum AND @Datum ) "
|
||||
sqlstr &= " AND ([atr_austellungsdatum] BETWEEN @Datum AND @Datum ) "
|
||||
End If
|
||||
End If
|
||||
|
||||
If txtSuche._value <> "" Then
|
||||
sqlstr &= " AND ( "
|
||||
sqlstr &= " atr_documentNr LIKE '" & txtSuche._value & "%' OR "
|
||||
sqlstr &= " atr_absender LIKE '" & txtSuche._value & "%' OR "
|
||||
sqlstr &= " atr_empfaenger LIKE '" & txtSuche._value & "%' OR "
|
||||
sqlstr &= " atr_DHL_ReferenzNr LIKE '" & txtSuche._value & "%' OR "
|
||||
sqlstr &= " atr_LKW LIKE '" & txtSuche._value & "%' OR "
|
||||
sqlstr &= " atr_location LIKE '" & txtSuche._value & "%' OR "
|
||||
sqlstr &= " atr_info LIKE '" & txtSuche._value & "%' OR "
|
||||
sqlstr &= " atr_DHL_ReferenzNr LIKE '" & txtSuche._value & "%' "
|
||||
sqlstr &= " ) "
|
||||
End If
|
||||
|
||||
If txtAbfertigungsnummer.Text <> "" Then
|
||||
' If txtAbfertigungsnummerBis.Text <> "" Then
|
||||
'sqlstr &= " AND ([vk_AbfertigungsNr] BETWEEN @AbfertigungsNr AND @AbfertigungsNr_bis ) "
|
||||
'Else
|
||||
'sqlstr &= " AND vk_AbfertigungsNr LIKE @AbfertigungsNr "
|
||||
'End If
|
||||
sqlstr &= " AND post_AbfertigungsNr LIKE @AbfertigungsNr "
|
||||
sqlstr &= " AND atr_AbfertigungsNr LIKE @AbfertigungsNr "
|
||||
End If
|
||||
' If txtUnterNr.Text <> "" Then sqlstr &= " AND [UnterNr] LIKE @UnterNr "
|
||||
If cboFiliale._value <> "" Then sqlstr &= " AND [post_FilialenNr] LIKE @FilialenNr "
|
||||
If cboFiliale._value <> "" Then sqlstr &= " AND [atr_FilialenNr] LIKE @FilialenNr "
|
||||
|
||||
If cboSachbearbeiterQS._value <> "" Then sqlstr &= " AND [post_SachbearbeiterId] = @PersonalnummerQS "
|
||||
If MyTextBox1.Text <> "" Then sqlstr &= " AND [post_ContainerLKWNr] LIKE @LKW "
|
||||
If txtFirma.Text <> "" Then sqlstr &= " AND [post_Empfaenger_Name1] LIKE @Firma "
|
||||
If txtInAuftrag.Text <> "" Then sqlstr &= " AND [post_FirmaInAuftrag] LIKE @InAuftrag "
|
||||
If txtSB._value <> "" Then sqlstr &= " AND [atr_mitId] = @PersonalnummerQS "
|
||||
If txtLKWKennzeichen.Text <> "" Then sqlstr &= " AND [atr_LKW] LIKE @LKW "
|
||||
If txtFEmpfänger.Text <> "" Then sqlstr &= " AND [atr_empfaenger] LIKE @Empfaenger "
|
||||
If txtAbsender.Text <> "" Then sqlstr &= " AND [atr_absender] LIKE @Absender "
|
||||
If txtDocumetNummer.Text <> "" Then sqlstr &= " AND [atr_documentNr] LIKE @DocumentNummer "
|
||||
|
||||
If txtReferenz.Text <> "" Then sqlstr &= " AND [post_ReferenzPaketdienst] LIKE @Referenz "
|
||||
If txtReferenz.Text <> "" Then sqlstr &= " AND [atr_DHL_ReferenzNr] LIKE @Referenz "
|
||||
|
||||
Return sqlstr
|
||||
End Function
|
||||
Function getVorauskasseList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
||||
Function getList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
||||
|
||||
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
||||
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum", txtAbfertDat.Text & " 00:00:00"))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DatumBis", txtAbfertDatBis.Text & " 23:59:59"))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", txtAbfertigungsnummer.Text.Replace("*", "%")))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DocumentNummer", txtDocumetNummer.Text.Replace("*", "%")))
|
||||
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", cboFiliale._value))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PersonalnummerQS", cboSachbearbeiterQS._value))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW", MyTextBox1.Text.Replace("*", "%")))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma", txtFirma.Text.Replace("*", "%")))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("InAuftrag", txtInAuftrag.Text.Replace("*", "%")))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PersonalnummerQS", txtSB._value))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW", txtLKWKennzeichen.Text.Replace("*", "%")))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Absender", txtAbsender.Text.Replace("*", "%")))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Empfaenger", txtFEmpfänger.Text.Replace("*", "%")))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Referenz", txtReferenz.Text.Replace("*", "%")))
|
||||
|
||||
Return list
|
||||
@@ -218,51 +221,46 @@
|
||||
.MultiSelect = False
|
||||
|
||||
|
||||
.Columns("post_id").Visible = False
|
||||
.Columns("post_art").Visible = False
|
||||
.Columns("post_KdAuftrNrAvisierer").Visible = False
|
||||
.Columns("post_RgEmpfaenger_Name").Visible = False
|
||||
.Columns("atr_id").Visible = False
|
||||
' .Columns("post_art").Visible = False
|
||||
' .Columns("post_KdAuftrNrAvisierer").Visible = False
|
||||
' .Columns("atr_EmpfaengerKdNr").Visible = False
|
||||
' .Columns("atr_AbsenderKdNr").Visible = False
|
||||
|
||||
.Columns("post_FilialenNr").Width = 45
|
||||
.Columns("post_FilialenNr").HeaderText = "Filiale"
|
||||
.Columns("post_FilialenNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
||||
.Columns("post_AbfertigungsNr").Width = 80
|
||||
.Columns("post_AbfertigungsNr").HeaderText = "Abf-Nr"
|
||||
.Columns("post_AbfertigungsNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
||||
.Columns("post_Datum").Width = 100
|
||||
.Columns("post_Datum").HeaderText = "Datum"
|
||||
.Columns("post_Datum").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
||||
.Columns("atr_FilialenNr").Width = 45
|
||||
.Columns("atr_FilialenNr").HeaderText = "Filiale"
|
||||
.Columns("atr_FilialenNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
||||
.Columns("atr_AbfertigungsNr").Width = 80
|
||||
.Columns("atr_AbfertigungsNr").HeaderText = "Abf-Nr"
|
||||
.Columns("atr_AbfertigungsNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
||||
.Columns("atr_documentNr").Width = 120
|
||||
.Columns("atr_documentNr").HeaderText = "ATR-Nr"
|
||||
.Columns("atr_documentNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
||||
.Columns("atr_austellungsdatum").Width = 100
|
||||
.Columns("atr_austellungsdatum").HeaderText = "Datum"
|
||||
.Columns("atr_austellungsdatum").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
||||
|
||||
.Columns("post_ContainerLKWNr").Width = 120
|
||||
.Columns("post_ContainerLKWNr").HeaderText = "LKW Kennz."
|
||||
.Columns("atr_LKW").Width = 120
|
||||
.Columns("atr_LKW").HeaderText = "LKW Kennz."
|
||||
|
||||
|
||||
|
||||
.Columns("post_Empfaenger_KdNr").HeaderText = "KdNr"
|
||||
.Columns("post_Empfaenger_KdNr").Width = 50
|
||||
.Columns("post_Empfaenger_Name1").HeaderText = "Empfänger"
|
||||
.Columns("post_Empfaenger_Name1").Width = 150
|
||||
.Columns("Adresse").HeaderText = "Adresse"
|
||||
.Columns("Adresse").Width = 150
|
||||
.Columns("atr_EmpfaengerKdNr").HeaderText = "KdNr"
|
||||
.Columns("atr_EmpfaengerKdNr").Width = 50
|
||||
.Columns("atr_Empfaenger").HeaderText = "Empfänger"
|
||||
.Columns("atr_Empfaenger").Width = 150
|
||||
|
||||
.Columns("post_FirmaInAuftragKdnr").HeaderText = "KdNr"
|
||||
.Columns("post_FirmaInAuftragKdnr").Width = 50
|
||||
.Columns("post_FirmaInAuftrag").HeaderText = "in Auftrag"
|
||||
.Columns("post_FirmaInAuftrag").Width = 150
|
||||
.Columns("atr_AbsenderKdNr").HeaderText = "KdNr"
|
||||
.Columns("atr_AbsenderKdNr").Width = 50
|
||||
.Columns("atr_Absender").HeaderText = "in Auftrag"
|
||||
.Columns("atr_Absender").Width = 150
|
||||
|
||||
.Columns("post_Sachbearbeiter").MinimumWidth = 100
|
||||
.Columns("post_Sachbearbeiter").HeaderText = "Sachb."
|
||||
.Columns("atr_Sachbearbeiter").MinimumWidth = 100
|
||||
.Columns("atr_Sachbearbeiter").HeaderText = "Sachb."
|
||||
|
||||
.Columns("post_ReferenzPaketdienst").HeaderText = "Referenz Paketdienst"
|
||||
.Columns("post_ReferenzPaketdienst").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
||||
.Columns("atr_DHL_ReferenzNr").HeaderText = "Referenz Paketdienst"
|
||||
.Columns("atr_DHL_ReferenzNr").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
||||
|
||||
For Each c As DataGridViewColumn In .Columns
|
||||
If c.Name = "post_ReferenzPaketdienst" Then
|
||||
c.ReadOnly = False
|
||||
Else
|
||||
c.ReadOnly = True
|
||||
End If
|
||||
Next
|
||||
|
||||
End With
|
||||
End Sub
|
||||
@@ -345,9 +343,9 @@
|
||||
Private Sub btnDel_Click(sender As Object, e As EventArgs) Handles btnDel.Click
|
||||
|
||||
If MyDatagridview1.SelectedRows.Count > 0 Then
|
||||
Dim VK As New VERAG_PROG_ALLGEMEIN.cPostversand(MyDatagridview1.SelectedRows(0).Cells("post_id").Value)
|
||||
Dim ATR As New VERAG_PROG_ALLGEMEIN.cOrigianlATR(MyDatagridview1.SelectedRows(0).Cells("atr_id").Value)
|
||||
If vbYes <> MsgBox("Möchten Sie den Eintrag wirklich löschen?", vbYesNoCancel) Then Exit Sub
|
||||
VK.DELETE()
|
||||
ATR.DELETE()
|
||||
btnSuche.PerformClick()
|
||||
|
||||
'MyDatagridview1.RELOAD()
|
||||
@@ -360,17 +358,62 @@
|
||||
Private Sub gridAviso_DoubleClick(sender As Object, e As System.EventArgs) Handles MyDatagridview1.DoubleClick
|
||||
If MyDatagridview1.SelectedRows.Count = 0 And MyDatagridview1.SelectedRows.Count = 0 Then Exit Sub
|
||||
|
||||
Dim kdnr = MyDatagridview1.SelectedRows(0).Cells("post_Empfaenger_KdNr").Value
|
||||
SDL.FormularManagerNEU.OPEN_FORM(SDL.FormularManagerArten.Verzollungsunterlagen, kdnr, {kdnr, Nothing, Nothing, Nothing, "", MyDatagridview1.SelectedRows(0).Cells("post_id").Value})
|
||||
End Sub
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
SDL.FormularManagerNEU.OPEN_FORM(SDL.FormularManagerArten.Verzollungsunterlagen)
|
||||
Dim atr_id = MyDatagridview1.SelectedRows(0).Cells("atr_id").Value
|
||||
Dim f As New frmATR(atr_id)
|
||||
f.ShowDialog(Me)
|
||||
btnSuche.PerformClick()
|
||||
End Sub
|
||||
|
||||
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
|
||||
bindPOST.updateBinding() ' geht nur mit dem Umweg über Button
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
Dim f As New frmATR
|
||||
f.ShowDialog(Me)
|
||||
btnSuche.PerformClick()
|
||||
End Sub
|
||||
|
||||
Private Sub txtSuche_TextChanged(sender As Object, e As EventArgs) Handles txtSuche.TextChanged
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub txtSuche_KeyDown(sender As Object, e As KeyEventArgs) Handles txtSuche.KeyDown
|
||||
If e.KeyCode = Keys.Return Then
|
||||
btnSuche.PerformClick()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles btnSendungKoppeln.Click
|
||||
If MyDatagridview1.SelectedRows.Count > 0 Then
|
||||
Dim ATR = New VERAG_PROG_ALLGEMEIN.cOrigianlATR(MyDatagridview1.SelectedRows(0).Cells("atr_id").Value)
|
||||
If ATR IsNot Nothing Then
|
||||
|
||||
If vbYes = MsgBox("ATR in Anhang speichern?", vbYesNoCancel) Then
|
||||
If ATR.atr_dsId < 0 Then MsgBox("Kein PDF-Anhang!") : Exit Sub
|
||||
Dim ANH = New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(ATR.atr_anhID)
|
||||
ANH.anh_SendungsId = SendungsId
|
||||
Dim SND As New VERAG_PROG_ALLGEMEIN.cSendungen(SendungsId)
|
||||
ANH.anh_AvisoId = SND.tblSnd_AvisoID
|
||||
ANH.anh_docId = ATR.atr_dsId
|
||||
ANH.anh_Name = "ATR_ARCHIV"
|
||||
ANH.anh_Typ = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getFilePathTypeValid(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ATR.atr_dsId))
|
||||
ANH.anh_Art = "ATR"
|
||||
If ANH.SAVE() Then 'Eintrag wird überschreiben
|
||||
ATR.atr_anhID = ANH.anh_id
|
||||
ATR.atr_SendungsId = SendungsId
|
||||
ATR.atr_AvisoId = SND.tblSnd_AvisoID
|
||||
ATR.atr_FilialenNr = SND.FilialenNr
|
||||
ATR.atr_AbfertigungsNr = SND.AbfertigungsNr
|
||||
If ATR.SAVE() Then
|
||||
Me.Close()
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub PictureBox6_Click(sender As Object, e As EventArgs) Handles PictureBox6.Click
|
||||
Dim webAddress As String = "https://wiki.verag.ag/de/software/aviso/howtos/ATRArchiv"
|
||||
Process.Start(webAddress)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
|
||||
Reference in New Issue
Block a user