484 lines
16 KiB
VB.net
484 lines
16 KiB
VB.net
Imports System.Collections
|
|
Imports System.Data
|
|
Imports System.Diagnostics
|
|
Imports System.Diagnostics.Tracing
|
|
Imports System.Drawing
|
|
Imports System.Net
|
|
Imports System.Windows.Forms
|
|
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.Button
|
|
Imports Microsoft.Office.Tools.Ribbon
|
|
Imports SDL
|
|
Imports VERAG_PROG_ALLGEMEIN
|
|
|
|
|
|
Public Class frmAvisoFormularAnfuegen
|
|
|
|
Public KdNr As Integer = -1
|
|
Public AvisoId As Integer = -1
|
|
Dim vollmachtartId As Integer = -1
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Public SendungsId = -1
|
|
Public Bezeichnung = ""
|
|
Public PDF_MAIL = ""
|
|
Public enableOverwritting As Boolean = False
|
|
Public ATTTemp As List(Of String)
|
|
Public ATT As List(Of String)
|
|
Public hasAnhaenge As Boolean = False
|
|
Public button As RibbonButton
|
|
Dim UsrCntlKundenZollVollmachten1 As usrCntlKundenZollVollmachten
|
|
Dim UsrCntlVertraege1 As usrcntlVertraege
|
|
Dim UsrCntlGestellungsgarantien1 As usrcntlGestellungsgarantien
|
|
Dim frmDefaultSize As Size = New Size(535, 750)
|
|
Dim dgvAnhaengeSize As Size = New Size(495, 30)
|
|
Dim avisoIdSet As Boolean = False
|
|
|
|
|
|
|
|
Sub New()
|
|
|
|
InitializeComponent()
|
|
|
|
End Sub
|
|
|
|
Sub New(Bezeichnung, sender)
|
|
|
|
InitializeComponent()
|
|
Me.Bezeichnung = Bezeichnung
|
|
button = sender
|
|
initForm()
|
|
|
|
|
|
End Sub
|
|
Sub initForm()
|
|
|
|
Me.pnlDetails.AutoSizeMode = AutoSizeMode.GrowAndShrink
|
|
Me.pnlDetails.AutoSize = True
|
|
|
|
|
|
Select Case button.Name
|
|
|
|
Case "btnVollmachten"
|
|
|
|
UsrCntlKundenZollVollmachten1 = New usrCntlKundenZollVollmachten()
|
|
UsrCntlKundenZollVollmachten1.AutoSize = False
|
|
Me.pnlDetails.Controls.Add(UsrCntlKundenZollVollmachten1)
|
|
Me.Text = "Vollmachten einfügen"
|
|
|
|
|
|
Case "btnVertraege"
|
|
UsrCntlVertraege1 = New usrcntlVertraege()
|
|
AddHandler UsrCntlVertraege1.clickOK, AddressOf btnOK_Click
|
|
Me.pnlDetails.Controls.Add(UsrCntlVertraege1)
|
|
Me.Text = "Verträge einfügen"
|
|
|
|
|
|
Case "btnGestellungsgarantien"
|
|
UsrCntlGestellungsgarantien1 = New usrcntlGestellungsgarantien()
|
|
AddHandler UsrCntlGestellungsgarantien1.clickOK, AddressOf btnOK_Click
|
|
Me.Text = "Gestellungsgarantien einfügen"
|
|
Me.pnlDetails.Controls.Add(UsrCntlGestellungsgarantien1)
|
|
|
|
|
|
Case Else
|
|
MsgBox("Funktion nicht unterstützt!")
|
|
Me.DialogResult = DialogResult.Cancel
|
|
Me.Close()
|
|
|
|
End Select
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub frmAvisoFormularAnfuegen_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
initAttachment()
|
|
KdSearchBox.initKdBox(Me)
|
|
If hasAnhaenge Then pbAnhaenge.Image = My.Resources.pdf
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub KdSearchBox_TextChanged(sender As Object, e As EventArgs) Handles KdSearchBox.TextChanged
|
|
|
|
If KdSearchBox.KdNr_value > 0 AndAlso KdSearchBox.KdNr IsNot Nothing Then
|
|
KdNr = KdSearchBox.KdNr_value
|
|
Dim AD = KdSearchBox.KdData_ADRESSEN
|
|
Dim KD = KdSearchBox.KdData_KUNDE
|
|
init()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Sub init()
|
|
If KdNr > 0 Then
|
|
Select Case button.Name
|
|
|
|
Case "btnVollmachten"
|
|
|
|
initVollmachtarten(KdNr)
|
|
|
|
Case "btnVertraege"
|
|
|
|
UsrCntlVertraege1.initDGVVertraege(KdNr)
|
|
|
|
Case "btnGestellungsgarantien"
|
|
|
|
UsrCntlGestellungsgarantien1.initDGVGestGarantie(KdNr)
|
|
|
|
End Select
|
|
Show()
|
|
End If
|
|
End Sub
|
|
|
|
Sub initVollmachtarten(kdNr As Integer)
|
|
cbVMTypen.fillWithSQL("SELECT DISTINCT(art.kdvma_Id), art.kdvma_Bezeichnung FROM [tblKundenVollmachtenArt] as art LEFT JOIN (select * from [tblKundenVollmachten] where [kdvm_KundenNr]='" & kdNr & "' ) as abf on art.[kdvma_Id]=abf.[kdvm_kdvmaId] WHERE art.kdvma_visible=1 AND art.kdvma_Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "'", False, "FMZOLL", True)
|
|
End Sub
|
|
|
|
|
|
Sub initUsrCntrlKundenvollmachten(vollmachtartId)
|
|
|
|
UsrCntlKundenZollVollmachten1.init(KdNr, vollmachtartId)
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub KdSearchBox_PropertyChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs) Handles KdSearchBox.PropertyChanged
|
|
If KdSearchBox.KdNr_value > 0 AndAlso KdSearchBox.KdData_KUNDE IsNot Nothing AndAlso KdSearchBox.KdData_ADRESSEN IsNot Nothing Then
|
|
KdNr = KdSearchBox.KdNr
|
|
Dim AD = KdSearchBox.KdData_ADRESSEN
|
|
Dim KD = KdSearchBox.KdData_KUNDE
|
|
init()
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub cbVMTypen_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbVMTypen.SelectedValueChanged
|
|
If cbVMTypen._value <> "" Then
|
|
vollmachtartId = cbVMTypen._value
|
|
initUsrCntrlKundenvollmachten(vollmachtartId)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
|
|
|
|
If Not checkMandatoryFields() Then
|
|
DialogResult = DialogResult.None
|
|
Exit Sub
|
|
End If
|
|
|
|
If avisoIdSet And Not button.Name = "btnVollmachten" Then
|
|
DialogResult = DialogResult.OK
|
|
Exit Sub
|
|
End If
|
|
|
|
Select Case button.Name
|
|
|
|
Case "btnVertraege"
|
|
UsrCntlVertraege1.initDGVVertraege(KdNr)
|
|
If UsrCntlVertraege1.dgvVertraege.SelectedRows.Count < 1 Then
|
|
MsgBox("Bitte einen Vertrag markieren")
|
|
End If
|
|
|
|
Case "btnGestellungsgarantien"
|
|
UsrCntlGestellungsgarantien1.initDGVGestGarantie(KdNr)
|
|
If UsrCntlGestellungsgarantien1.dgvGestGarantie.SelectedRows.Count < 1 Then
|
|
MsgBox("Bitte eine Gestellung markieren")
|
|
End If
|
|
End Select
|
|
|
|
|
|
If Not hasAnhaenge Then
|
|
|
|
If Not vbYes = MsgBox("Diese Email besitzt keinen Anhang!" & vbCrLf & "Soll die Email als Anhang gespeichert werden?", vbYesNoCancel) Then
|
|
Close()
|
|
DialogResult = DialogResult.None
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
If ATT IsNot Nothing Then
|
|
If ATT.Count > 1 Then
|
|
ATT = ATTTemp
|
|
If dgvAnhaenge.SelectedCells.Count = 0 Then
|
|
MsgBox("Bitte Anhang markieren!")
|
|
DialogResult = DialogResult.None
|
|
Exit Sub
|
|
Else
|
|
RemoveNotUsedAttachmentOnList(ATT, dgvAnhaenge.SelectedCells.Item(0).RowIndex)
|
|
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
|
|
Select Case button.Name
|
|
|
|
Case "btnVollmachten"
|
|
|
|
UsrCntlKundenZollVollmachten1.btnNeu_Click(sender, e)
|
|
AvisoId = UsrCntlKundenZollVollmachten1.vmId
|
|
|
|
Close()
|
|
|
|
Case "btnVertraege"
|
|
|
|
If sender.Text = "Hinzufügen" Then
|
|
|
|
setAvisoIdForVertrage()
|
|
|
|
ElseIf UsrCntlVertraege1.dgvVertraege.SelectedRows.Count = 1 Then
|
|
|
|
For Each row As DataGridViewRow In UsrCntlVertraege1.dgvVertraege.SelectedRows
|
|
If row.Cells("kv_datenarchivId").Value Is DBNull.Value Or row.Cells("kv_datenarchivId").Value Is Nothing Then
|
|
setAvisoIdForVertrage()
|
|
Else
|
|
Dim response = MsgBox("Der markierte Vertrag besitzt bereit einen Anhang!" & vbCrLf & "Soll der Anhang ersetzt werden?", vbYesNoCancel)
|
|
If response = vbYes Then
|
|
setAvisoIdForVertrage()
|
|
enableOverwritting = True
|
|
ElseIf response = vbCancel Then
|
|
DialogResult = DialogResult.None
|
|
Exit Sub
|
|
Else
|
|
Close()
|
|
End If
|
|
End If
|
|
|
|
Next
|
|
Me.DialogResult = DialogResult.OK
|
|
Close()
|
|
Else
|
|
Close()
|
|
End If
|
|
|
|
|
|
|
|
Close()
|
|
|
|
Case "btnGestellungsgarantien"
|
|
|
|
If sender.Text = "Hinzufügen" Then
|
|
|
|
setAvisoIdForGestellungen()
|
|
Me.DialogResult = DialogResult.OK
|
|
|
|
ElseIf UsrCntlGestellungsgarantien1.dgvGestGarantie.SelectedRows.Count = 1 Then
|
|
|
|
For Each row As DataGridViewRow In UsrCntlGestellungsgarantien1.dgvGestGarantie.SelectedRows
|
|
|
|
If row.Cells("kv_datenarchivId").Value Is DBNull.Value Or row.Cells("kv_datenarchivId").Value Is Nothing Then
|
|
setAvisoIdForGestellungen()
|
|
Else
|
|
Dim response = MsgBox("Die markierte Gestellungsgarantie besitzt bereit einen Anhang!" & vbCrLf & "Soll der Anhang ersetzt werden?", vbYesNoCancel)
|
|
If response = vbYes Then
|
|
setAvisoIdForVertrage()
|
|
enableOverwritting = True
|
|
ElseIf response = vbCancel Then
|
|
DialogResult = DialogResult.None
|
|
Exit Sub
|
|
Else
|
|
Close()
|
|
End If
|
|
End If
|
|
|
|
Next
|
|
Me.DialogResult = DialogResult.OK
|
|
Close()
|
|
Else
|
|
|
|
Close()
|
|
End If
|
|
|
|
|
|
|
|
End Select
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub setAvisoIdForGestellungen()
|
|
If UsrCntlGestellungsgarantien1.Gid > 0 Then
|
|
AvisoId = UsrCntlGestellungsgarantien1.Gid
|
|
ElseIf UsrCntlGestellungsgarantien1.dgvGestGarantie.SelectedRows.Count = 1 Then
|
|
AvisoId = UsrCntlGestellungsgarantien1.dgvGestGarantie.SelectedRows(0).Cells("gg_id").Value
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub setAvisoIdForVertrage()
|
|
If UsrCntlVertraege1.Vid > 0 Then
|
|
AvisoId = UsrCntlVertraege1.Vid
|
|
ElseIf UsrCntlVertraege1.dgvVertraege.SelectedRows.Count = 1 Then
|
|
AvisoId = UsrCntlVertraege1.dgvVertraege.SelectedRows(0).Cells("kv_id").Value
|
|
End If
|
|
If AvisoId > 0 Then
|
|
avisoIdSet = True
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub RemoveNotUsedAttachmentOnList(ByRef a As List(Of String), tmpIndex As Integer)
|
|
If (a IsNot Nothing) AndAlso (a.Count > 1) Then
|
|
Dim list As New List(Of String)
|
|
Dim selectedItem As Object = a.Item(tmpIndex)
|
|
list.Add(selectedItem)
|
|
a = list
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
|
|
Close()
|
|
End Sub
|
|
|
|
Sub initAttachment()
|
|
dgvAnhaenge.Rows.Clear()
|
|
|
|
If ATT Is Nothing Then
|
|
Exit Sub
|
|
End If
|
|
|
|
If ATT.Count = 0 Then
|
|
hasAnhaenge = False
|
|
PDF_MAIL = "ONLYMAIL_DATENSERVER"
|
|
Else
|
|
hasAnhaenge = True
|
|
If button.Name = "btnVollmachten" Then
|
|
PDF_MAIL = "PDF_DATENSERVER"
|
|
Else
|
|
PDF_MAIL = "ONLYPDF_DATENSERVER"
|
|
End If
|
|
|
|
|
|
For Each a In ATT
|
|
Dim display = a
|
|
If a.Contains("\") Then
|
|
Dim sp = a.Split("\")
|
|
display = sp(sp.Count - 1)
|
|
End If
|
|
dgvAnhaenge.Rows.Add({display, a})
|
|
Next
|
|
ATTTemp = ATT
|
|
End If
|
|
|
|
Dim addHeightfrm = 180
|
|
Dim addHeightdgv = 50
|
|
If dgvAnhaenge.Rows.Count > 1 Then
|
|
|
|
dgvAnhaenge.Visible = True
|
|
lblMultiAttachements.Visible = True
|
|
|
|
|
|
Select Case button.Name
|
|
|
|
Case "btnVollmachten"
|
|
|
|
Me.Size = New Size(frmDefaultSize.Width, frmDefaultSize.Height + addHeightdgv)
|
|
pnlDetails.Size = New Size(pnlDetails.Width, pnlDetails.Height + addHeightdgv)
|
|
dgvAnhaenge.Size = New Size(dgvAnhaengeSize.Width, dgvAnhaengeSize.Height + addHeightdgv)
|
|
|
|
Case "btnVertraege"
|
|
Me.Size = New Size(frmDefaultSize.Width, frmDefaultSize.Height - addHeightfrm)
|
|
pnlDetails.Size = New Size(pnlDetails.Width, pnlDetails.Height - addHeightfrm)
|
|
dgvAnhaenge.Size = New Size(dgvAnhaengeSize.Width, dgvAnhaengeSize.Height + addHeightdgv)
|
|
|
|
Case "btnGestellungsgarantien"
|
|
Me.Size = New Size(frmDefaultSize.Width, frmDefaultSize.Height - addHeightfrm)
|
|
pnlDetails.Size = New Size(pnlDetails.Width, pnlDetails.Height - addHeightfrm)
|
|
dgvAnhaenge.Size = New Size(dgvAnhaengeSize.Width, dgvAnhaengeSize.Height + addHeightdgv)
|
|
End Select
|
|
|
|
|
|
Else
|
|
dgvAnhaenge.Visible = False
|
|
lblMultiAttachements.Visible = False
|
|
Select Case button.Name
|
|
|
|
Case "btnVollmachten"
|
|
|
|
Me.Size = frmDefaultSize
|
|
dgvAnhaenge.Size = dgvAnhaengeSize
|
|
Case "btnVertraege"
|
|
pnlDetails.Size = New Size(pnlDetails.Width, pnlDetails.Height - addHeightfrm - addHeightdgv)
|
|
Me.Size = New Size(frmDefaultSize.Width, frmDefaultSize.Height - addHeightfrm)
|
|
dgvAnhaenge.Size = dgvAnhaengeSize
|
|
|
|
Case "btnGestellungsgarantien"
|
|
pnlDetails.Size = New Size(pnlDetails.Width, pnlDetails.Height - addHeightfrm - addHeightdgv)
|
|
Me.Size = New Size(frmDefaultSize.Width, frmDefaultSize.Height - addHeightfrm)
|
|
dgvAnhaenge.Size = dgvAnhaengeSize
|
|
End Select
|
|
End If
|
|
|
|
dgvAnhaenge.ClearSelection()
|
|
End Sub
|
|
|
|
Private Function checkMandatoryFields() As Boolean
|
|
|
|
|
|
|
|
Dim valid = False
|
|
|
|
If KdSearchBox.KdNr_value = -1 Then
|
|
lblWarning.Text = "Kunde auswählen!"
|
|
Return valid
|
|
End If
|
|
|
|
|
|
Select Case button.Name
|
|
|
|
Case "btnVollmachten"
|
|
|
|
If cbVMTypen._value = "" Then
|
|
lblWarning.Text = "Vollmachttyp auswählen"
|
|
Return valid
|
|
End If
|
|
|
|
If UsrCntlKundenZollVollmachten1.txtGueltigVon.Text = "" Then
|
|
lblWarning.Text = "Gültig von-Datum hinterlegen!"
|
|
Return valid
|
|
End If
|
|
|
|
|
|
Case Else
|
|
End Select
|
|
|
|
|
|
lblWarning.Text = ""
|
|
valid = True
|
|
Return valid
|
|
|
|
End Function
|
|
|
|
Private Sub frmAvisoFormularAnfuegen_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
|
KdSearchBox.Focus()
|
|
Label1.Visible = cAllgemein.TESTSYSTEM
|
|
If button.Name = "btnVollmachten" Then
|
|
lblVMId.Visible = True
|
|
cbVMTypen.Visible = True
|
|
Else
|
|
lblVMId.Visible = False
|
|
cbVMTypen.Visible = False
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub pnlDetails_ControlAdded(sender As Object, e As ControlEventArgs)
|
|
For Each control As Control In Controls
|
|
pnlDetails.Size = control.Size
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub dgvAnhaenge_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvAnhaenge.CellDoubleClick, dgvAnhaenge.CellContentDoubleClick
|
|
Try
|
|
If dgvAnhaenge.SelectedRows.Count > 0 Then
|
|
If dgvAnhaenge.SelectedRows(0).Cells(1).Value <> "" Then
|
|
|
|
Process.Start(dgvAnhaenge.SelectedRows(0).Cells(1).Value)
|
|
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
End Sub
|
|
End Class |