From 0b6e7f513be8b2b91e042aeed43968dc922a539f Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 18 Apr 2023 15:54:58 +0200 Subject: [PATCH] =?UTF-8?q?AddInn=20erweitert=20(Hibzuf=C3=BCgeb=20von=20V?= =?UTF-8?q?ertr=C3=A4ge=20und=20Gestellungsgarantien).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERAGAddIn/frmAvisoFormularAnfügen.vb | 99 +++++++++++++++++++-------- VERAGAddIn/rbnMailItem.Designer.vb | 12 ++-- VERAGAddIn/rbnVERAG.vb | 25 +++---- 3 files changed, 88 insertions(+), 48 deletions(-) diff --git a/VERAGAddIn/frmAvisoFormularAnfügen.vb b/VERAGAddIn/frmAvisoFormularAnfügen.vb index c741b6b..5ad5727 100644 --- a/VERAGAddIn/frmAvisoFormularAnfügen.vb +++ b/VERAGAddIn/frmAvisoFormularAnfügen.vb @@ -19,6 +19,8 @@ Public Class frmAvisoFormularAnfuegen 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 @@ -27,6 +29,7 @@ Public Class frmAvisoFormularAnfuegen 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 @@ -72,7 +75,6 @@ Public Class frmAvisoFormularAnfuegen UsrCntlGestellungsgarantien1 = New usrcntlGestellungsgarantien() AddHandler UsrCntlGestellungsgarantien1.clickOK, AddressOf btnOK_Click Me.Text = "Gestellungsgarantien einfügen" - 'UsrCntlGestellungsgarantien1.AutoSize = False Me.pnlDetails.Controls.Add(UsrCntlGestellungsgarantien1) @@ -101,7 +103,7 @@ Public Class frmAvisoFormularAnfuegen KdNr = KdSearchBox.KdNr_value Dim AD = KdSearchBox.KdData_ADRESSEN Dim KD = KdSearchBox.KdData_KUNDE - + init() End If End Sub @@ -123,7 +125,7 @@ Public Class frmAvisoFormularAnfuegen UsrCntlGestellungsgarantien1.initDGVGestGarantie(KdNr) End Select - + Show() End If End Sub @@ -156,30 +158,54 @@ Public Class frmAvisoFormularAnfuegen End If End Sub - Dim test As usrcntlGestellungsgarantien.clickOKEventHandler() - Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click + 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 denoch als Anhang gespeichert werden?", vbYesNoCancel) 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) - Dim i = 0 - If dgvAnhaenge.SelectedCells.Count > 0 Then i = dgvAnhaenge.SelectedCells.Item(0).RowIndex - If i > 0 Then - - AddAttachmentOnLastIndex(ATT, i) - + End If + End If End If + + If Not checkMandatoryFields() Then DialogResult = DialogResult.None Exit Sub @@ -199,7 +225,6 @@ Public Class frmAvisoFormularAnfuegen If sender.Text = "Hinzufügen" Then setAvisoIdForVertrage() - Me.DialogResult = DialogResult.OK ElseIf UsrCntlVertraege1.dgvVertraege.SelectedRows.Count = 1 Then @@ -207,8 +232,15 @@ Public Class frmAvisoFormularAnfuegen If row.Cells("kv_datenarchivId").Value IsNot DBNull.Value Then setAvisoIdForVertrage() Else - If vbYes = MsgBox("Der markierte Vertrag besitzt bereit einen Anhang!" & vbCrLf & "Soll der Anhang ersetzt werden?", vbYesNoCancel) Then + 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 @@ -234,12 +266,18 @@ Public Class frmAvisoFormularAnfuegen For Each row As DataGridViewRow In UsrCntlGestellungsgarantien1.dgvGestGarantie.SelectedRows - If row.Cells("gg_datenarchivId").Value Is DBNull.Value Then - 'Or CInt(row.Cells("gg_datenarchivId").Value) < 0 + If row.Cells("gg_datenarchivId").Value IsNot DBNull.Value Then setAvisoIdForGestellungen() Else - If vbYes = MsgBox("Die markierte Gestellungsgarantie besitzt bereit einen Anhang!" & vbCrLf & "Soll der Anhang ersetzt werden?", vbYesNoCancel) Then + 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 @@ -273,17 +311,17 @@ Public Class frmAvisoFormularAnfuegen 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 AddAttachmentOnLastIndex(ByRef a As List(Of String), tmpIndex As Integer) + 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) - list = a - Dim selectedItem As Object = list.Item(tmpIndex) + Dim selectedItem As Object = a.Item(tmpIndex) list.Add(selectedItem) - list.RemoveAt(tmpIndex) 'immer die letzte PDF-DatenarchivID wird als PDF-Verknüpfung angezeigt!!!!! - a = list End If End Sub @@ -312,14 +350,15 @@ Public Class frmAvisoFormularAnfuegen 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}) - Next - End If + Dim display = a + If a.Contains("\") Then + Dim sp = a.Split("\") + display = sp(sp.Count - 1) + End If + dgvAnhaenge.Rows.Add({display}) + Next + ATTTemp = ATT + End If Dim addHeightfrm = 180 Dim addHeightdgv = 50 diff --git a/VERAGAddIn/rbnMailItem.Designer.vb b/VERAGAddIn/rbnMailItem.Designer.vb index 06d8465..fc0836f 100644 --- a/VERAGAddIn/rbnMailItem.Designer.vb +++ b/VERAGAddIn/rbnMailItem.Designer.vb @@ -44,11 +44,11 @@ Me.components = New System.ComponentModel.Container() Me.Tab1 = Me.Factory.CreateRibbonTab Me.Group1 = Me.Factory.CreateRibbonGroup - Me.NotifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components) Me.Button1 = Me.Factory.CreateRibbonButton Me.btnAvisoMail2 = Me.Factory.CreateRibbonButton Me.btnInfo = Me.Factory.CreateRibbonButton Me.btnUnsichtbar = Me.Factory.CreateRibbonButton + Me.NotifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components) Me.Tab1.SuspendLayout() Me.Group1.SuspendLayout() Me.SuspendLayout() @@ -69,11 +69,6 @@ Me.Group1.Label = "AVISO" Me.Group1.Name = "Group1" ' - 'NotifyIcon1 - ' - Me.NotifyIcon1.Text = "NotifyIcon1" - Me.NotifyIcon1.Visible = True - ' 'Button1 ' Me.Button1.ControlSize = Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge @@ -101,6 +96,11 @@ Me.btnUnsichtbar.Name = "btnUnsichtbar" Me.btnUnsichtbar.Visible = False ' + 'NotifyIcon1 + ' + Me.NotifyIcon1.Text = "NotifyIcon1" + Me.NotifyIcon1.Visible = True + ' 'rbnMailItem ' Me.Name = "rbnMailItem" diff --git a/VERAGAddIn/rbnVERAG.vb b/VERAGAddIn/rbnVERAG.vb index 931e04b..4b40ca9 100644 --- a/VERAGAddIn/rbnVERAG.vb +++ b/VERAGAddIn/rbnVERAG.vb @@ -35,7 +35,7 @@ Public Class VERAGRibbon Private Sub Ribbon1_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load - cAllgemein.TESTSYSTEM = False + cAllgemein.TESTSYSTEM = True LOGIN_OK = AVISO_Mail_Functions.initFirmaUser() End Sub @@ -144,6 +144,7 @@ Public Class AVISO_Mail_Functions Dim SendungsId = -1 Dim Art = "" Dim kdNr = -1 + Dim enableOverwritting = False Dim ATTACHMENTS_LIST As New List(Of String) loadAttachment(mailItem, ATTACHMENTS_LIST) @@ -155,7 +156,7 @@ Public Class AVISO_Mail_Functions Dim Bezeichnung = strFileName Dim AvisoId = Nothing - AvisoId = getAvisoId(Bezeichnung, pdf_mail, SendungsId, Art, ATTACHMENTS_LIST, kdNr, sender) ' + AvisoId = getAvisoId(Bezeichnung, pdf_mail, SendungsId, Art, ATTACHMENTS_LIST, kdNr, sender, enableOverwritting) ' If AvisoId < 0 Then Exit Sub @@ -170,7 +171,7 @@ Public Class AVISO_Mail_Functions saveMailOnDatenserver(mailItem, AvisoId, Bezeichnung, sender,, kdNr) saveAttachmentOnDatenserver(ATTACHMENTS_LIST, AvisoId, BezAnhang, sender, kdNr) ElseIf pdf_mail = "ONLYPDF_DATENSERVER" Then - saveAttachmentOnDatenserver(ATTACHMENTS_LIST, AvisoId, BezAnhang, sender, kdNr) + saveAttachmentOnDatenserver(ATTACHMENTS_LIST, AvisoId, BezAnhang, sender, kdNr, enableOverwritting) ElseIf pdf_mail = "ONLYMAIL_DATENSERVER" Then saveMailOnDatenserver(mailItem, AvisoId, Bezeichnung, sender, , kdNr) Else 'ONLYMAIL @@ -418,7 +419,7 @@ Public Class AVISO_Mail_Functions End Try End Sub - Shared Sub saveAttachmentOnDatenserver(ByRef ATTACHMENTS_LIST As List(Of String), AvisoId As Integer, BezeichnungAnh As String, Optional sender As Object = Nothing, Optional kdNr As Integer = -1) + Shared Sub saveAttachmentOnDatenserver(ByRef ATTACHMENTS_LIST As List(Of String), AvisoId As Integer, BezeichnungAnh As String, Optional sender As Object = Nothing, Optional kdNr As Integer = -1, Optional enableOverwritting As Boolean = False) Try If AvisoId > 0 Then If ATTACHMENTS_LIST.Count > 1 Then BezeichnungAnh = "" ' nur wenn 1 Anhang wird die Bezeichnung übernommen. @@ -427,7 +428,7 @@ Public Class AVISO_Mail_Functions Dim Bezeichnung = BezeichnungAnh If Bezeichnung = "" Then Bezeichnung = fi.Name - uploadAttachments(sender, AvisoId, fi.FullName, Bezeichnung, kdNr) + uploadAttachments(sender, AvisoId, fi.FullName, Bezeichnung, kdNr, enableOverwritting) Next End If @@ -631,7 +632,7 @@ Public Class AVISO_Mail_Functions End Try End Sub - Shared Sub saveMailOnDatenserver(mailItem As Outlook.MailItem, AvisoId As Integer, Optional bezeichnung As String = "", Optional sender As Object = Nothing, Optional saveAttachments As Boolean = True, Optional kdNr As Integer = -1) + Shared Sub saveMailOnDatenserver(mailItem As Outlook.MailItem, AvisoId As Integer, Optional bezeichnung As String = "", Optional sender As Object = Nothing, Optional saveAttachments As Boolean = True, Optional kdNr As Integer = -1, Optional enableOverwritting As Boolean = False) Try If AvisoId > 0 Then @@ -642,7 +643,7 @@ Public Class AVISO_Mail_Functions mailItem.SaveAs(strTmpPath, Outlook.OlSaveAsType.olMSG) - uploadAttachments(sender, AvisoId, strTmpPath, bezeichnung, kdNr) + uploadAttachments(sender, AvisoId, strTmpPath, bezeichnung, kdNr, enableOverwritting) ' Clean up the temporary .MSG file from the user's temporary folder System.IO.File.Delete(strTmpPath) @@ -657,7 +658,7 @@ Public Class AVISO_Mail_Functions End Sub - Shared Function getAvisoId(ByRef Bezeichnung, ByRef pdf_mail, ByRef SendungsId, ByRef Art, ByRef Att, ByRef kdNr, ByVal sender) As Integer + Shared Function getAvisoId(ByRef Bezeichnung, ByRef pdf_mail, ByRef SendungsId, ByRef Art, ByRef Att, ByRef kdNr, ByVal sender, ByRef enableOverwritting) As Integer Select Case sender.name @@ -686,6 +687,7 @@ Public Class AVISO_Mail_Functions Bezeichnung = frmAvisoFormularAnfuegen.Bezeichnung pdf_mail = frmAvisoFormularAnfuegen.PDF_MAIL Att = frmAvisoFormularAnfuegen.ATT + enableOverwritting = frmAvisoFormularAnfuegen.enableOverwritting Return AvisoId @@ -700,7 +702,7 @@ Public Class AVISO_Mail_Functions - Shared Sub uploadAttachments(sender As Object, AvisoId As Integer, strTmpPath As String, Optional bezeichnung As String = "", Optional kdNr As Integer = -1) + Shared Sub uploadAttachments(sender As Object, AvisoId As Integer, strTmpPath As String, Optional bezeichnung As String = "", Optional kdNr As Integer = -1, Optional enableOverweriting As Boolean = False) If sender Is Nothing Then Exit Sub @@ -721,14 +723,13 @@ Public Class AVISO_Mail_Functions Else c.kdvm_emailId = DS.da_id End If - c.SAVE() End If Case "btnVertraege" Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "KD_VERTRÄGE", "", "", "", "KV_" & AvisoId, kdNr) - Dim path = DS.uploadDataToDATENSERVER(strTmpPath) + Dim path = DS.uploadDataToDATENSERVER(strTmpPath,,,,,, enableOverweriting) If path Then Dim KV As New VERAG_PROG_ALLGEMEIN.cKundenVertraege(AvisoId) KV.kv_datenarchivId = DS.da_id @@ -740,7 +741,7 @@ Public Class AVISO_Mail_Functions Dim gg As New VERAG_PROG_ALLGEMEIN.cGestellungsgarantien(AvisoId) Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "GESTELLUNGS_GARANTIEN", "", "", "", "GG_" & gg.gg_Zollamt, kdNr) - Dim path = DS.uploadDataToDATENSERVER(strTmpPath) + Dim path = DS.uploadDataToDATENSERVER(strTmpPath,,,,,, enableOverweriting) If path Then gg.gg_datenarchivId = DS.da_id gg.SAVE()