1175 lines
45 KiB
VB.net
1175 lines
45 KiB
VB.net
|
|
Imports System.Globalization
|
|
Imports System.Linq.Expressions
|
|
Imports System.Net
|
|
Imports System.Text.RegularExpressions
|
|
Imports com.sun.tools.doclets.internal.toolkit.util
|
|
Imports Spire.Pdf.Graphics
|
|
Imports VERAG_PROG_ALLGEMEIN
|
|
|
|
Public Class usrcntlFiskaluebersicht
|
|
|
|
Public kdNr As Integer = -1
|
|
Dim SQL As New SQL
|
|
Public KUNDE As VERAG_PROG_ALLGEMEIN.cKunde
|
|
Public KUNDE_ERW As VERAG_PROG_ALLGEMEIN.cKundenErweitert
|
|
Public ADRESSE As VERAG_PROG_ALLGEMEIN.cAdressen
|
|
Dim fk As VERAG_PROG_ALLGEMEIN.cFiskalkunden
|
|
Dim FirmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Dim DS As VERAG_PROG_ALLGEMEIN.cDATENSERVER
|
|
Dim BA As VERAG_PROG_ALLGEMEIN.cBonitaetsauskunft
|
|
Dim UID As cUIDPruefung
|
|
Dim EORI As cEORIPruefung
|
|
Dim VM As cKundenVollmachten
|
|
Dim UVM As cKundenVollmachten
|
|
Dim year As Integer
|
|
Dim daysWithinDocumentAreValid = 30
|
|
Sub initDGVFiskaluebersicht()
|
|
|
|
|
|
With dgvFiskaluebersicht
|
|
.Columns.Clear()
|
|
.DataSource = SQL.loadDgvBySql("SELECT FK_Id , FK_Datum, FK_Art, FK_locked, FK_Kdnr FROM tblFiskalkunden WHERE FK_Kdnr='" & kdNr & "' ORDER BY FK_Datum ", "FMZOLL")
|
|
|
|
.Columns("FK_Datum").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
.Columns("FK_Datum").HeaderText = "Datum"
|
|
.Columns("FK_Art").Visible = False
|
|
.Columns("FK_locked").Visible = False
|
|
.Columns("FK_Id").Visible = False
|
|
.Columns("FK_Kdnr").Visible = False
|
|
|
|
End With
|
|
|
|
End Sub
|
|
|
|
Sub initdgvLieferanten()
|
|
|
|
Dim where As String = ""
|
|
|
|
Select Case cbxFiskalart._value
|
|
Case "DE"
|
|
where = " And FilialenNr = 4811"
|
|
Case "AT"
|
|
where = " And FilialenNr = 4805"
|
|
End Select
|
|
|
|
|
|
Label2.Text = "Top 5 Lieferanten (" & year & ")"
|
|
With dgvLieferanten
|
|
.Columns.Clear()
|
|
.DataSource() = SQL.loadDgvBySql("SELECT isnull(KdNr,'') as Kdnr, Firma, Anzahl
|
|
FROM (SELECT [AbsenderKundenNr] as KdNr ,MAX([Absender]) as Firma, COUNT(*) as Anzahl
|
|
FROM [Speditionsbuch]
|
|
WHERE year(Abfertigungsdatum) = '" & year & "'" & where & " AND isnull([AbsenderKundenNr],'')<>'' AND " & kdNr & " In([AbsenderKundenNr], [EmpfängerKundenNr], [FrachtführerKundenNr], [VermittlerKundenNr], [EndempfängerKundenNr]) GROUP BY AbsenderKundenNr
|
|
UNION ALL
|
|
SELECT MAX(AbsenderKundenNr) as KdNr, [Absender] as Firma, COUNT(*) as Anzahl
|
|
FROM [Speditionsbuch]
|
|
WHERE year(Abfertigungsdatum) = '" & year & "'" & where & " AND isnull([AbsenderKundenNr],'')='' AND " & kdNr & " In([AbsenderKundenNr], [EmpfängerKundenNr], [FrachtführerKundenNr], [VermittlerKundenNr], [EndempfängerKundenNr]) GROUP BY Absender) t
|
|
ORDER BY Anzahl desc", "FMZOLL")
|
|
.Columns("KdNr").Width = 50
|
|
.Columns("Firma").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
.Columns("Anzahl").Width = 40
|
|
|
|
|
|
End With
|
|
|
|
End Sub
|
|
|
|
Sub initdgvEmfpaenger()
|
|
|
|
Dim where As String = ""
|
|
|
|
Select Case cbxFiskalart._value
|
|
Case "DE"
|
|
where = " And FilialenNr = 4811"
|
|
Case "AT"
|
|
where = " And FilialenNr = 4805"
|
|
End Select
|
|
|
|
Label3.Text = "Top 5 Empfänger (" & year & ")"
|
|
With dgvEmpfaenger
|
|
.Columns.Clear()
|
|
.DataSource() = SQL.loadDgvBySql("SELECT isnull(KdNr,'') as Kdnr, Firma, Anzahl
|
|
FROM (SELECT [EmpfängerKundenNr] as KdNr ,MAX([Empfänger]) as Firma, COUNT(*) as Anzahl
|
|
FROM [Speditionsbuch]
|
|
WHERE year(Abfertigungsdatum) = '" & year & "'" & where & " AND isnull([EmpfängerKundenNr],'')<>'' AND " & kdNr & " In([AbsenderKundenNr], [EmpfängerKundenNr], [FrachtführerKundenNr], [VermittlerKundenNr], [EndempfängerKundenNr]) GROUP BY EmpfängerKundenNr
|
|
UNION ALL
|
|
SELECT MAX(EmpfängerKundenNr) as KdNr, [Empfänger] as Firma, COUNT(*) as Anzahl
|
|
FROM [Speditionsbuch]
|
|
WHERE year(Abfertigungsdatum) = '" & year & "'" & where & " AND isnull([EmpfängerKundenNr],'')='' AND " & kdNr & " In([AbsenderKundenNr], [EmpfängerKundenNr], [FrachtführerKundenNr], [VermittlerKundenNr], [EndempfängerKundenNr]) GROUP BY Empfänger) t
|
|
ORDER BY Anzahl desc", "FMZOLL")
|
|
'.DataSource() = SQL.loadDgvBySql("SELECT Top(5) isnull(cast([EmpfängerKundenNr]as nvarchar(7)) + ' ','') as KdNr, CASE WHEN [EmpfängerKundenNr] IS NULL THEN '-' ELSE MAX(Empfänger) END as Firma, COUNT(*) as Anzahl FROM [Speditionsbuch] WHERE year(Abfertigungsdatum) = '" & year & "'" & where & "AND " & kdNr & " IN([AbsenderKundenNr],[EmpfängerKundenNr],[FrachtführerKundenNr],[VermittlerKundenNr],[EndempfängerKundenNr]) GROUP BY EmpfängerKundenNr, Empfänger ORDER BY Anzahl DESC ", "FMZOLL")
|
|
.Columns("KdNr").Width = 50
|
|
.Columns("Firma").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
.Columns("Anzahl").Width = 40
|
|
End With
|
|
|
|
End Sub
|
|
|
|
Sub initdgvZwischenhaendler()
|
|
|
|
Dim where As String = ""
|
|
|
|
Select Case cbxFiskalart._value
|
|
Case "DE"
|
|
where = " And FilialenNr = 4811"
|
|
Case "AT"
|
|
where = " And FilialenNr = 4805"
|
|
End Select
|
|
|
|
Label6.Text = "Top 5 Auftraggeber (" & year & ")"
|
|
With dgvZwischenh
|
|
.Columns.Clear()
|
|
.DataSource() = SQL.loadDgvBySql("SELECT isnull(KdNr,'') as Kdnr, Firma, Anzahl
|
|
FROM (SELECT [VermittlerKundenNr] as KdNr ,MAX([Vermittler]) as Firma, COUNT(*) as Anzahl
|
|
FROM [Speditionsbuch]
|
|
WHERE year(Abfertigungsdatum) = '" & year & "'" & where & " AND isnull([VermittlerKundenNr],'')<>'' AND " & kdNr & " In([AbsenderKundenNr], [EmpfängerKundenNr], [FrachtführerKundenNr], [VermittlerKundenNr], [EndempfängerKundenNr]) GROUP BY VermittlerKundenNr
|
|
UNION ALL
|
|
SELECT MAX(VermittlerKundenNr) as KdNr, [Vermittler] as Firma, COUNT(*) as Anzahl
|
|
FROM [Speditionsbuch]
|
|
WHERE year(Abfertigungsdatum) = '" & year & "'" & where & " AND isnull([VermittlerKundenNr],'')='' AND " & kdNr & " In([AbsenderKundenNr], [EmpfängerKundenNr], [FrachtführerKundenNr], [VermittlerKundenNr], [EndempfängerKundenNr]) GROUP BY Vermittler) t
|
|
ORDER BY Anzahl desc", "FMZOLL")
|
|
'.DataSource() = SQL.loadDgvBySql("SELECT Top(5) isnull(cast([VermittlerKundenNr]as nvarchar(7)) + ' ','') as KdNr, CASE WHEN [VermittlerKundenNr] IS NULL THEN '-' ELSE MAX(Vermittler) END as Firma, COUNT(*) as Anzahl FROM [Speditionsbuch] WHERE year(Abfertigungsdatum) = '" & year & "'" & where & " AND " & kdNr & " IN([AbsenderKundenNr],[EmpfängerKundenNr],[FrachtführerKundenNr],[VermittlerKundenNr],[EndempfängerKundenNr]) GROUP BY VermittlerKundenNr, Vermittler ORDER BY Anzahl DESC ", "FMZOLL")
|
|
.Columns("KdNr").Width = 50
|
|
.Columns("Firma").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
.Columns("Anzahl").Width = 40
|
|
|
|
End With
|
|
|
|
End Sub
|
|
|
|
|
|
Sub initDGVUnterlagen()
|
|
|
|
With dgvUnterlagen
|
|
.DataSource = SQL.loadDgvBySql("SELECT [fka_id],[fka_KdNr],[fka_Name],[fka_Datum] , [fka_Art], [fka_docId] FROM [tblFiskalkundenAnhaenge] " &
|
|
" WHERE [fka_KdNr]='" & fk.FK_Kdnr & "' AND fka_fkId='" & fk.FK_Id & "' ORDER BY fka_Datum desc ", "AVISO")
|
|
.Columns("fka_id").Visible = False
|
|
.Columns("fka_KdNr").Visible = False
|
|
.Columns("fka_docId").Visible = False
|
|
.Columns("fka_Name").HeaderText = "Name"
|
|
.Columns("fka_Datum").HeaderText = "Datum"
|
|
.Columns("fka_Art").HeaderText = "Doku-Art"
|
|
.Columns("fka_Name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
|
|
.ClearSelection()
|
|
AddHandler .CellDoubleClick, Sub()
|
|
If dgvUnterlagen.SelectedRows.Count > 0 Then
|
|
dgvUnterlagen.Cursor = Cursors.WaitCursor
|
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dgvUnterlagen.SelectedRows(0).Cells("fka_docId").Value)
|
|
DS.OPEN_SINGLE(True)
|
|
dgvUnterlagen.Cursor = Cursors.Default
|
|
|
|
End If
|
|
End Sub
|
|
|
|
End With
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Sub init(_kdnr As Integer)
|
|
|
|
cbxFiskalart.Items.Clear()
|
|
cbxFiskalart.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AT", "AT"))
|
|
cbxFiskalart.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE", "DE"))
|
|
cbxFiskalart.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
|
|
|
|
|
|
cbxAttachmentArt.Items.Clear()
|
|
cbxAttachmentArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Passkopie", "Passkopie"))
|
|
cbxAttachmentArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Gewerbeanmeldung", "GW-Anmeldung"))
|
|
cbxAttachmentArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Handelsregister", "HR"))
|
|
cbxAttachmentArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Sonstiges", "Sonstiges"))
|
|
cbxAttachmentArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Website", "Website"))
|
|
cbxAttachmentArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Website-Steuerberater", "Website-Steuerberater"))
|
|
|
|
|
|
kdNr = _kdnr
|
|
KUNDE = New VERAG_PROG_ALLGEMEIN.cKunde(kdNr)
|
|
KUNDE_ERW = New VERAG_PROG_ALLGEMEIN.cKundenErweitert(kdNr)
|
|
ADRESSE = New VERAG_PROG_ALLGEMEIN.cAdressen(kdNr)
|
|
BA = VERAG_PROG_ALLGEMEIN.cBonitaetsauskunft.LOADByKdNrWithingDate(kdNr)
|
|
lblUnterlagen.Text = "Unterlagen"
|
|
|
|
For Each c As Control In MyPanel2.Controls
|
|
If TypeOf (c) Is MyTextBox Then
|
|
AddHandler CType(c, MyTextBox).TextChanged, AddressOf somethingChanged
|
|
ElseIf TypeOf (c) Is TextBox Then
|
|
AddHandler CType(c, TextBox).TextChanged, AddressOf somethingChanged
|
|
End If
|
|
Next
|
|
|
|
'If ADRESSE.LandKz = "A" Or "AT" Then
|
|
' cbxFiskalart.changeItem("DE")
|
|
'Else
|
|
' cbxFiskalart.changeItem("AT")
|
|
'End If
|
|
|
|
initDGVFiskaluebersicht()
|
|
|
|
End Sub
|
|
|
|
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
|
|
|
|
If cbxFiskalart._value = "" Then
|
|
lblWarning.Text = "Fiskalart auswählen!"
|
|
Exit Sub
|
|
ElseIf ADRESSE.LandKz = "" Then
|
|
lblWarning.Text = "Land im Kunden hinterlegen!"
|
|
Exit Sub
|
|
End If
|
|
|
|
If cbxFiskalart._value = "DE" And ADRESSE.LandKz = "D" Or cbxFiskalart._value = "AT" And ADRESSE.LandKz = "A" Then
|
|
lblWarning.Text = "Fiskalart " & cbxFiskalart._value & " für " & ADRESSE.LandKz & " nicht möglich!"
|
|
Exit Sub
|
|
End If
|
|
|
|
lblWarning.Text = ""
|
|
|
|
Dim input = InputBox("Bitte geben Sie das Datum der neuen Fiskal-Übersicht ein: ", "Fiskal-Übersicht anlegen")
|
|
If input <> "" Then
|
|
Dim hint As String
|
|
If checkDateIsValid(input, hint) Then
|
|
fk = New VERAG_PROG_ALLGEMEIN.cFiskalkunden()
|
|
fk.FK_Datum = CDate(input)
|
|
fk.FK_Kdnr = kdNr
|
|
fk.FK_Art = cbxFiskalart._value
|
|
fk.SAVE()
|
|
dgvFiskaluebersicht.GetOrder()
|
|
initDGVFiskaluebersicht()
|
|
dgvFiskaluebersicht.SetOrder()
|
|
Else
|
|
MsgBox(hint)
|
|
End If
|
|
|
|
Else
|
|
MsgBox("Kein Datum angegeben!")
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
Private Function checkDateIsValid(ByRef checkDate As Date, ByRef hint As String) As Boolean
|
|
|
|
If Not IsDate(checkDate) Then
|
|
hint = checkDate & " ist kein Datumswert"
|
|
Return False
|
|
End If
|
|
|
|
For Each row As DataGridViewRow In dgvFiskaluebersicht.Rows
|
|
If Not IsDBNull(row.Cells("FK_Datum").Value) Then
|
|
If CDate(row.Cells("FK_Datum").Value) = CDate(checkDate) Then
|
|
hint = "Es existiert bereits ein Eintrag mit " & checkDate
|
|
Return False
|
|
End If
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
Return True
|
|
|
|
End Function
|
|
|
|
Private Sub btnPDFReport_Click(sender As Object, e As EventArgs) Handles btnPDFReport.Click
|
|
Try
|
|
Me.Cursor = Cursors.WaitCursor
|
|
Dim listeUnterlagen As New List(Of String)
|
|
If dgvUnterlagen.Rows.Count > 0 Then
|
|
|
|
|
|
For Each row As DataGridViewRow In dgvUnterlagen.Rows
|
|
listeUnterlagen.Add(row.Cells("fka_Art").Value.ToString)
|
|
Next
|
|
End If
|
|
|
|
|
|
Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Fiskalanalyse", ".pdf", , False)
|
|
Dim rptFiskalkunden As New SDL.rptFiskalkunde(kdNr, fk.FK_Id, VM, BA, EORI, UID, UVM, fk.FK_VollmachtOriginal, listeUnterlagen)
|
|
|
|
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
|
rptFiskalkunden.Run(False)
|
|
p.NeverEmbedFonts = ""
|
|
p.Export(rptFiskalkunden.Document, tmpPath)
|
|
|
|
Dim files As New List(Of String)
|
|
Dim outputFile As String = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Merge.pdf", ".pdf", True,, "Merge")
|
|
|
|
files.Add(tmpPath)
|
|
|
|
|
|
If VM IsNot Nothing Then
|
|
If VM.kdvm_datenarchivId > 0 Then files.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(VM.kdvm_datenarchivId))
|
|
If VM.kdvm_emailId > 0 Then
|
|
|
|
Dim MailFileVM = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(VM.kdvm_emailId)
|
|
|
|
If Not System.IO.File.Exists(MailFileVM) Then
|
|
MsgBox("Die Datei Vollmacht existiert nicht!")
|
|
Else
|
|
If MailFileVM.ToString.ToLower.EndsWith(".msg") Then ' MSG - Mails --> lokale Kopie, sonst Fehler (bereits von Benutzer soUndSo geöffnet)
|
|
Dim docPathTMP = VERAG_PROG_ALLGEMEIN.cFormularManager.getTMPPath_MSG()
|
|
System.IO.File.Copy(MailFileVM, docPathTMP)
|
|
Process.Start(docPathTMP)
|
|
Else
|
|
Process.Start(MailFileVM)
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
|
|
Dim MailFileUVM
|
|
If UVM IsNot Nothing Then
|
|
If UVM.kdvm_datenarchivId > 0 Then files.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(UVM.kdvm_datenarchivId))
|
|
If UVM.kdvm_emailId > 0 Then
|
|
MailFileUVM = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(UVM.kdvm_emailId)
|
|
|
|
If Not System.IO.File.Exists(MailFileUVM) Then
|
|
MsgBox("Die Datei Untervollmacht existiert nicht!")
|
|
Else
|
|
If MailFileUVM.ToString.ToLower.EndsWith(".msg") Then ' MSG - Mails --> lokale Kopie, sonst Fehler (bereits von Benutzer soUndSo geöffnet)
|
|
Dim docPathTMP = VERAG_PROG_ALLGEMEIN.cFormularManager.getTMPPath_MSG()
|
|
System.IO.File.Copy(MailFileUVM, docPathTMP)
|
|
Process.Start(docPathTMP)
|
|
Else
|
|
Process.Start(MailFileUVM)
|
|
End If
|
|
End If
|
|
|
|
|
|
End If
|
|
End If
|
|
If BA IsNot Nothing Then
|
|
If BA.ba_datenarchivId > 0 Then files.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(BA.ba_datenarchivId))
|
|
End If
|
|
For Each r As DataGridViewRow In dgvUnterlagen.Rows
|
|
files.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("fka_docId").Value))
|
|
Next
|
|
VERAG_PROG_ALLGEMEIN.cFormularManager.mergePDFs(files, outputFile)
|
|
|
|
Process.Start(outputFile)
|
|
Me.Cursor = Cursors.Default
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Me.Cursor = Cursors.Default
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
|
|
If vbYes = MsgBox("Möchten Sie den Fiskalakt vom " & dgvFiskaluebersicht.SelectedRows(0).Cells("FK_Datum").Value & " abschließen?" & vbNewLine & "Er kann anschließend nicht mehr verändert werden", vbYesNo) Then
|
|
getFields()
|
|
|
|
If checkEntries() Then
|
|
fk.FK_locked = True
|
|
fk.FK_Abschlussdatum = Now()
|
|
fk.FK_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
fk.SAVE()
|
|
initDGVFiskaluebersicht()
|
|
btnOK.Enabled = False
|
|
btnSave.Enabled = False
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
|
|
lblWarning.Text = ""
|
|
getFields()
|
|
If fk.SAVE() Then
|
|
btnSave.Enabled = False
|
|
Else
|
|
btnSave.Enabled = True
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub dgvFiskaluebersicht_SelectionChanged(sender As Object, e As EventArgs) Handles dgvFiskaluebersicht.SelectionChanged
|
|
|
|
clearTXT()
|
|
|
|
If dgvFiskaluebersicht.SelectedRows.Count > 0 Then
|
|
|
|
fk = New cFiskalkunden(dgvFiskaluebersicht.SelectedRows(0).Cells("FK_Id").Value)
|
|
|
|
If checkNullStr(fk.FK_Datum) <> "" Then year = CDate(fk.FK_Datum).Year
|
|
|
|
Dim locked As Boolean = IIf(fk.FK_locked Is Nothing, False, fk.FK_locked)
|
|
setFields()
|
|
initDGVUnterlagen()
|
|
picLocked.Visible = locked
|
|
btnOK.Enabled = Not locked
|
|
btnSave.Enabled = Not locked
|
|
setUIenabled(locked)
|
|
Button4.Enabled = True
|
|
setAbschlusstxt(locked)
|
|
|
|
BA = VERAG_PROG_ALLGEMEIN.cBonitaetsauskunft.LOADByKdNrWithingDate(kdNr)
|
|
setControlButtons()
|
|
|
|
Else
|
|
|
|
Button4.Enabled = False
|
|
'clearTXT()
|
|
End If
|
|
|
|
'BA = VERAG_PROG_ALLGEMEIN.cBonitaetsauskunft.LOADByKdNrWithingDate(kdNr)
|
|
'setControlButtons()
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub setFields()
|
|
|
|
|
|
If checkNullStr(fk.FK_Vollmacht) <> "" Then
|
|
VM = New cKundenVollmachten(fk.FK_Vollmacht)
|
|
txtVM.Text = VM.kdvm_erhalten_Datum.ToShortDateString
|
|
End If
|
|
|
|
If checkNullStr(fk.FK_Untervollmacht) <> "" Then
|
|
UVM = New cKundenVollmachten(fk.FK_Untervollmacht)
|
|
txtUVM.Text = UVM.kdvm_erhalten_Datum.ToShortDateString
|
|
End If
|
|
|
|
|
|
If checkNullStr(fk.FK_EORI) <> "" Then
|
|
EORI = New cEORIPruefung(fk.FK_EORI)
|
|
txtEORI.Text = EORI.eori_datum.ToShortDateString
|
|
End If
|
|
|
|
If checkNullStr(fk.FK_UID) <> "" Then
|
|
UID = New cUIDPruefung(fk.FK_UID)
|
|
txtVM.Text = UID.uid_Datum.ToShortDateString
|
|
End If
|
|
|
|
|
|
If checkNullStr(fk.FK_Bonitaet) <> "" Then
|
|
BA = New cBonitaetsauskunft(fk.FK_Bonitaet)
|
|
txtBon.Text = BA.ba_Datum.ToShortDateString
|
|
End If
|
|
|
|
|
|
cbxFiskalart._value = checkNullStr(fk.FK_Art)
|
|
txtHomepage.Text = checkNullStr(fk.FK_Website_URL)
|
|
rtbAnmerkung.Text = checkNullStr(fk.FK_Anmerkung)
|
|
rtfLieferanten.Text = checkNullStr(fk.FK_Lieferanten)
|
|
rtfEmpfaenger.Text = checkNullStr(fk.FK_Empfaenger)
|
|
rtfZwischenh.Text = checkNullStr(fk.FK_Zwischenhaendler)
|
|
txtGruendungsjahr.Text = checkNullStr(fk.FK_Gruendungsdatum)
|
|
txtGeschaeftszweck.Text = checkNullStr(fk.FK_Geschaeftszweck)
|
|
txtKredit.Text = checkNullStr(fk.FK_KreditMax)
|
|
txtWaren.Text = checkNullStr(fk.FK_Waren)
|
|
txtAnzMA.Text = checkNullStr(fk.FK_AnzahlMitarbeiter)
|
|
txtGF.Text = checkNullStr(fk.FK_Geschaeftsfuehrer)
|
|
txtWebsiteSt.Text = checkNullStr(fk.FK_WebsiteSt_URL)
|
|
cbxVMOriginal.Checked = checkNullStr(fk.FK_VollmachtOriginal)
|
|
txtSteuerberater.Text = checkNullStr(fk.FK_Steuerberater)
|
|
txtUmsatz.Text = checkNullStr(fk.FK_Umsatz)
|
|
|
|
If txtBon.Text = "" Then
|
|
Dim baid = SQL.getValueTxtBySql("SELECT TOP(1) ba_id FROM [tblBonitaetsauskunft] where ba_KundenNr=" & kdNr & " ORDER BY ba_Datum DESC", "FMZOLL")
|
|
If baid <> "" Then BA = New cBonitaetsauskunft(baid)
|
|
If BA IsNot Nothing Then
|
|
|
|
txtBon.Text = BA.ba_Datum.ToShortDateString
|
|
|
|
If txtGruendungsjahr.Text = "" Then txtGruendungsjahr.Text = BA.ba_GruendundsDatum
|
|
|
|
If txtKredit.Text = "" Then txtKredit.Text = BA.ba_Hoechstkredit
|
|
|
|
lblUmsatz.Text = IIf(BA.ba_Umsatz <> "", BA.ba_Umsatz, "")
|
|
|
|
If txtGF.Text = "" Then txtGF.Text = BA.ba_GFName
|
|
|
|
If txtGeschaeftszweck.Text = "" Then txtGeschaeftszweck.Text = BA.ba_Geschaeftszweck
|
|
|
|
If txtAnzMA.Text = "" Then txtAnzMA.Text = BA.ba_Mitarbeiter
|
|
|
|
If ADRESSE.LandKz = "AT" Or ADRESSE.LandKz = "A" Then
|
|
lblBon.Text = If(BA.ba_CreditSaveBonitaetsScore, "")
|
|
Else
|
|
lblBon.Text = If(BA.ba_CreditSaveBonitaetsIndex, "")
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
If txtWaren.Text = "" Then
|
|
txtWaren.Text = SQL.getValueTxtBySql("SELECT Top(1) [Packstücke] as Bemerkungen FROM [Speditionsbuch] WHERE " & kdNr & " In([AbsenderKundenNr], [EmpfängerKundenNr], [FrachtführerKundenNr], [VermittlerKundenNr], [EndempfängerKundenNr]) AND ISNULL(CAST([Bemerkungen] as NVARCHAR(max)),'') <> '' Order by Abfertigungsdatum desc", "FMZOLL")
|
|
End If
|
|
|
|
If txtUID.Text = "" Then
|
|
|
|
Dim UIDId = SQL.getValueTxtBySql("Select TOP(1) [uid_id] FROM [tblUIDPruefung] where uid_KundenNr='" & kdNr & "' AND UID_valid = 1 AND uid_stufe = 2 ORDER BY uid_Datum desc", "FMZOLL")
|
|
|
|
If UIDId <> "" Then
|
|
|
|
UID = New cUIDPruefung(UIDId)
|
|
If UID IsNot Nothing And IsDate(UID.uid_Datum) Then
|
|
txtUID.Text = CDate(UID.uid_Datum).ToShortDateString
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
|
|
If txtVM.Text = "" And cbxFiskalart._value <> "" Then
|
|
|
|
Dim vmArt As Integer = -1
|
|
|
|
Select Case FirmaTmp
|
|
Case "VERAG"
|
|
If cbxFiskalart._value = "DE" Then
|
|
vmArt = 2
|
|
ElseIf cbxFiskalart._value = "AT" Then
|
|
vmArt = 4
|
|
End If
|
|
|
|
Case "IMEX"
|
|
If cbxFiskalart._value = "DE" Then
|
|
vmArt = 8
|
|
ElseIf cbxFiskalart._value = "AT" Then
|
|
vmArt = 9
|
|
End If
|
|
|
|
Case "UNISPED"
|
|
If cbxFiskalart._value = "DE" Then
|
|
vmArt = 22
|
|
ElseIf cbxFiskalart._value = "AT" Then
|
|
vmArt = 23
|
|
End If
|
|
|
|
End Select
|
|
|
|
If vmArt = -1 Then
|
|
lblWarning.Text = "Vollmachtart für " & FirmaTmp & " kann nicht ermittelt werden"
|
|
Else
|
|
Dim vmId = SQL.getValueTxtBySql("SELECT Top(1) abf.[kdvm_id] FROM [tblKundenVollmachtenArt] as art INNER Join(select * from [tblKundenVollmachten]) as abf on art.[kdvma_Id]=abf.[kdvm_kdvmaId] WHERE art.kdvma_visible = 1 And abf.kdvm_erhalten = 1 And ISNULL(abf.[kdvm_geloescht], 0)!= 1 And [kdvm_KundenNr] ='" & kdNr & "' AND [kdvm_kdvmaId]='" & vmArt & "' Order BY abf.kdvm_erhalten_Datum desc", "FMZOLL")
|
|
|
|
If vmId <> "" Then
|
|
VM = New cKundenVollmachten(vmId)
|
|
If IsDate(VM.kdvm_erhalten_Datum) Then txtVM.Text = CDate(VM.kdvm_erhalten_Datum).ToShortDateString
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
|
|
If txtUVM.Text = "" And cbxFiskalart._value <> "" Then
|
|
Dim uvmId = SQL.getValueTxtBySql("SELECT Top(1) abf.[kdvm_id] FROM [tblKundenVollmachtenArt] as art INNER Join(select * from [tblKundenVollmachten]) as abf on art.[kdvma_Id]=abf.[kdvm_kdvmaId] WHERE art.kdvma_visible = 1 And abf.kdvm_erhalten = 1 And ISNULL(abf.[kdvm_geloescht], 0)!= 1 And [kdvm_KundenNr] ='" & kdNr & "' AND [kdvm_kdvmaId]=6 Order BY abf.kdvm_erhalten_Datum desc", "FMZOLL")
|
|
|
|
If uvmId <> "" Then
|
|
UVM = New cKundenVollmachten(uvmId)
|
|
If IsDate(UVM.kdvm_erhalten_Datum) Then txtUVM.Text = CDate(UVM.kdvm_erhalten_Datum).ToShortDateString
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
If txtHomepage.Text <> "" Then
|
|
cbxHomepage.Checked = IsValidURL(txtHomepage.Text)
|
|
Else
|
|
cbxHomepage.Checked = False
|
|
picOK.Visible = False
|
|
End If
|
|
|
|
|
|
If txtWebsiteSt.Text = "" Then picOKSt.Visible = False
|
|
|
|
If checkNullStr(KUNDE.EORITIN) <> "" Then
|
|
|
|
EORI = cEORIPruefung.LOADByKdNrDate(kdNr)
|
|
If EORI IsNot Nothing Then
|
|
txtEORI.Text = CDate(EORI.eori_datum).ToShortDateString
|
|
lblWarning.Text = ""
|
|
End If
|
|
|
|
Else
|
|
txtEORI.Text = ""
|
|
'lblWarning.Text = "EORI-NR im Kunden fehlt!"
|
|
End If
|
|
|
|
|
|
If rtfEmpfaenger.Text = "" Then
|
|
rtfEmpfaenger.Visible = False
|
|
initdgvEmfpaenger()
|
|
Else
|
|
rtfEmpfaenger.Visible = True
|
|
|
|
End If
|
|
|
|
If rtfLieferanten.Text = "" Then
|
|
rtfLieferanten.Visible = False
|
|
initdgvLieferanten()
|
|
Else
|
|
rtfLieferanten.Visible = True
|
|
End If
|
|
|
|
|
|
If rtfZwischenh.Text = "" Then
|
|
rtfZwischenh.Visible = False
|
|
initdgvZwischenhaendler()
|
|
Else
|
|
rtfZwischenh.Visible = True
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub getFields()
|
|
fk.FK_Art = cbxFiskalart._value
|
|
|
|
If BA IsNot Nothing Then fk.FK_Bonitaet = BA.ba_id
|
|
|
|
If VM IsNot Nothing Then fk.FK_Vollmacht = VM.kdvm_Id
|
|
|
|
If UVM IsNot Nothing Then fk.FK_Untervollmacht = UVM.kdvm_Id
|
|
|
|
If EORI IsNot Nothing Then fk.FK_EORI = EORI.eori_id
|
|
|
|
If UID IsNot Nothing Then fk.FK_UID = UID.uid_id
|
|
|
|
fk.FK_Website_URL = txtHomepage.Text
|
|
fk.FK_WebsiteSt_URL = txtWebsiteSt.Text
|
|
fk.FK_Anmerkung = rtbAnmerkung.Text
|
|
fk.FK_VollmachtOriginal = cbxVMOriginal.Checked
|
|
|
|
If txtKredit.Text <> "" Then
|
|
fk.FK_KreditMax = Double.Parse(txtKredit.Text)
|
|
End If
|
|
|
|
If txtUmsatz.Text <> "" Then
|
|
fk.FK_Umsatz = Double.Parse(txtUmsatz.Text)
|
|
End If
|
|
|
|
fk.FK_Geschaeftsfuehrer = txtGF.Text
|
|
fk.FK_Geschaeftszweck = txtGeschaeftszweck.Text
|
|
fk.FK_AnzahlMitarbeiter = txtAnzMA.Text
|
|
fk.FK_Steuerberater = txtSteuerberater.Text
|
|
fk.FK_Gruendungsdatum = txtGruendungsjahr.Text
|
|
fk.FK_Waren = txtWaren.Text
|
|
|
|
If checkNullStr(fk.FK_Empfaenger) = "" Then
|
|
Dim txtEmpfaenger As String
|
|
For Each row As DataGridViewRow In dgvEmpfaenger.Rows
|
|
For i As Integer = 0 To row.Cells.Count - 1
|
|
txtEmpfaenger &= row.Cells(i).Value.ToString & ", "
|
|
Next
|
|
fk.FK_Empfaenger &= txtEmpfaenger
|
|
If row.Index < dgvEmpfaenger.Rows.Count Then
|
|
fk.FK_Empfaenger &= vbNewLine
|
|
End If
|
|
|
|
Next
|
|
End If
|
|
|
|
|
|
|
|
If checkNullStr(fk.FK_Lieferanten) = "" Then
|
|
Dim txtLieferanten As String
|
|
For Each row As DataGridViewRow In dgvLieferanten.Rows
|
|
For i As Integer = 0 To row.Cells.Count - 1
|
|
txtLieferanten &= row.Cells(i).Value.ToString & ", "
|
|
Next
|
|
fk.FK_Lieferanten &= txtLieferanten
|
|
If row.Index < dgvLieferanten.Rows.Count Then
|
|
fk.FK_Lieferanten &= vbNewLine
|
|
End If
|
|
|
|
Next
|
|
End If
|
|
|
|
If checkNullStr(fk.FK_Zwischenhaendler) = "" Then
|
|
Dim txtZwischenhaendler As String
|
|
For Each row As DataGridViewRow In dgvZwischenh.Rows
|
|
For i As Integer = 0 To row.Cells.Count - 1
|
|
txtZwischenhaendler &= row.Cells(i).Value.ToString & ", "
|
|
Next
|
|
fk.FK_Zwischenhaendler &= txtZwischenhaendler
|
|
If row.Index < dgvZwischenh.Rows.Count Then
|
|
fk.FK_Zwischenhaendler &= vbNewLine
|
|
End If
|
|
|
|
Next
|
|
End If
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub txtBon_TextChanged(sender As Object, e As EventArgs) Handles txtBon.TextChanged
|
|
If txtBon._value <> "" Then
|
|
Dim a As Date = Date.ParseExact(txtBon._value, "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
|
|
If a > fk.FK_Datum.AddDays(-daysWithinDocumentAreValid) Then
|
|
cbxBonitaet.Checked = True
|
|
txtBon.ForeColor = Color.Black
|
|
Else
|
|
cbxBonitaet.Checked = False
|
|
txtBon.ForeColor = Color.Red
|
|
End If
|
|
Else
|
|
cbxBonitaet.Checked = False
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub txtVM_TextChanged(sender As Object, e As EventArgs) Handles txtVM.TextChanged
|
|
If txtVM._value <> "" Then
|
|
Dim a As Date = Date.ParseExact(txtVM._value, "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
|
|
If a > fk.FK_Datum.AddYears(-2) Then 'Vollmacahten sollten grundsätzlich 2 Jahre ab Austellung gültig sein!
|
|
cbxVollmacht.Checked = True
|
|
txtVM.ForeColor = Color.Black
|
|
Else
|
|
cbxVollmacht.Checked = False
|
|
txtVM.ForeColor = Color.Red
|
|
End If
|
|
Else
|
|
cbxVollmacht.Checked = False
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub txtUVM_TextChanged(sender As Object, e As EventArgs) Handles txtUVM.TextChanged
|
|
If txtUVM._value <> "" Then
|
|
Dim a As Date = Date.ParseExact(txtUVM._value, "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
|
|
If a > fk.FK_Datum.AddDays(-daysWithinDocumentAreValid) Then
|
|
cbxUntervm.Checked = True
|
|
txtUVM.ForeColor = Color.Black
|
|
Else
|
|
cbxUntervm.Checked = False
|
|
txtUVM.ForeColor = Color.Red
|
|
End If
|
|
Else
|
|
cbxUntervm.Checked = False
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub txtUID_TextChanged(sender As Object, e As EventArgs) Handles txtUID.TextChanged
|
|
If txtUID._value <> "" Then
|
|
Dim a As Date = Date.ParseExact(txtUID._value, "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
|
|
If a > fk.FK_Datum.AddDays(-daysWithinDocumentAreValid) Then
|
|
cbxUID.Checked = True
|
|
txtUID.ForeColor = Color.Black
|
|
Else
|
|
cbxUID.Checked = False
|
|
txtUID.ForeColor = Color.Red
|
|
End If
|
|
Else
|
|
cbxUID.Checked = False
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub txtEORI_TextChanged(sender As Object, e As EventArgs) Handles txtEORI.TextChanged
|
|
If txtEORI._value <> "" Then
|
|
Dim a As Date = Date.ParseExact(txtEORI._value, "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
|
|
If a > fk.FK_Datum.AddDays(-daysWithinDocumentAreValid) Then
|
|
cbxEORI.Checked = True
|
|
txtEORI.ForeColor = Color.Black
|
|
Else
|
|
cbxEORI.Checked = False
|
|
txtEORI.ForeColor = Color.Black
|
|
End If
|
|
Else
|
|
cbxEORI.Checked = False
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub txtHomepage_TextChanged(sender As Object, e As EventArgs) Handles txtHomepage.TextChanged
|
|
Dim valid
|
|
If txtHomepage.Text <> "" Then
|
|
If fk Is Nothing Then
|
|
valid = IsValidURL(txtHomepage.Text)
|
|
cbxHomepage.Checked = valid
|
|
picOK.Visible = valid
|
|
Else
|
|
If fk.FK_Website_URL <> txtHomepage.Text Then
|
|
valid = IsValidURL(txtHomepage.Text)
|
|
cbxHomepage.Checked = valid
|
|
picOK.Visible = valid
|
|
End If
|
|
|
|
End If
|
|
|
|
Else
|
|
cbxHomepage.Checked = False
|
|
picOK.Visible = False
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Function checkNullStr(o As Object) As String
|
|
If Not IsDBNull(o) Then
|
|
Return o
|
|
End If
|
|
Return ""
|
|
End Function
|
|
|
|
Private Function checkEntries() As Boolean
|
|
|
|
If Not cbxBonitaet.Checked Then
|
|
lblWarning.Text = "Bonität prüfen!"
|
|
Return False
|
|
End If
|
|
|
|
If Not cbxHomepage.Checked Then
|
|
lblWarning.Text = "Homepage prüfen!"
|
|
Return False
|
|
End If
|
|
|
|
If Not cbxVollmacht.Checked Then
|
|
lblWarning.Text = "Vollmacht prüfen!"
|
|
Return False
|
|
End If
|
|
|
|
If Not cbxUID.Checked Then
|
|
lblWarning.Text = "UID prüfen!"
|
|
Return False
|
|
End If
|
|
|
|
If Not cbxEORI.Checked Then
|
|
lblWarning.Text = "EORI-Nr prüfen!"
|
|
Return False
|
|
End If
|
|
|
|
|
|
lblWarning.Text = ""
|
|
Return True
|
|
|
|
|
|
|
|
End Function
|
|
|
|
Private Sub usrcntlFiskaluebersicht_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
|
|
setUIenabled(Not dgvFiskaluebersicht.SelectedRows.Count > 0)
|
|
setControlButtons()
|
|
|
|
End Sub
|
|
|
|
Private Sub setUIenabled(locked As Boolean)
|
|
|
|
btnSave.Enabled = Not locked
|
|
btnOK.Enabled = Not locked
|
|
|
|
|
|
For Each c As Control In MyPanel2.Controls
|
|
If (Not c.GetType.FullName = "System.Windows.Forms.CheckBox" Or c.Name = "cbxVMOriginal") Then c.Enabled = Not locked
|
|
Next
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
|
|
If dgvFiskaluebersicht.SelectedRows.Count > 0 Then
|
|
If fk.FK_locked Then
|
|
MsgBox("Fiskalübersicht ist bereits abgeschlossen und kann nicht gelöscht werden!")
|
|
Exit Sub
|
|
End If
|
|
If vbYes = MsgBox("Möchten Sie die Fiskalübersicht vom " & dgvFiskaluebersicht.SelectedRows(0).Cells("fk_datum").Value & " inkl. Anhänge wirklich löschen?", vbYesNo) Then
|
|
Dim anh_list = New cFiskalkundenAnhaenge()
|
|
anh_list.DELETEALL(dgvFiskaluebersicht.SelectedRows(0).Cells("fk_Kdnr").Value, dgvFiskaluebersicht.SelectedRows(0).Cells("fk_Id").Value)
|
|
fk.deleteEntry(fk.FK_Id)
|
|
'If dgvFiskaluebersicht.Rows.Count > 1 Then
|
|
' initDGVFiskaluebersicht()
|
|
'ElseIf dgvFiskaluebersicht.Rows.Count = 1 Then
|
|
' init(kdNr)
|
|
' initDGVFiskaluebersicht()
|
|
'End If
|
|
|
|
init(kdNr)
|
|
initDGVFiskaluebersicht()
|
|
End If
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Public Sub clearTXT()
|
|
Dim a As New List(Of Windows.Forms.Control)
|
|
For Each c As Control In MyPanel2.Controls
|
|
If (c.GetType.FullName = "System.Windows.Forms.TextBox" Or c.GetType.FullName = "VERAG_PROG_ALLGEMEIN.MyTextBox" Or c.GetType.FullName = "System.Windows.Forms.RichTextBox") Then c.Text = ""
|
|
If c.GetType.FullName = "VERAG_PROG_ALLGEMEIN.MyDatagridview" Then
|
|
Dim dgv As MyDatagridview = c
|
|
dgv = DirectCast(dgv, MyDatagridview)
|
|
dgv.Columns.Clear()
|
|
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
|
|
Me.Cursor = Cursors.WaitCursor
|
|
Dim url As String = ""
|
|
lblWarning.Text = ""
|
|
txtHomepage.ForeColor = Color.Black
|
|
|
|
|
|
If fk.FK_Website_URL = txtHomepage.Text Then
|
|
Dim anh_list = New cFiskalkundenAnhaenge().LOAD_LIST_ByKdNr(fk.FK_Kdnr, fk.FK_Id, "Website")
|
|
If anh_list.Count > 0 Then
|
|
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(anh_list.ElementAt(0).fka_docId)
|
|
DS.OPEN_SINGLE()
|
|
Me.Cursor = Cursors.Default
|
|
Exit Sub
|
|
End If
|
|
|
|
End If
|
|
|
|
If txtHomepage.Text = "" Then
|
|
picOK.Visible = False
|
|
Me.Cursor = Cursors.Default
|
|
Exit Sub
|
|
End If
|
|
|
|
If Not IsValidURL(txtHomepage.Text) Then Exit Sub
|
|
|
|
If Not checkWebsite(txtHomepage.Text) Then Exit Sub
|
|
|
|
Dim pdf = VERAG_PROG_ALLGEMEIN.cFormularManager.getPDFViaSpirePDF_FromURL(txtHomepage.Text, DATENVERVER_OPTIONS.TMP_PATH & Guid.NewGuid().ToString() & ".pdf") 'UU langsam....
|
|
|
|
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "FISKALKUNDENANHAENGE", fk.FK_Datum, "", "", "Website", kdNr)
|
|
Dim fi As New System.IO.FileInfo(pdf)
|
|
Dim path = DS.uploadDataToDATENSERVER(pdf, fi.Name, fi.Extension)
|
|
|
|
Dim ANH = New VERAG_PROG_ALLGEMEIN.cFiskalkundenAnhaenge()
|
|
ANH.fka_Art = "Website"
|
|
ANH.fka_docId = DS.da_id
|
|
ANH.fka_Datum = Now()
|
|
ANH.fka_KdNr = kdNr
|
|
ANH.fka_fkId = fk.FK_Id
|
|
ANH.fka_Name = "Website"
|
|
ANH.SAVE()
|
|
|
|
'If path Then
|
|
' fk.FK_Homepage_PDF = DS.da_id
|
|
'End If
|
|
|
|
fk.FK_Website_URL = txtHomepage.Text
|
|
fk.SAVE()
|
|
|
|
If Not cbxHomepage.Checked Then cbxHomepage.Checked = True
|
|
|
|
initDGVUnterlagen()
|
|
Me.Cursor = Cursors.Default
|
|
|
|
End Sub
|
|
|
|
Private Function IsValidURL(ByVal URL As String) As Boolean
|
|
Dim Pattern As String = "^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$"
|
|
Dim Rgx As Regex = New Regex(Pattern, RegexOptions.Compiled Or RegexOptions.IgnoreCase)
|
|
|
|
Dim isValid = Rgx.IsMatch(URL)
|
|
|
|
Return isValid
|
|
|
|
End Function
|
|
|
|
|
|
Private Sub dgvAnhaenge_KeyUp(sender As Object, e As KeyEventArgs) Handles dgvUnterlagen.KeyUp
|
|
If e.KeyCode = Keys.Delete Then
|
|
If dgvUnterlagen.SelectedRows.Count > 0 Then
|
|
If vbYes = MsgBox("Möchten Sie die Datei wirklich löschen?", vbYesNoCancel) Then
|
|
Dim anhId = dgvUnterlagen.SelectedRows(0).Cells("fka_id").Value
|
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dgvUnterlagen.SelectedRows(0).Cells("fka_docId").Value)
|
|
If DS.DELETE_COMPLETE() Then
|
|
Dim anh As New cFiskalkundenAnhaenge(anhId)
|
|
anh.DELETE()
|
|
initDGVUnterlagen()
|
|
End If
|
|
|
|
|
|
|
|
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub btnAddAttachments_Click(sender As Object, e As EventArgs) Handles btnAddAttachments.Click
|
|
|
|
If cbxAttachmentArt._value = "" Then Exit Sub
|
|
Dim ArtId As String = cbxAttachmentArt._value
|
|
|
|
|
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "FISKALKUNDENANHAENGE", fk.FK_Datum, "", "", ArtId, kdNr)
|
|
If DS.uploadDataToDATENSERVERFileDialog(, ".pdf", , "PDF") Then
|
|
|
|
Dim ANH = New VERAG_PROG_ALLGEMEIN.cFiskalkundenAnhaenge()
|
|
ANH.fka_Art = ArtId
|
|
ANH.fka_docId = DS.da_id
|
|
ANH.fka_Datum = Now()
|
|
ANH.fka_KdNr = kdNr
|
|
ANH.fka_fkId = fk.FK_Id
|
|
ANH.fka_Name = DS.da_name
|
|
ANH.SAVE()
|
|
initDGVUnterlagen()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub cbxAttachmentArt_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbxAttachmentArt.SelectedValueChanged
|
|
btnAddAttachments.Enabled = cbxAttachmentArt._value <> ""
|
|
End Sub
|
|
|
|
Private Sub setAbschlusstxt(locked As Boolean)
|
|
|
|
If locked Then
|
|
Dim mit = New VERAG_PROG_ALLGEMEIN.cMitarbeiter(fk.FK_MaId)
|
|
lblAbschluss.Text = mit.Fullname
|
|
|
|
If IsDate(fk.FK_Abschlussdatum) Then
|
|
'Dim abschlussZP As DateTime
|
|
'abschlussZP = DateTime.ParseExact(fk.FK_Abschlussdatum, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture)
|
|
lblAbschluss.Text &= " " & fk.FK_Abschlussdatum
|
|
End If
|
|
|
|
Else
|
|
lblAbschluss.Text = ""
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub panelChanged()
|
|
|
|
For Each c As Control In MyPanel1.Controls
|
|
If TypeOf (c) Is MyTextBox Then
|
|
AddHandler CType(c, MyTextBox).TextChanged, AddressOf somethingChanged
|
|
ElseIf TypeOf (c) Is TextBox Then
|
|
AddHandler CType(c, TextBox).TextChanged, AddressOf somethingChanged
|
|
ElseIf TypeOf (c) Is RichTextBox Then
|
|
AddHandler CType(c, RichTextBox).TextChanged, AddressOf somethingChanged
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub somethingChanged()
|
|
If fk.FK_locked Then
|
|
btnSave.Enabled = False
|
|
btnOK.Enabled = False
|
|
Exit Sub
|
|
End If
|
|
If Not btnSave.Enabled Then btnSave.Enabled = True
|
|
End Sub
|
|
|
|
Private Sub setControlButtons()
|
|
|
|
If fk IsNot Nothing Then
|
|
|
|
If fk.FK_locked Then
|
|
btnSave.Enabled = False
|
|
btnOK.Enabled = False
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
|
|
For Each c As Control In MyPanel1.Controls
|
|
|
|
c.Enabled = dgvFiskaluebersicht.SelectedRows.Count > 0
|
|
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub txtSteuerberaterWS_TextChanged(sender As Object, e As EventArgs) Handles txtWebsiteSt.TextChanged
|
|
If txtWebsiteSt.Text <> "" Then
|
|
If fk Is Nothing Then
|
|
picOKSt.Visible = IsValidURL(txtWebsiteSt.Text)
|
|
Else
|
|
If fk.FK_WebsiteSt_URL <> txtWebsiteSt.Text Then
|
|
picOKSt.Visible = IsValidURL(txtWebsiteSt.Text)
|
|
End If
|
|
|
|
End If
|
|
|
|
Else
|
|
picOKSt.Visible = False
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub Button3_Click_1(sender As Object, e As EventArgs) Handles Button3.Click
|
|
|
|
Dim url As String = ""
|
|
lblWarning.Text = ""
|
|
txtWebsiteSt.ForeColor = Color.Black
|
|
|
|
|
|
If fk.FK_WebsiteSt_URL = txtWebsiteSt.Text Then
|
|
Dim anh_list = New cFiskalkundenAnhaenge().LOAD_LIST_ByKdNr(fk.FK_Kdnr, fk.FK_Id, "Website-Steuerberater")
|
|
If anh_list.Count > 0 Then
|
|
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(anh_list.ElementAt(0).fka_docId)
|
|
DS.OPEN_SINGLE()
|
|
Exit Sub
|
|
End If
|
|
|
|
End If
|
|
|
|
If txtWebsiteSt.Text = "" Then
|
|
picOKSt.Visible = False
|
|
Exit Sub
|
|
End If
|
|
|
|
If Not IsValidURL(txtWebsiteSt.Text) Then Exit Sub
|
|
|
|
If Not checkWebsite(txtWebsiteSt.Text) Then Exit Sub
|
|
|
|
Dim pdf = VERAG_PROG_ALLGEMEIN.cFormularManager.getPDFViaSpirePDF_FromURL(txtWebsiteSt.Text) 'UU langsam....
|
|
|
|
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "FISKALKUNDENANHAENGE", fk.FK_Datum, "", "", "Website-Steuerberater", kdNr)
|
|
Dim fi As New System.IO.FileInfo(pdf)
|
|
Dim path = DS.uploadDataToDATENSERVER(pdf, fi.Name, fi.Extension)
|
|
|
|
Dim ANH = New VERAG_PROG_ALLGEMEIN.cFiskalkundenAnhaenge()
|
|
ANH.fka_Art = "Website-Steuerberater"
|
|
ANH.fka_docId = DS.da_id
|
|
ANH.fka_Datum = Now()
|
|
ANH.fka_KdNr = kdNr
|
|
ANH.fka_fkId = fk.FK_Id
|
|
ANH.fka_Name = "Website-Steuerberater"
|
|
ANH.SAVE()
|
|
|
|
|
|
fk.FK_WebsiteSt_URL = txtWebsiteSt.Text
|
|
fk.SAVE()
|
|
|
|
initDGVUnterlagen()
|
|
|
|
End Sub
|
|
|
|
Private Function checkWebsite(url As String) As Boolean
|
|
|
|
Dim req As System.Net.HttpWebRequest
|
|
Dim res As System.Net.HttpWebResponse
|
|
|
|
Try
|
|
url = txtHomepage.Text
|
|
req = System.Net.HttpWebRequest.Create(url)
|
|
req.Timeout = 5000
|
|
req.UserAgent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"
|
|
res = req.GetResponse()
|
|
Catch ex As WebException
|
|
lblWarning.Text = ex.Message
|
|
txtHomepage.ForeColor = Color.Red
|
|
picOK.Visible = False
|
|
Me.Cursor = Cursors.Default
|
|
Return False
|
|
End Try
|
|
|
|
Return True
|
|
|
|
End Function
|
|
|
|
|
|
End Class
|