This commit is contained in:
2023-04-12 16:58:16 +02:00
parent 2dab8149c3
commit 79c4e4e37c
6 changed files with 547 additions and 272 deletions

View File

@@ -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
@@ -74,14 +74,8 @@ Public Class VERAGRibbon
End Sub
Sub Button3_Click(sender As Object, e As RibbonControlEventArgs) Handles Button3.Click
If LOGIN_OK Then AVISO_Mail_Functions.addMailToAviso_Hauptfenster()
End Sub
Private Sub btnVM_Click(sender As Object, e As RibbonControlEventArgs) Handles btnVM.Click
If LOGIN_OK Then AVISO_Mail_Functions.addMailToAviso_Hauptfenster(True)
Sub Button3_Click(sender As Object, e As RibbonControlEventArgs) Handles btnAvisoMail.Click, btnVollmachten.Click, btnGestellungsgarantien.Click, btnVertraege.Click
If LOGIN_OK Then AVISO_Mail_Functions.addMailToAviso_Hauptfenster(sender)
End Sub
Public Function testConnection() As Boolean
@@ -101,7 +95,7 @@ End Class
Public Class AVISO_Mail_Functions
Shared Sub addMailToAviso_Hauptfenster(Optional isFormular As Boolean = False)
Shared Sub addMailToAviso_Hauptfenster(sender As Object)
Try
Dim explorer As Outlook.Explorer = Globals.ThisAddIn.Application.ActiveExplorer
Dim selection As Outlook.Selection = explorer.Selection
@@ -115,9 +109,9 @@ Public Class AVISO_Mail_Functions
Dim mailItem As Outlook.MailItem = selectedItem
mailItem = DirectCast(mailItem, Outlook.MailItem)
addMailToAviso(mailItem, isFormular)
addMailToAviso(mailItem, sender)
Else
MsgBox("Die markierte Email kann nicht verarbeitet werden!" & vbNewLine & "Bitte andere Mail verwenden.")
MsgBox("Die markierte Email kann nicht verarbeitet werden!" & vbNewLine & "Bitte andere Email verwenden.")
End If
End If
@@ -136,7 +130,7 @@ Public Class AVISO_Mail_Functions
Return att
End Function
Shared Sub addMailToAviso(mailItem As Outlook.MailItem, Optional isFormular As Boolean = False)
Shared Sub addMailToAviso(mailItem As Outlook.MailItem, sender As Object)
Try
If mailItem IsNot Nothing Then
' Remove special characters from the file name and make sure it is not longer than 100 characters
@@ -160,11 +154,8 @@ Public Class AVISO_Mail_Functions
End If
Dim Bezeichnung = strFileName
Dim AvisoId = Nothing
If isFormular Then
AvisoId = getAvisoFormularId(Bezeichnung, pdf_mail, Art, ATTACHMENTS_LIST, kdNr) ')getAttachmentStringList(mailItem))
Else
AvisoId = getAvisoId(Bezeichnung, pdf_mail, SendungsId, Art, ATTACHMENTS_LIST) ')getAttachmentStringList(mailItem))
End If
AvisoId = getAvisoId(Bezeichnung, pdf_mail, SendungsId, Art, ATTACHMENTS_LIST, kdNr, sender) '
If AvisoId < 0 Then Exit Sub
@@ -176,10 +167,12 @@ Public Class AVISO_Mail_Functions
saveMail(mailItem, AvisoId, Bezeichnung,, SendungsId, Art)
saveAttachment(ATTACHMENTS_LIST, AvisoId, SendungsId, Art, BezAnhang)
ElseIf pdf_mail = "PDF_DATENSERVER" Then
saveMailOnDatenserver(mailItem, AvisoId, Bezeichnung,, kdNr)
saveAttachmentOnDatenserver(ATTACHMENTS_LIST, AvisoId, BezAnhang, kdNr)
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)
ElseIf pdf_mail = "ONLYMAIL_DATENSERVER" Then
saveMailOnDatenserver(mailItem, AvisoId, Bezeichnung,, kdNr)
saveMailOnDatenserver(mailItem, AvisoId, Bezeichnung, sender, , kdNr)
Else 'ONLYMAIL
saveMail(mailItem, AvisoId, Bezeichnung,, SendungsId, Art)
End If
@@ -425,7 +418,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 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)
Try
If AvisoId > 0 Then
If ATTACHMENTS_LIST.Count > 1 Then BezeichnungAnh = "" ' nur wenn 1 Anhang wird die Bezeichnung übernommen.
@@ -434,16 +427,7 @@ Public Class AVISO_Mail_Functions
Dim Bezeichnung = BezeichnungAnh
If Bezeichnung = "" Then Bezeichnung = fi.Name
Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "VOLLMACHTEN", "VMID_" & AvisoId, "", "", Bezeichnung, kdNr)
Dim path = DS.uploadDataToDATENSERVER(fi.FullName)
If path Then
Dim c As New cKundenVollmachten(AvisoId)
c.kdvm_datenarchivId = DS.da_id
c.SAVE()
End If
uploadAttachments(sender, AvisoId, fi.FullName, Bezeichnung, kdNr)
Next
End If
@@ -647,7 +631,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 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)
Try
If AvisoId > 0 Then
@@ -657,14 +641,8 @@ Public Class AVISO_Mail_Functions
mailItem.SaveAs(strTmpPath, Outlook.OlSaveAsType.olMSG)
Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "VOLLMACHTEN", "VMID_" & AvisoId, "", "", bezeichnung, kdNr)
Dim path = DS.uploadDataToDATENSERVER(strTmpPath)
If path Then
Dim c As New cKundenVollmachten(AvisoId)
c.kdvm_emailId = DS.da_id
c.SAVE()
End If
uploadAttachments(sender, AvisoId, strTmpPath, bezeichnung, kdNr)
' Clean up the temporary .MSG file from the user's temporary folder
System.IO.File.Delete(strTmpPath)
@@ -679,45 +657,98 @@ Public Class AVISO_Mail_Functions
End Sub
Shared Function getAvisoId(ByRef Bezeichnung, ByRef pdf_mail, ByRef SendungsId, ByRef Art, ByRef Att) As Integer
Shared Function getAvisoId(ByRef Bezeichnung, ByRef pdf_mail, ByRef SendungsId, ByRef Art, ByRef Att, ByRef kdNr, ByVal sender) As Integer
Dim frmAvisoAnfügen As New frmAvisoAnfuegen(Bezeichnung)
frmAvisoAnfügen.ATT = Att
If frmAvisoAnfügen.ShowDialog = DialogResult.OK Then
Dim AvisoId = frmAvisoAnfügen.AvisoId
SendungsId = frmAvisoAnfügen.SendungsId
Bezeichnung = frmAvisoAnfügen.Bezeichnung
pdf_mail = frmAvisoAnfügen.PDF_MAIL
Art = frmAvisoAnfügen.cboArt._value
Att = frmAvisoAnfügen.ATT
Select Case sender.name
Case "btnAvisoMail", "btnAvisoMail2"
Dim frmAvisoAnfügen As New frmAvisoAnfuegen(Bezeichnung)
frmAvisoAnfügen.ATT = Att
If frmAvisoAnfügen.ShowDialog = DialogResult.OK Then
Dim AvisoId = frmAvisoAnfügen.AvisoId
SendungsId = frmAvisoAnfügen.SendungsId
Bezeichnung = frmAvisoAnfügen.Bezeichnung
pdf_mail = frmAvisoAnfügen.PDF_MAIL
Art = frmAvisoAnfügen.cboArt._value
Att = frmAvisoAnfügen.ATT
Return AvisoId
End If
Return -1
Case Else
Dim frmAvisoFormularAnfuegen As New frmAvisoFormularAnfuegen(Bezeichnung, sender)
frmAvisoFormularAnfuegen.ATT = Att
If frmAvisoFormularAnfuegen.ShowDialog = DialogResult.OK Then
Dim AvisoId = frmAvisoFormularAnfuegen.AvisoId
kdNr = frmAvisoFormularAnfuegen.KdNr
Bezeichnung = frmAvisoFormularAnfuegen.Bezeichnung
pdf_mail = frmAvisoFormularAnfuegen.PDF_MAIL
Att = frmAvisoFormularAnfuegen.ATT
Return AvisoId
End If
Return -1
End Select
Return AvisoId
End If
Return -1
End Function
Shared Function getAvisoFormularId(ByRef Bezeichnung, ByRef pdf_mail, ByRef Art, ByRef Att, ByRef kdNr) As Integer
Dim frmAvisoFormularAnfuegen As New frmAvisoFormularAnfuegen(Bezeichnung)
frmAvisoFormularAnfuegen.ATT = Att
If frmAvisoFormularAnfuegen.ShowDialog = DialogResult.OK Then
Dim AvisoId = frmAvisoFormularAnfuegen.vollmachtId
kdNr = frmAvisoFormularAnfuegen.KdNr
Bezeichnung = frmAvisoFormularAnfuegen.Bezeichnung
pdf_mail = frmAvisoFormularAnfuegen.PDF_MAIL
Att = frmAvisoFormularAnfuegen.ATT
Return AvisoId
Shared Sub uploadAttachments(sender As Object, AvisoId As Integer, strTmpPath As String, Optional bezeichnung As String = "", Optional kdNr As Integer = -1)
If sender Is Nothing Then
Exit Sub
End If
Return -1
End Function
Dim button = sender
Select Case button.Name
Case "btnVollmachten"
Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "VOLLMACHTEN", "VMID_" & AvisoId, "", "", bezeichnung, kdNr)
Dim path = DS.uploadDataToDATENSERVER(strTmpPath)
If path Then
Dim c As New cKundenVollmachten(AvisoId)
If bezeichnung.EndsWith(".pdf") Then
c.kdvm_datenarchivId = DS.da_id
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)
If path Then
Dim KV As New VERAG_PROG_ALLGEMEIN.cKundenVertraege(AvisoId)
KV.kv_datenarchivId = DS.da_id
KV.SAVE()
End If
Case "btnGestellungsgarantien"
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)
If path Then
gg.gg_datenarchivId = DS.da_id
gg.SAVE()
End If
End Select
End Sub
End Class