From 69f4462c082d4c15d6156f146752a3aef9d3c956 Mon Sep 17 00:00:00 2001 From: "m.ilhan" Date: Wed, 18 Mar 2026 11:24:58 +0100 Subject: [PATCH] Update Vermerke + Dokumente link --- Aviso/App.config | 71 +- Aviso/My Project/AssemblyInfo.vb | 4 +- Aviso/frmAddSendungsvermerkShort.Designer.vb | 476 +++---- Aviso/frmAddSendungsvermerkShort.vb | 1170 +++++++++++++++++- Aviso/usrcntlAktDetails.Designer.vb | 152 +-- Aviso/usrcntlAktDetails.vb | 472 ++----- 6 files changed, 1541 insertions(+), 804 deletions(-) diff --git a/Aviso/App.config b/Aviso/App.config index 68d6328..96c7394 100644 --- a/Aviso/App.config +++ b/Aviso/App.config @@ -1,30 +1,35 @@ - + - - -
- - - - - - - - - - - - - 600, 800 - - - 200, 200 - - - - - - + + +
+ + + + + + + + + + + + + + + + + + 600, 800 + + + 200, 200 + + + + + + @@ -93,4 +98,16 @@ - + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aviso/My Project/AssemblyInfo.vb b/Aviso/My Project/AssemblyInfo.vb index 2cdda1e..b58c535 100644 --- a/Aviso/My Project/AssemblyInfo.vb +++ b/Aviso/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/Aviso/frmAddSendungsvermerkShort.Designer.vb b/Aviso/frmAddSendungsvermerkShort.Designer.vb index aa3655d..ee37b78 100644 --- a/Aviso/frmAddSendungsvermerkShort.Designer.vb +++ b/Aviso/frmAddSendungsvermerkShort.Designer.vb @@ -1,4 +1,4 @@ - + Partial Class frmAddSendungsvermerkShort Inherits System.Windows.Forms.Form @@ -27,21 +27,11 @@ Partial Class frmAddSendungsvermerkShort Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.pnlMain = New System.Windows.Forms.Panel() Me.pnlSendungsVermker = New System.Windows.Forms.Panel() - Me.optDraft = New System.Windows.Forms.CheckBox() - Me.optGewPackAngefordert = New System.Windows.Forms.CheckBox() - Me.optKostenbestaetigungAngefordert = New System.Windows.Forms.CheckBox() - Me.optZolltarifnummerAngefordert = New System.Windows.Forms.CheckBox() + Me.Label5 = New System.Windows.Forms.Label() Me.txtSonstigesDokumentFehlt = New System.Windows.Forms.TextBox() - Me.cbxPackliste = New System.Windows.Forms.CheckBox() Me.Label4 = New System.Windows.Forms.Label() Me.optFremd_ATB = New System.Windows.Forms.CheckBox() Me.optFremd_SendungAvisiert = New System.Windows.Forms.CheckBox() - Me.optFahrerKeinATR = New System.Windows.Forms.CheckBox() - Me.optFrachtkostenAngefordert = New System.Windows.Forms.CheckBox() - Me.optKundeNichtErreichbar = New System.Windows.Forms.CheckBox() - Me.optAbsenderbestätigung = New System.Windows.Forms.CheckBox() - Me.cbxRgBest = New System.Windows.Forms.CheckBox() - Me.optUeberwachungsdok = New System.Windows.Forms.CheckBox() Me.lblErrSpedition = New System.Windows.Forms.Label() Me.Label2 = New System.Windows.Forms.Label() Me.lblErrGrund = New System.Windows.Forms.Label() @@ -53,32 +43,36 @@ Partial Class frmAddSendungsvermerkShort Me.optSpeditionWeitergeleitet = New System.Windows.Forms.CheckBox() Me.optFreierText = New System.Windows.Forms.CheckBox() Me.optATAangefordert = New System.Windows.Forms.CheckBox() - Me.optVorkasseAngefordert = New System.Windows.Forms.CheckBox() - Me.optKontaktdatenAngefordert = New System.Windows.Forms.CheckBox() Me.Label3 = New System.Windows.Forms.Label() Me.lblErr240Zeichen = New System.Windows.Forms.Label() Me.txtDetail = New System.Windows.Forms.TextBox() + Me.btnCustomerUploadLink = New System.Windows.Forms.Button() + Me.btnCustomerUploadEmail = New System.Windows.Forms.Button() + Me.txtCustomerUploadEmail = New System.Windows.Forms.TextBox() + Me.lblCustomerUploadEmail = New System.Windows.Forms.Label() + Me.lblCustomerUploadValidityHours = New System.Windows.Forms.Label() + Me.nudCustomerUploadValidityHours = New System.Windows.Forms.NumericUpDown() + Me.cmbCustomerUploadLanguage = New System.Windows.Forms.ComboBox() + Me.lblCustomerUploadLanguage = New System.Windows.Forms.Label() + Me.txtCustomerUploadEmailText = New System.Windows.Forms.TextBox() + Me.lblCustomerUploadEmailText = New System.Windows.Forms.Label() + Me.pnlCustomerUploadSeparator = New System.Windows.Forms.Panel() Me.lblZustzlFreitext = New System.Windows.Forms.Label() Me.txtSendungSpedition = New System.Windows.Forms.TextBox() Me.cbxNichtLeserlich = New System.Windows.Forms.CheckBox() Me.btnOK = New System.Windows.Forms.Button() Me.cbxSonstDok = New System.Windows.Forms.CheckBox() Me.Label9 = New System.Windows.Forms.Label() - Me.cbxVollmacht = New System.Windows.Forms.CheckBox() - Me.cbxCMR = New System.Windows.Forms.CheckBox() Me.Label17 = New System.Windows.Forms.Label() Me.Label13 = New System.Windows.Forms.Label() - Me.cbxATR = New System.Windows.Forms.CheckBox() - Me.cbxLS = New System.Windows.Forms.CheckBox() Me.txtFreierText = New System.Windows.Forms.TextBox() - Me.cbxRechnung = New System.Windows.Forms.CheckBox() Me.Label20 = New System.Windows.Forms.Label() - Me.cbxAuftrag = New System.Windows.Forms.CheckBox() Me.PictureBox1 = New System.Windows.Forms.PictureBox() Me.PictureBox4 = New System.Windows.Forms.PictureBox() Me.Panel4 = New System.Windows.Forms.Panel() Me.pnlMain.SuspendLayout() Me.pnlSendungsVermker.SuspendLayout() + CType(Me.nudCustomerUploadValidityHours, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox4, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() @@ -95,28 +89,18 @@ Partial Class frmAddSendungsvermerkShort Me.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill Me.pnlMain.Location = New System.Drawing.Point(0, 0) Me.pnlMain.Name = "pnlMain" - Me.pnlMain.Size = New System.Drawing.Size(454, 605) + Me.pnlMain.Size = New System.Drawing.Size(474, 868) Me.pnlMain.TabIndex = 0 ' 'pnlSendungsVermker ' Me.pnlSendungsVermker.BackColor = System.Drawing.Color.White Me.pnlSendungsVermker.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.pnlSendungsVermker.Controls.Add(Me.optDraft) - Me.pnlSendungsVermker.Controls.Add(Me.optGewPackAngefordert) - Me.pnlSendungsVermker.Controls.Add(Me.optKostenbestaetigungAngefordert) - Me.pnlSendungsVermker.Controls.Add(Me.optZolltarifnummerAngefordert) + Me.pnlSendungsVermker.Controls.Add(Me.Label5) Me.pnlSendungsVermker.Controls.Add(Me.txtSonstigesDokumentFehlt) - Me.pnlSendungsVermker.Controls.Add(Me.cbxPackliste) Me.pnlSendungsVermker.Controls.Add(Me.Label4) Me.pnlSendungsVermker.Controls.Add(Me.optFremd_ATB) Me.pnlSendungsVermker.Controls.Add(Me.optFremd_SendungAvisiert) - Me.pnlSendungsVermker.Controls.Add(Me.optFahrerKeinATR) - Me.pnlSendungsVermker.Controls.Add(Me.optFrachtkostenAngefordert) - Me.pnlSendungsVermker.Controls.Add(Me.optKundeNichtErreichbar) - Me.pnlSendungsVermker.Controls.Add(Me.optAbsenderbestätigung) - Me.pnlSendungsVermker.Controls.Add(Me.cbxRgBest) - Me.pnlSendungsVermker.Controls.Add(Me.optUeberwachungsdok) Me.pnlSendungsVermker.Controls.Add(Me.lblErrSpedition) Me.pnlSendungsVermker.Controls.Add(Me.Label2) Me.pnlSendungsVermker.Controls.Add(Me.lblErrGrund) @@ -128,102 +112,65 @@ Partial Class frmAddSendungsvermerkShort Me.pnlSendungsVermker.Controls.Add(Me.optSpeditionWeitergeleitet) Me.pnlSendungsVermker.Controls.Add(Me.optFreierText) Me.pnlSendungsVermker.Controls.Add(Me.optATAangefordert) - Me.pnlSendungsVermker.Controls.Add(Me.optVorkasseAngefordert) - Me.pnlSendungsVermker.Controls.Add(Me.optKontaktdatenAngefordert) Me.pnlSendungsVermker.Controls.Add(Me.Label3) Me.pnlSendungsVermker.Controls.Add(Me.lblErr240Zeichen) Me.pnlSendungsVermker.Controls.Add(Me.txtDetail) + Me.pnlSendungsVermker.Controls.Add(Me.btnCustomerUploadLink) + Me.pnlSendungsVermker.Controls.Add(Me.btnCustomerUploadEmail) + Me.pnlSendungsVermker.Controls.Add(Me.txtCustomerUploadEmail) + Me.pnlSendungsVermker.Controls.Add(Me.lblCustomerUploadEmail) + Me.pnlSendungsVermker.Controls.Add(Me.lblCustomerUploadValidityHours) + Me.pnlSendungsVermker.Controls.Add(Me.nudCustomerUploadValidityHours) + Me.pnlSendungsVermker.Controls.Add(Me.cmbCustomerUploadLanguage) + Me.pnlSendungsVermker.Controls.Add(Me.lblCustomerUploadLanguage) + Me.pnlSendungsVermker.Controls.Add(Me.txtCustomerUploadEmailText) + Me.pnlSendungsVermker.Controls.Add(Me.lblCustomerUploadEmailText) + Me.pnlSendungsVermker.Controls.Add(Me.pnlCustomerUploadSeparator) Me.pnlSendungsVermker.Controls.Add(Me.lblZustzlFreitext) Me.pnlSendungsVermker.Controls.Add(Me.txtSendungSpedition) Me.pnlSendungsVermker.Controls.Add(Me.cbxNichtLeserlich) Me.pnlSendungsVermker.Controls.Add(Me.btnOK) Me.pnlSendungsVermker.Controls.Add(Me.cbxSonstDok) Me.pnlSendungsVermker.Controls.Add(Me.Label9) - Me.pnlSendungsVermker.Controls.Add(Me.cbxVollmacht) - Me.pnlSendungsVermker.Controls.Add(Me.cbxCMR) Me.pnlSendungsVermker.Controls.Add(Me.Label17) Me.pnlSendungsVermker.Controls.Add(Me.Label13) - Me.pnlSendungsVermker.Controls.Add(Me.cbxATR) - Me.pnlSendungsVermker.Controls.Add(Me.cbxLS) Me.pnlSendungsVermker.Controls.Add(Me.txtFreierText) - Me.pnlSendungsVermker.Controls.Add(Me.cbxRechnung) Me.pnlSendungsVermker.Controls.Add(Me.Label20) - Me.pnlSendungsVermker.Controls.Add(Me.cbxAuftrag) Me.pnlSendungsVermker.Controls.Add(Me.PictureBox1) Me.pnlSendungsVermker.Controls.Add(Me.PictureBox4) Me.pnlSendungsVermker.Dock = System.Windows.Forms.DockStyle.Fill Me.pnlSendungsVermker.Location = New System.Drawing.Point(0, 0) Me.pnlSendungsVermker.Name = "pnlSendungsVermker" - Me.pnlSendungsVermker.Size = New System.Drawing.Size(454, 605) + Me.pnlSendungsVermker.Size = New System.Drawing.Size(474, 868) Me.pnlSendungsVermker.TabIndex = 0 ' - 'optDraft + 'Label5 ' - Me.optDraft.AutoSize = True - Me.optDraft.Location = New System.Drawing.Point(12, 262) - Me.optDraft.Name = "optDraft" - Me.optDraft.Size = New System.Drawing.Size(174, 17) - Me.optDraft.TabIndex = 102 - Me.optDraft.Text = "T1/T2 ""Draft"" OK - angefordert" - Me.optDraft.UseVisualStyleBackColor = True - ' - 'optGewPackAngefordert - ' - Me.optGewPackAngefordert.AutoSize = True - Me.optGewPackAngefordert.Location = New System.Drawing.Point(12, 236) - Me.optGewPackAngefordert.Name = "optGewPackAngefordert" - Me.optGewPackAngefordert.Size = New System.Drawing.Size(245, 17) - Me.optGewPackAngefordert.TabIndex = 101 - Me.optGewPackAngefordert.Text = "Gewicht/Packstücke mangelhaft - angefordert" - Me.optGewPackAngefordert.UseVisualStyleBackColor = True - ' - 'optKostenbestaetigungAngefordert - ' - Me.optKostenbestaetigungAngefordert.AutoSize = True - Me.optKostenbestaetigungAngefordert.Location = New System.Drawing.Point(270, 214) - Me.optKostenbestaetigungAngefordert.Name = "optKostenbestaetigungAngefordert" - Me.optKostenbestaetigungAngefordert.Size = New System.Drawing.Size(177, 17) - Me.optKostenbestaetigungAngefordert.TabIndex = 99 - Me.optKostenbestaetigungAngefordert.Text = "Kostenbestätigung - angefordert" - Me.optKostenbestaetigungAngefordert.UseVisualStyleBackColor = True - ' - 'optZolltarifnummerAngefordert - ' - Me.optZolltarifnummerAngefordert.AutoSize = True - Me.optZolltarifnummerAngefordert.Location = New System.Drawing.Point(12, 214) - Me.optZolltarifnummerAngefordert.Name = "optZolltarifnummerAngefordert" - Me.optZolltarifnummerAngefordert.Size = New System.Drawing.Size(154, 17) - Me.optZolltarifnummerAngefordert.TabIndex = 98 - Me.optZolltarifnummerAngefordert.Text = "Zolltarifnummer angefordert" - Me.optZolltarifnummerAngefordert.UseVisualStyleBackColor = True + Me.Label5.AutoSize = True + Me.Label5.BackColor = System.Drawing.Color.WhiteSmoke + Me.Label5.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label5.Location = New System.Drawing.Point(2, 642) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(202, 17) + Me.Label5.TabIndex = 118 + Me.Label5.Text = "Kundenportal Upload-Link:" ' 'txtSonstigesDokumentFehlt ' Me.txtSonstigesDokumentFehlt.BackColor = System.Drawing.Color.White Me.txtSonstigesDokumentFehlt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.txtSonstigesDokumentFehlt.Location = New System.Drawing.Point(94, 96) + Me.txtSonstigesDokumentFehlt.Location = New System.Drawing.Point(96, 214) Me.txtSonstigesDokumentFehlt.MaxLength = 80 Me.txtSonstigesDokumentFehlt.Name = "txtSonstigesDokumentFehlt" Me.txtSonstigesDokumentFehlt.Size = New System.Drawing.Size(198, 20) Me.txtSonstigesDokumentFehlt.TabIndex = 10 ' - 'cbxPackliste - ' - Me.cbxPackliste.AutoSize = True - Me.cbxPackliste.BackColor = System.Drawing.Color.WhiteSmoke - Me.cbxPackliste.Location = New System.Drawing.Point(308, 75) - Me.cbxPackliste.Name = "cbxPackliste" - Me.cbxPackliste.Size = New System.Drawing.Size(69, 17) - Me.cbxPackliste.TabIndex = 97 - Me.cbxPackliste.Text = "Packliste" - Me.cbxPackliste.UseVisualStyleBackColor = False - ' 'Label4 ' Me.Label4.AutoSize = True Me.Label4.BackColor = System.Drawing.Color.WhiteSmoke Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label4.Location = New System.Drawing.Point(11, 411) + Me.Label4.Location = New System.Drawing.Point(11, 563) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(125, 17) Me.Label4.TabIndex = 96 @@ -233,7 +180,7 @@ Partial Class frmAddSendungsvermerkShort ' Me.optFremd_ATB.AutoSize = True Me.optFremd_ATB.BackColor = System.Drawing.Color.WhiteSmoke - Me.optFremd_ATB.Location = New System.Drawing.Point(12, 458) + Me.optFremd_ATB.Location = New System.Drawing.Point(12, 610) Me.optFremd_ATB.Name = "optFremd_ATB" Me.optFremd_ATB.Size = New System.Drawing.Size(130, 17) Me.optFremd_ATB.TabIndex = 94 @@ -244,81 +191,19 @@ Partial Class frmAddSendungsvermerkShort ' Me.optFremd_SendungAvisiert.AutoSize = True Me.optFremd_SendungAvisiert.BackColor = System.Drawing.Color.WhiteSmoke - Me.optFremd_SendungAvisiert.Location = New System.Drawing.Point(12, 435) + Me.optFremd_SendungAvisiert.Location = New System.Drawing.Point(12, 587) Me.optFremd_SendungAvisiert.Name = "optFremd_SendungAvisiert" Me.optFremd_SendungAvisiert.Size = New System.Drawing.Size(193, 17) Me.optFremd_SendungAvisiert.TabIndex = 93 Me.optFremd_SendungAvisiert.Text = "Sendung an Fremdeinsteller avisiert" Me.optFremd_SendungAvisiert.UseVisualStyleBackColor = False ' - 'optFahrerKeinATR - ' - Me.optFahrerKeinATR.AutoSize = True - Me.optFahrerKeinATR.BackColor = System.Drawing.Color.WhiteSmoke - Me.optFahrerKeinATR.Location = New System.Drawing.Point(308, 52) - Me.optFahrerKeinATR.Name = "optFahrerKeinATR" - Me.optFahrerKeinATR.Size = New System.Drawing.Size(125, 17) - Me.optFahrerKeinATR.TabIndex = 92 - Me.optFahrerKeinATR.Text = "Fahrer hat kein A.TR" - Me.optFahrerKeinATR.UseVisualStyleBackColor = False - ' - 'optFrachtkostenAngefordert - ' - Me.optFrachtkostenAngefordert.AutoSize = True - Me.optFrachtkostenAngefordert.Location = New System.Drawing.Point(12, 162) - Me.optFrachtkostenAngefordert.Name = "optFrachtkostenAngefordert" - Me.optFrachtkostenAngefordert.Size = New System.Drawing.Size(145, 17) - Me.optFrachtkostenAngefordert.TabIndex = 91 - Me.optFrachtkostenAngefordert.Text = "Frachtkosten angefordert" - Me.optFrachtkostenAngefordert.UseVisualStyleBackColor = True - ' - 'optKundeNichtErreichbar - ' - Me.optKundeNichtErreichbar.AutoSize = True - Me.optKundeNichtErreichbar.Location = New System.Drawing.Point(270, 141) - Me.optKundeNichtErreichbar.Name = "optKundeNichtErreichbar" - Me.optKundeNichtErreichbar.Size = New System.Drawing.Size(133, 17) - Me.optKundeNichtErreichbar.TabIndex = 90 - Me.optKundeNichtErreichbar.Text = "Kunde nicht erreichbar" - Me.optKundeNichtErreichbar.UseVisualStyleBackColor = True - ' - 'optAbsenderbestätigung - ' - Me.optAbsenderbestätigung.AutoSize = True - Me.optAbsenderbestätigung.BackColor = System.Drawing.Color.WhiteSmoke - Me.optAbsenderbestätigung.Location = New System.Drawing.Point(308, 32) - Me.optAbsenderbestätigung.Name = "optAbsenderbestätigung" - Me.optAbsenderbestätigung.Size = New System.Drawing.Size(136, 17) - Me.optAbsenderbestätigung.TabIndex = 89 - Me.optAbsenderbestätigung.Text = "Absenderbestät. angef." - Me.optAbsenderbestätigung.UseVisualStyleBackColor = False - ' - 'cbxRgBest - ' - Me.cbxRgBest.AutoSize = True - Me.cbxRgBest.Location = New System.Drawing.Point(270, 185) - Me.cbxRgBest.Name = "cbxRgBest" - Me.cbxRgBest.Size = New System.Drawing.Size(146, 17) - Me.cbxRgBest.TabIndex = 86 - Me.cbxRgBest.Text = "Rechnungsbestät. angef." - Me.cbxRgBest.UseVisualStyleBackColor = True - ' - 'optUeberwachungsdok - ' - Me.optUeberwachungsdok.AutoSize = True - Me.optUeberwachungsdok.Location = New System.Drawing.Point(270, 163) - Me.optUeberwachungsdok.Name = "optUeberwachungsdok" - Me.optUeberwachungsdok.Size = New System.Drawing.Size(114, 17) - Me.optUeberwachungsdok.TabIndex = 85 - Me.optUeberwachungsdok.Text = "Ü-Dok. angefodert" - Me.optUeberwachungsdok.UseVisualStyleBackColor = True - ' 'lblErrSpedition ' Me.lblErrSpedition.AutoSize = True Me.lblErrSpedition.BackColor = System.Drawing.Color.WhiteSmoke Me.lblErrSpedition.ForeColor = System.Drawing.Color.Red - Me.lblErrSpedition.Location = New System.Drawing.Point(175, 316) + Me.lblErrSpedition.Location = New System.Drawing.Point(175, 468) Me.lblErrSpedition.Name = "lblErrSpedition" Me.lblErrSpedition.Size = New System.Drawing.Size(158, 13) Me.lblErrSpedition.TabIndex = 17 @@ -330,7 +215,7 @@ Partial Class frmAddSendungsvermerkShort Me.Label2.AutoSize = True Me.Label2.BackColor = System.Drawing.Color.WhiteSmoke Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!) - Me.Label2.Location = New System.Drawing.Point(175, 316) + Me.Label2.Location = New System.Drawing.Point(175, 468) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(57, 13) Me.Label2.TabIndex = 84 @@ -341,7 +226,7 @@ Partial Class frmAddSendungsvermerkShort Me.lblErrGrund.AutoSize = True Me.lblErrGrund.BackColor = System.Drawing.Color.WhiteSmoke Me.lblErrGrund.ForeColor = System.Drawing.Color.Red - Me.lblErrGrund.Location = New System.Drawing.Point(147, 385) + Me.lblErrGrund.Location = New System.Drawing.Point(147, 537) Me.lblErrGrund.Name = "lblErrGrund" Me.lblErrGrund.Size = New System.Drawing.Size(149, 13) Me.lblErrGrund.TabIndex = 26 @@ -357,7 +242,7 @@ Partial Class frmAddSendungsvermerkShort Me.btnCLose.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnCLose.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.btnCLose.ForeColor = System.Drawing.Color.White - Me.btnCLose.Location = New System.Drawing.Point(399, -1) + Me.btnCLose.Location = New System.Drawing.Point(419, -1) Me.btnCLose.Name = "btnCLose" Me.btnCLose.RightToLeft = System.Windows.Forms.RightToLeft.Yes Me.btnCLose.Size = New System.Drawing.Size(54, 20) @@ -370,7 +255,7 @@ Partial Class frmAddSendungsvermerkShort Me.lblErrDokument.AutoSize = True Me.lblErrDokument.BackColor = System.Drawing.Color.WhiteSmoke Me.lblErrDokument.ForeColor = System.Drawing.Color.Red - Me.lblErrDokument.Location = New System.Drawing.Point(91, 115) + Me.lblErrDokument.Location = New System.Drawing.Point(93, 233) Me.lblErrDokument.Name = "lblErrDokument" Me.lblErrDokument.Size = New System.Drawing.Size(157, 13) Me.lblErrDokument.TabIndex = 11 @@ -392,7 +277,7 @@ Partial Class frmAddSendungsvermerkShort ' Me.txtSpedition.BackColor = System.Drawing.Color.WhiteSmoke Me.txtSpedition.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.txtSpedition.Location = New System.Drawing.Point(177, 332) + Me.txtSpedition.Location = New System.Drawing.Point(177, 484) Me.txtSpedition.MaxLength = 50 Me.txtSpedition.Name = "txtSpedition" Me.txtSpedition.Size = New System.Drawing.Size(125, 20) @@ -413,7 +298,7 @@ Partial Class frmAddSendungsvermerkShort ' Me.optSpeditionWeitergeleitet.AutoSize = True Me.optSpeditionWeitergeleitet.BackColor = System.Drawing.Color.WhiteSmoke - Me.optSpeditionWeitergeleitet.Location = New System.Drawing.Point(12, 334) + Me.optSpeditionWeitergeleitet.Location = New System.Drawing.Point(12, 486) Me.optSpeditionWeitergeleitet.Name = "optSpeditionWeitergeleitet" Me.optSpeditionWeitergeleitet.Size = New System.Drawing.Size(163, 17) Me.optSpeditionWeitergeleitet.TabIndex = 19 @@ -424,7 +309,7 @@ Partial Class frmAddSendungsvermerkShort ' Me.optFreierText.AutoSize = True Me.optFreierText.BackColor = System.Drawing.Color.WhiteSmoke - Me.optFreierText.Location = New System.Drawing.Point(12, 361) + Me.optFreierText.Location = New System.Drawing.Point(12, 513) Me.optFreierText.Name = "optFreierText" Me.optFreierText.Size = New System.Drawing.Size(105, 17) Me.optFreierText.TabIndex = 27 @@ -435,38 +320,18 @@ Partial Class frmAddSendungsvermerkShort ' Me.optATAangefordert.AutoSize = True Me.optATAangefordert.BackColor = System.Drawing.Color.WhiteSmoke - Me.optATAangefordert.Location = New System.Drawing.Point(164, 458) + Me.optATAangefordert.Location = New System.Drawing.Point(164, 610) Me.optATAangefordert.Name = "optATAangefordert" Me.optATAangefordert.Size = New System.Drawing.Size(208, 17) Me.optATAangefordert.TabIndex = 15 Me.optATAangefordert.Text = "ATA/ATC-Nr. angefordert (Fremdanm.)" Me.optATAangefordert.UseVisualStyleBackColor = False ' - 'optVorkasseAngefordert - ' - Me.optVorkasseAngefordert.AutoSize = True - Me.optVorkasseAngefordert.Location = New System.Drawing.Point(12, 184) - Me.optVorkasseAngefordert.Name = "optVorkasseAngefordert" - Me.optVorkasseAngefordert.Size = New System.Drawing.Size(144, 17) - Me.optVorkasseAngefordert.TabIndex = 14 - Me.optVorkasseAngefordert.Text = "Vorauskasse angefordert" - Me.optVorkasseAngefordert.UseVisualStyleBackColor = True - ' - 'optKontaktdatenAngefordert - ' - Me.optKontaktdatenAngefordert.AutoSize = True - Me.optKontaktdatenAngefordert.Location = New System.Drawing.Point(12, 141) - Me.optKontaktdatenAngefordert.Name = "optKontaktdatenAngefordert" - Me.optKontaktdatenAngefordert.Size = New System.Drawing.Size(212, 17) - Me.optKontaktdatenAngefordert.TabIndex = 12 - Me.optKontaktdatenAngefordert.Text = "Kontaktdaten (z.B.Tel-Nr.) - angefordert" - Me.optKontaktdatenAngefordert.UseVisualStyleBackColor = True - ' 'Label3 ' Me.Label3.AutoSize = True Me.Label3.BackColor = System.Drawing.Color.WhiteSmoke - Me.Label3.Location = New System.Drawing.Point(308, 335) + Me.Label3.Location = New System.Drawing.Point(308, 487) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(57, 13) Me.Label3.TabIndex = 22 @@ -476,7 +341,7 @@ Partial Class frmAddSendungsvermerkShort ' Me.lblErr240Zeichen.AutoSize = True Me.lblErr240Zeichen.ForeColor = System.Drawing.Color.Red - Me.lblErr240Zeichen.Location = New System.Drawing.Point(219, 496) + Me.lblErr240Zeichen.Location = New System.Drawing.Point(212, 785) Me.lblErr240Zeichen.Name = "lblErr240Zeichen" Me.lblErr240Zeichen.Size = New System.Drawing.Size(95, 13) Me.lblErr240Zeichen.TabIndex = 32 @@ -488,7 +353,7 @@ Partial Class frmAddSendungsvermerkShort Me.txtDetail.AcceptsReturn = True Me.txtDetail.BackColor = System.Drawing.Color.White Me.txtDetail.ForeColor = System.Drawing.SystemColors.InfoText - Me.txtDetail.Location = New System.Drawing.Point(12, 512) + Me.txtDetail.Location = New System.Drawing.Point(5, 801) Me.txtDetail.MaxLength = 240 Me.txtDetail.Multiline = True Me.txtDetail.Name = "txtDetail" @@ -498,10 +363,117 @@ Partial Class frmAddSendungsvermerkShort Me.txtDetail.TabStop = False Me.txtDetail.WordWrap = False ' + 'btnCustomerUploadLink + ' + Me.btnCustomerUploadLink.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnCustomerUploadLink.Location = New System.Drawing.Point(340, 668) + Me.btnCustomerUploadLink.Name = "btnCustomerUploadLink" + Me.btnCustomerUploadLink.Size = New System.Drawing.Size(124, 23) + Me.btnCustomerUploadLink.TabIndex = 108 + Me.btnCustomerUploadLink.Text = "Link kopieren" + Me.btnCustomerUploadLink.UseVisualStyleBackColor = True + ' + 'btnCustomerUploadEmail + ' + Me.btnCustomerUploadEmail.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnCustomerUploadEmail.Location = New System.Drawing.Point(340, 694) + Me.btnCustomerUploadEmail.Name = "btnCustomerUploadEmail" + Me.btnCustomerUploadEmail.Size = New System.Drawing.Size(124, 23) + Me.btnCustomerUploadEmail.TabIndex = 109 + Me.btnCustomerUploadEmail.Text = "E-Mail senden" + Me.btnCustomerUploadEmail.UseVisualStyleBackColor = True + ' + 'txtCustomerUploadEmail + ' + Me.txtCustomerUploadEmail.BackColor = System.Drawing.Color.White + Me.txtCustomerUploadEmail.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtCustomerUploadEmail.Location = New System.Drawing.Point(80, 696) + Me.txtCustomerUploadEmail.MaxLength = 255 + Me.txtCustomerUploadEmail.Name = "txtCustomerUploadEmail" + Me.txtCustomerUploadEmail.Size = New System.Drawing.Size(254, 20) + Me.txtCustomerUploadEmail.TabIndex = 107 + ' + 'lblCustomerUploadEmail + ' + Me.lblCustomerUploadEmail.AutoSize = True + Me.lblCustomerUploadEmail.Location = New System.Drawing.Point(2, 699) + Me.lblCustomerUploadEmail.Name = "lblCustomerUploadEmail" + Me.lblCustomerUploadEmail.Size = New System.Drawing.Size(54, 13) + Me.lblCustomerUploadEmail.TabIndex = 110 + Me.lblCustomerUploadEmail.Text = "E-Mail an:" + ' + 'lblCustomerUploadValidityHours + ' + Me.lblCustomerUploadValidityHours.AutoSize = True + Me.lblCustomerUploadValidityHours.Location = New System.Drawing.Point(176, 672) + Me.lblCustomerUploadValidityHours.Name = "lblCustomerUploadValidityHours" + Me.lblCustomerUploadValidityHours.Size = New System.Drawing.Size(66, 13) + Me.lblCustomerUploadValidityHours.TabIndex = 111 + Me.lblCustomerUploadValidityHours.Text = "Gültigkeit(h):" + ' + 'nudCustomerUploadValidityHours + ' + Me.nudCustomerUploadValidityHours.Location = New System.Drawing.Point(260, 670) + Me.nudCustomerUploadValidityHours.Maximum = New Decimal(New Integer() {168, 0, 0, 0}) + Me.nudCustomerUploadValidityHours.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.nudCustomerUploadValidityHours.Name = "nudCustomerUploadValidityHours" + Me.nudCustomerUploadValidityHours.Size = New System.Drawing.Size(74, 20) + Me.nudCustomerUploadValidityHours.TabIndex = 112 + Me.nudCustomerUploadValidityHours.Value = New Decimal(New Integer() {168, 0, 0, 0}) + ' + 'cmbCustomerUploadLanguage + ' + Me.cmbCustomerUploadLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.cmbCustomerUploadLanguage.FormattingEnabled = True + Me.cmbCustomerUploadLanguage.Items.AddRange(New Object() {"de", "en", "tr", "sr", "bg"}) + Me.cmbCustomerUploadLanguage.Location = New System.Drawing.Point(80, 670) + Me.cmbCustomerUploadLanguage.Name = "cmbCustomerUploadLanguage" + Me.cmbCustomerUploadLanguage.Size = New System.Drawing.Size(80, 21) + Me.cmbCustomerUploadLanguage.TabIndex = 116 + ' + 'lblCustomerUploadLanguage + ' + Me.lblCustomerUploadLanguage.AutoSize = True + Me.lblCustomerUploadLanguage.Location = New System.Drawing.Point(2, 673) + Me.lblCustomerUploadLanguage.Name = "lblCustomerUploadLanguage" + Me.lblCustomerUploadLanguage.Size = New System.Drawing.Size(72, 13) + Me.lblCustomerUploadLanguage.TabIndex = 117 + Me.lblCustomerUploadLanguage.Text = "Mail Sprache:" + ' + 'txtCustomerUploadEmailText + ' + Me.txtCustomerUploadEmailText.BackColor = System.Drawing.Color.White + Me.txtCustomerUploadEmailText.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtCustomerUploadEmailText.Location = New System.Drawing.Point(80, 718) + Me.txtCustomerUploadEmailText.MaxLength = 500 + Me.txtCustomerUploadEmailText.Multiline = True + Me.txtCustomerUploadEmailText.Name = "txtCustomerUploadEmailText" + Me.txtCustomerUploadEmailText.ScrollBars = System.Windows.Forms.ScrollBars.Vertical + Me.txtCustomerUploadEmailText.Size = New System.Drawing.Size(254, 54) + Me.txtCustomerUploadEmailText.TabIndex = 113 + Me.txtCustomerUploadEmailText.Text = "Bitte laden Sie die angeforderten Dokumente über den Link hoch." + ' + 'lblCustomerUploadEmailText + ' + Me.lblCustomerUploadEmailText.AutoSize = True + Me.lblCustomerUploadEmailText.Location = New System.Drawing.Point(2, 721) + Me.lblCustomerUploadEmailText.Name = "lblCustomerUploadEmailText" + Me.lblCustomerUploadEmailText.Size = New System.Drawing.Size(63, 13) + Me.lblCustomerUploadEmailText.TabIndex = 114 + Me.lblCustomerUploadEmailText.Text = "E-Mail Text:" + ' + 'pnlCustomerUploadSeparator + ' + Me.pnlCustomerUploadSeparator.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnlCustomerUploadSeparator.Location = New System.Drawing.Point(-8, 779) + Me.pnlCustomerUploadSeparator.Name = "pnlCustomerUploadSeparator" + Me.pnlCustomerUploadSeparator.Size = New System.Drawing.Size(474, 1) + Me.pnlCustomerUploadSeparator.TabIndex = 115 + ' 'lblZustzlFreitext ' Me.lblZustzlFreitext.AutoSize = True - Me.lblZustzlFreitext.Location = New System.Drawing.Point(9, 496) + Me.lblZustzlFreitext.Location = New System.Drawing.Point(2, 785) Me.lblZustzlFreitext.Name = "lblZustzlFreitext" Me.lblZustzlFreitext.Size = New System.Drawing.Size(142, 13) Me.lblZustzlFreitext.TabIndex = 31 @@ -511,7 +483,7 @@ Partial Class frmAddSendungsvermerkShort ' Me.txtSendungSpedition.BackColor = System.Drawing.Color.WhiteSmoke Me.txtSendungSpedition.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.txtSendungSpedition.Location = New System.Drawing.Point(144, 332) + Me.txtSendungSpedition.Location = New System.Drawing.Point(144, 484) Me.txtSendungSpedition.MaxLength = 50 Me.txtSendungSpedition.Name = "txtSendungSpedition" Me.txtSendungSpedition.Size = New System.Drawing.Size(25, 20) @@ -522,7 +494,7 @@ Partial Class frmAddSendungsvermerkShort ' Me.cbxNichtLeserlich.AutoSize = True Me.cbxNichtLeserlich.BackColor = System.Drawing.Color.WhiteSmoke - Me.cbxNichtLeserlich.Location = New System.Drawing.Point(308, 98) + Me.cbxNichtLeserlich.Location = New System.Drawing.Point(310, 216) Me.cbxNichtLeserlich.Name = "cbxNichtLeserlich" Me.cbxNichtLeserlich.Size = New System.Drawing.Size(90, 17) Me.cbxNichtLeserlich.TabIndex = 8 @@ -532,7 +504,7 @@ Partial Class frmAddSendungsvermerkShort 'btnOK ' Me.btnOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnOK.Location = New System.Drawing.Point(320, 512) + Me.btnOK.Location = New System.Drawing.Point(313, 801) Me.btnOK.Name = "btnOK" Me.btnOK.Size = New System.Drawing.Size(124, 54) Me.btnOK.TabIndex = 34 @@ -543,7 +515,7 @@ Partial Class frmAddSendungsvermerkShort ' Me.cbxSonstDok.AutoSize = True Me.cbxSonstDok.BackColor = System.Drawing.Color.WhiteSmoke - Me.cbxSonstDok.Location = New System.Drawing.Point(12, 98) + Me.cbxSonstDok.Location = New System.Drawing.Point(14, 216) Me.cbxSonstDok.Name = "cbxSonstDok" Me.cbxSonstDok.Size = New System.Drawing.Size(83, 17) Me.cbxSonstDok.TabIndex = 9 @@ -555,40 +527,18 @@ Partial Class frmAddSendungsvermerkShort Me.Label9.AutoSize = True Me.Label9.BackColor = System.Drawing.Color.WhiteSmoke Me.Label9.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!) - Me.Label9.Location = New System.Drawing.Point(354, 385) + Me.Label9.Location = New System.Drawing.Point(354, 537) Me.Label9.Name = "Label9" Me.Label9.Size = New System.Drawing.Size(90, 13) Me.Label9.TabIndex = 30 Me.Label9.Text = "(max. 80 Zeichen)" ' - 'cbxVollmacht - ' - Me.cbxVollmacht.AutoSize = True - Me.cbxVollmacht.BackColor = System.Drawing.Color.WhiteSmoke - Me.cbxVollmacht.Location = New System.Drawing.Point(164, 75) - Me.cbxVollmacht.Name = "cbxVollmacht" - Me.cbxVollmacht.Size = New System.Drawing.Size(72, 17) - Me.cbxVollmacht.TabIndex = 7 - Me.cbxVollmacht.Text = "Vollmacht" - Me.cbxVollmacht.UseVisualStyleBackColor = False - ' - 'cbxCMR - ' - Me.cbxCMR.AutoSize = True - Me.cbxCMR.BackColor = System.Drawing.Color.WhiteSmoke - Me.cbxCMR.Location = New System.Drawing.Point(164, 32) - Me.cbxCMR.Name = "cbxCMR" - Me.cbxCMR.Size = New System.Drawing.Size(50, 17) - Me.cbxCMR.TabIndex = 3 - Me.cbxCMR.Text = "CMR" - Me.cbxCMR.UseVisualStyleBackColor = False - ' 'Label17 ' Me.Label17.AutoSize = True Me.Label17.BackColor = System.Drawing.Color.WhiteSmoke Me.Label17.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Italic) - Me.Label17.Location = New System.Drawing.Point(144, 385) + Me.Label17.Location = New System.Drawing.Point(144, 537) Me.Label17.Name = "Label17" Me.Label17.Size = New System.Drawing.Size(182, 13) Me.Label17.TabIndex = 29 @@ -599,82 +549,38 @@ Partial Class frmAddSendungsvermerkShort Me.Label13.AutoSize = True Me.Label13.BackColor = System.Drawing.Color.WhiteSmoke Me.Label13.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label13.Location = New System.Drawing.Point(9, 307) + Me.Label13.Location = New System.Drawing.Point(9, 459) Me.Label13.Name = "Label13" Me.Label13.Size = New System.Drawing.Size(84, 17) Me.Label13.TabIndex = 16 Me.Label13.Text = "Sonstiges:" ' - 'cbxATR - ' - Me.cbxATR.AutoSize = True - Me.cbxATR.BackColor = System.Drawing.Color.WhiteSmoke - Me.cbxATR.Location = New System.Drawing.Point(164, 52) - Me.cbxATR.Name = "cbxATR" - Me.cbxATR.Size = New System.Drawing.Size(127, 17) - Me.cbxATR.TabIndex = 5 - Me.cbxATR.Text = "A.TR (Original/Kopie)" - Me.cbxATR.UseVisualStyleBackColor = False - ' - 'cbxLS - ' - Me.cbxLS.AutoSize = True - Me.cbxLS.BackColor = System.Drawing.Color.WhiteSmoke - Me.cbxLS.Location = New System.Drawing.Point(12, 75) - Me.cbxLS.Name = "cbxLS" - Me.cbxLS.Size = New System.Drawing.Size(83, 17) - Me.cbxLS.TabIndex = 6 - Me.cbxLS.Text = "Lieferschein" - Me.cbxLS.UseVisualStyleBackColor = False - ' 'txtFreierText ' Me.txtFreierText.BackColor = System.Drawing.Color.WhiteSmoke Me.txtFreierText.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!) - Me.txtFreierText.Location = New System.Drawing.Point(122, 359) + Me.txtFreierText.Location = New System.Drawing.Point(122, 511) Me.txtFreierText.MaxLength = 80 Me.txtFreierText.Name = "txtFreierText" Me.txtFreierText.Size = New System.Drawing.Size(322, 23) Me.txtFreierText.TabIndex = 28 ' - 'cbxRechnung - ' - Me.cbxRechnung.AutoSize = True - Me.cbxRechnung.BackColor = System.Drawing.Color.WhiteSmoke - Me.cbxRechnung.Location = New System.Drawing.Point(12, 53) - Me.cbxRechnung.Name = "cbxRechnung" - Me.cbxRechnung.Size = New System.Drawing.Size(137, 17) - Me.cbxRechnung.TabIndex = 4 - Me.cbxRechnung.Text = "Rechnung (mangelhaft)" - Me.cbxRechnung.UseVisualStyleBackColor = False - ' 'Label20 ' Me.Label20.AutoSize = True Me.Label20.BackColor = System.Drawing.Color.WhiteSmoke - Me.Label20.Location = New System.Drawing.Point(267, 335) + Me.Label20.Location = New System.Drawing.Point(267, 487) Me.Label20.Name = "Label20" Me.Label20.Size = New System.Drawing.Size(0, 13) Me.Label20.TabIndex = 21 ' - 'cbxAuftrag - ' - Me.cbxAuftrag.AutoSize = True - Me.cbxAuftrag.BackColor = System.Drawing.Color.WhiteSmoke - Me.cbxAuftrag.Location = New System.Drawing.Point(12, 32) - Me.cbxAuftrag.Name = "cbxAuftrag" - Me.cbxAuftrag.Size = New System.Drawing.Size(60, 17) - Me.cbxAuftrag.TabIndex = 2 - Me.cbxAuftrag.Text = "Auftrag" - Me.cbxAuftrag.UseVisualStyleBackColor = False - ' 'PictureBox1 ' Me.PictureBox1.BackColor = System.Drawing.Color.WhiteSmoke Me.PictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.PictureBox1.Location = New System.Drawing.Point(-1, -1) Me.PictureBox1.Name = "PictureBox1" - Me.PictureBox1.Size = New System.Drawing.Size(453, 130) + Me.PictureBox1.Size = New System.Drawing.Size(474, 250) Me.PictureBox1.TabIndex = 83 Me.PictureBox1.TabStop = False ' @@ -682,9 +588,9 @@ Partial Class frmAddSendungsvermerkShort ' Me.PictureBox4.BackColor = System.Drawing.Color.WhiteSmoke Me.PictureBox4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.PictureBox4.Location = New System.Drawing.Point(-1, 297) + Me.PictureBox4.Location = New System.Drawing.Point(-1, 450) Me.PictureBox4.Name = "PictureBox4" - Me.PictureBox4.Size = New System.Drawing.Size(453, 189) + Me.PictureBox4.Size = New System.Drawing.Size(481, 189) Me.PictureBox4.TabIndex = 78 Me.PictureBox4.TabStop = False ' @@ -695,14 +601,14 @@ Partial Class frmAddSendungsvermerkShort Me.Panel4.Dock = System.Windows.Forms.DockStyle.Top Me.Panel4.Location = New System.Drawing.Point(0, 0) Me.Panel4.Name = "Panel4" - Me.Panel4.Size = New System.Drawing.Size(454, 0) + Me.Panel4.Size = New System.Drawing.Size(474, 0) Me.Panel4.TabIndex = 1 ' 'frmAddSendungsvermerkShort ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(454, 605) + Me.ClientSize = New System.Drawing.Size(474, 868) Me.Controls.Add(Me.pnlMain) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) @@ -714,6 +620,7 @@ Partial Class frmAddSendungsvermerkShort Me.pnlMain.ResumeLayout(False) Me.pnlSendungsVermker.ResumeLayout(False) Me.pnlSendungsVermker.PerformLayout() + CType(Me.nudCustomerUploadValidityHours, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox4, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) @@ -727,8 +634,6 @@ Partial Class frmAddSendungsvermerkShort Friend WithEvents optSpeditionWeitergeleitet As System.Windows.Forms.CheckBox Friend WithEvents optFreierText As System.Windows.Forms.CheckBox Friend WithEvents optATAangefordert As System.Windows.Forms.CheckBox - Friend WithEvents optVorkasseAngefordert As System.Windows.Forms.CheckBox - Friend WithEvents optKontaktdatenAngefordert As System.Windows.Forms.CheckBox Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents lblErr240Zeichen As System.Windows.Forms.Label Friend WithEvents lblZustzlFreitext As System.Windows.Forms.Label @@ -737,19 +642,13 @@ Partial Class frmAddSendungsvermerkShort Friend WithEvents btnOK As System.Windows.Forms.Button Friend WithEvents cbxSonstDok As System.Windows.Forms.CheckBox Friend WithEvents Label9 As System.Windows.Forms.Label - Friend WithEvents cbxVollmacht As System.Windows.Forms.CheckBox Friend WithEvents lblErrSpedition As System.Windows.Forms.Label - Friend WithEvents cbxCMR As System.Windows.Forms.CheckBox Friend WithEvents lblErrGrund As System.Windows.Forms.Label Friend WithEvents Label17 As System.Windows.Forms.Label Friend WithEvents Label13 As System.Windows.Forms.Label - Friend WithEvents cbxATR As System.Windows.Forms.CheckBox - Friend WithEvents cbxLS As System.Windows.Forms.CheckBox Friend WithEvents txtFreierText As System.Windows.Forms.TextBox Friend WithEvents txtSpedition As System.Windows.Forms.TextBox - Friend WithEvents cbxRechnung As System.Windows.Forms.CheckBox Friend WithEvents Label20 As System.Windows.Forms.Label - Friend WithEvents cbxAuftrag As System.Windows.Forms.CheckBox Friend WithEvents PictureBox4 As System.Windows.Forms.PictureBox Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents optSendungInVorbereitung As System.Windows.Forms.CheckBox @@ -757,19 +656,20 @@ Partial Class frmAddSendungsvermerkShort Friend WithEvents lblErrDokument As System.Windows.Forms.Label Friend WithEvents btnCLose As System.Windows.Forms.Button Friend WithEvents Label2 As System.Windows.Forms.Label - Friend WithEvents optUeberwachungsdok As System.Windows.Forms.CheckBox - Friend WithEvents cbxRgBest As CheckBox Friend WithEvents Label4 As Label Friend WithEvents optFremd_ATB As CheckBox Friend WithEvents optFremd_SendungAvisiert As CheckBox - Friend WithEvents optFahrerKeinATR As CheckBox - Friend WithEvents optFrachtkostenAngefordert As CheckBox - Friend WithEvents optKundeNichtErreichbar As CheckBox - Friend WithEvents optAbsenderbestätigung As CheckBox - Friend WithEvents cbxPackliste As CheckBox - Friend WithEvents optGewPackAngefordert As CheckBox - Friend WithEvents optKostenbestaetigungAngefordert As CheckBox - Friend WithEvents optZolltarifnummerAngefordert As CheckBox - Friend WithEvents optDraft As CheckBox Public WithEvents txtDetail As TextBox + Friend WithEvents btnCustomerUploadLink As Button + Friend WithEvents btnCustomerUploadEmail As Button + Friend WithEvents txtCustomerUploadEmail As TextBox + Friend WithEvents lblCustomerUploadEmail As Label + Friend WithEvents lblCustomerUploadValidityHours As Label + Friend WithEvents nudCustomerUploadValidityHours As NumericUpDown + Friend WithEvents cmbCustomerUploadLanguage As ComboBox + Friend WithEvents lblCustomerUploadLanguage As Label + Friend WithEvents txtCustomerUploadEmailText As TextBox + Friend WithEvents lblCustomerUploadEmailText As Label + Friend WithEvents pnlCustomerUploadSeparator As Panel + Friend WithEvents Label5 As Label End Class diff --git a/Aviso/frmAddSendungsvermerkShort.vb b/Aviso/frmAddSendungsvermerkShort.vb index 43d74d2..04dc9c4 100644 --- a/Aviso/frmAddSendungsvermerkShort.vb +++ b/Aviso/frmAddSendungsvermerkShort.vb @@ -1,4 +1,11 @@ - + +Imports System.Configuration +Imports System.IO +Imports System.Net +Imports System.Net.Mail +Imports System.Text +Imports Newtonsoft.Json +Imports Newtonsoft.Json.Linq Imports VERAG_PROG_ALLGEMEIN Imports AVISO.AvisoStatusFunctions Public Class frmAddSendungsvermerkShort @@ -8,6 +15,26 @@ Public Class frmAddSendungsvermerkShort Dim myAviso As New cAviso Dim VermerkeDAL As New cVermerkeDAL Dim aktChanged As Boolean = False + Private ReadOnly _anforderungCheckboxes As New List(Of CheckBox) + Private ReadOnly _anhangsartIdByCheckbox As New Dictionary(Of CheckBox, Integer) + Private ReadOnly _selectedAnhangsartIdByCodeId As New Dictionary(Of Integer, Integer) + Private ReadOnly _documentCustomNameByCodeId As New Dictionary(Of Integer, String) + Private ReadOnly _documentBaseTextByCodeId As New Dictionary(Of Integer, String) + Private ReadOnly _anhangsartenOptions As New List(Of AnhangsartOption) + Private _selectedDocumentCodeId As Integer = 0 + Private _isLoadingDocumentEditor As Boolean = False + Private pnlDocumentEditor As Panel + Private lblDocumentEditorTitle As Label + Private lblDocumentEditorName As Label + Private txtDocumentEditorName As TextBox + Private lblDocumentEditorAnhangsart As Label + Private cmbDocumentEditorAnhangsart As ComboBox + Private lblDocumentEditorInfo As Label + Private txtDocumentEditorInfo As TextBox + Private lblDocumentEditorStatus As Label + Private Const DefaultDocumentBaseText As String = "Bitte das Dokument hochladen." + Private Const BereichDokumentMain As Integer = 1 + Private Const BereichAngefordert As Integer = 2 Dim Neuanlage As Boolean = False Dim hStatus As Integer @@ -68,6 +95,18 @@ Public Class frmAddSendungsvermerkShort If My.Computer.Screen.WorkingArea.Height < Me.Height Then Me.Height = My.Computer.Screen.WorkingArea.Height End If + + If cmbCustomerUploadLanguage IsNot Nothing Then + If cmbCustomerUploadLanguage.SelectedIndex < 0 Then + Dim idx = cmbCustomerUploadLanguage.Items.IndexOf("de") + If idx >= 0 Then + cmbCustomerUploadLanguage.SelectedIndex = idx + ElseIf cmbCustomerUploadLanguage.Items.Count > 0 Then + cmbCustomerUploadLanguage.SelectedIndex = 0 + End If + End If + End If + For Each c In Me.Controls If c.GetType.Name.ToString = "RadioButton" Then AddHandler DirectCast(c, RadioButton).CheckedChanged, AddressOf selectionChanged @@ -81,6 +120,8 @@ Public Class frmAddSendungsvermerkShort txtSendung.Text = "KOMPLETT" End If + SetupDynamicAnforderungCheckboxes() + hStatus = myAviso.Status If hStatus = cGlobal.Status_Vorbereitet Or hStatus = cGlobal.Status_Vorgeschrieben Or hStatus = cGlobal.Status_Erfasst Then optSendungInVorbereitung.Visible = True @@ -113,6 +154,489 @@ Public Class frmAddSendungsvermerkShort End Sub + Private Sub SetupDynamicAnforderungCheckboxes() + _anforderungCheckboxes.Clear() + _anhangsartIdByCheckbox.Clear() + _selectedAnhangsartIdByCodeId.Clear() + _documentCustomNameByCodeId.Clear() + _documentBaseTextByCodeId.Clear() + _selectedDocumentCodeId = 0 + + Dim dt As DataTable = Nothing + Try + dt = AvisoDAL.loadDataTableBySQL("SELECT [VermerkCodeId],[Bezeichnung],[AvisoAnhangsartId],[AnforderungBereich] FROM [VermerkeCodes] WHERE [Anforderung]=1 ORDER BY [Bezeichnung]") + Catch + Return + End Try + + If dt Is Nothing OrElse dt.Rows.Count = 0 Then + Return + End If + + Dim docsLeft = Label1.Left + 3 + Dim docsTop = Label1.Bottom + 6 + Dim docsWidth = PictureBox1.Width - (docsLeft * 2) + Dim docsMainHeight = Math.Max(10, cbxSonstDok.Top - docsTop - 6) + Dim docsMainPanel = CreateAnforderungFlowPanel("flpDokumenteFehlenMain", docsLeft, docsTop, docsWidth, docsMainHeight, Color.WhiteSmoke) + + Dim docsExtraFound = pnlSendungsVermker.Controls.Find("flpDokumenteFehlenExtra", True) + If docsExtraFound IsNot Nothing AndAlso docsExtraFound.Length > 0 Then + Dim docsExtraPanel = TryCast(docsExtraFound(0), FlowLayoutPanel) + If docsExtraPanel IsNot Nothing Then + docsExtraPanel.Visible = False + docsExtraPanel.Controls.Clear() + End If + End If + + Dim anforderungLeft = docsLeft + Dim anforderungTop = PictureBox1.Bottom + 2 + Dim anforderungWidth = pnlSendungsVermker.Width - (anforderungLeft * 2) + Dim anforderungHeight = Math.Max(10, Label13.Top - anforderungTop - 10) + Dim anforderungPanel = CreateAnforderungFlowPanel("flpAngefordert", anforderungLeft, anforderungTop, anforderungWidth, anforderungHeight, Color.White) + + For Each row As DataRow In dt.Rows + Dim id As Integer + Try + id = CInt(row("VermerkCodeId")) + Catch + Continue For + End Try + + Dim bezeichnung = If(IsDBNull(row("Bezeichnung")), "", CStr(row("Bezeichnung"))).Trim() + If bezeichnung = "" Then Continue For + + Dim cb As New CheckBox() + cb.Text = bezeichnung + cb.Tag = id + cb.Margin = New Padding(0, 0, 8, 2) + AddHandler cb.CheckedChanged, AddressOf DynamicAnforderungCheckboxChanged + If Not _documentCustomNameByCodeId.ContainsKey(id) Then + _documentCustomNameByCodeId(id) = bezeichnung + End If + + If bezeichnung.ToLowerInvariant().Contains("nicht leserlich") Then + Continue For + End If + + Dim anhangsartId As Integer = 0 + Try + If Not IsDBNull(row("AvisoAnhangsartId")) Then + anhangsartId = CInt(row("AvisoAnhangsartId")) + End If + Catch + End Try + _anhangsartIdByCheckbox(cb) = anhangsartId + + Dim bereich As Integer = BereichAngefordert + Try + If Not IsDBNull(row("AnforderungBereich")) Then + bereich = CInt(row("AnforderungBereich")) + End If + Catch + End Try + + If bereich = BereichDokumentMain Then + cb.BackColor = Color.WhiteSmoke + cb.UseVisualStyleBackColor = False + ConfigureAnforderungCheckbox(cb, docsMainPanel) + docsMainPanel.Controls.Add(cb) + Else + ConfigureAnforderungCheckbox(cb, anforderungPanel) + anforderungPanel.Controls.Add(cb) + End If + + _anforderungCheckboxes.Add(cb) + Next + + ArrangeSections(docsMainPanel, anforderungPanel) + cbxSonstDok.BringToFront() + txtSonstigesDokumentFehlt.BringToFront() + cbxNichtLeserlich.BringToFront() + lblErrDokument.BringToFront() + + End Sub + + Private Function CreateAnforderungFlowPanel(name As String, left As Integer, top As Integer, width As Integer, height As Integer, backColor As Color) As FlowLayoutPanel + Dim found = pnlSendungsVermker.Controls.Find(name, True) + If found IsNot Nothing AndAlso found.Length > 0 Then + Dim existing = TryCast(found(0), FlowLayoutPanel) + If existing IsNot Nothing Then + existing.Left = left + existing.Top = top + existing.Width = width + existing.Height = height + existing.BackColor = backColor + existing.FlowDirection = FlowDirection.TopDown + existing.WrapContents = True + existing.AutoScroll = True + existing.Controls.Clear() + existing.BringToFront() + Return existing + End If + End If + + Dim flp As New FlowLayoutPanel() + flp.Name = name + flp.Left = left + flp.Top = top + flp.Width = width + flp.Height = height + flp.FlowDirection = FlowDirection.TopDown + flp.WrapContents = True + flp.AutoScroll = True + flp.BackColor = backColor + flp.Padding = New Padding(0) + flp.Margin = New Padding(0) + pnlSendungsVermker.Controls.Add(flp) + flp.BringToFront() + Return flp + End Function + + Private Sub ConfigureAnforderungCheckbox(cb As CheckBox, container As Control) + If cb Is Nothing OrElse container Is Nothing Then Return + + cb.AutoSize = False + cb.Height = 20 + + Dim cols As Integer = 2 + Dim usableWidth = Math.Max(120, container.Width - 12) + Dim colGap = 14 + Dim cbWidth = CInt(Math.Floor((usableWidth - ((cols - 1) * colGap)) / cols)) + cb.Width = Math.Max(120, cbWidth) + End Sub + + Private Sub ArrangeSections(docsMainPanel As FlowLayoutPanel, anforderungPanel As FlowLayoutPanel) + If docsMainPanel Is Nothing OrElse anforderungPanel Is Nothing Then Return + + Label13.Top = anforderungPanel.Bottom + 14 + PictureBox4.Top = Label13.Top - 10 + + optSpeditionWeitergeleitet.Top = Label13.Bottom + 10 + txtSpedition.Top = optSpeditionWeitergeleitet.Top - 2 + Label2.Top = optSpeditionWeitergeleitet.Top - 18 + Label3.Top = optSpeditionWeitergeleitet.Top + 1 + lblErrSpedition.Top = Label2.Top + + optFreierText.Top = optSpeditionWeitergeleitet.Bottom + 9 + txtFreierText.Top = optFreierText.Top - 2 + Label17.Top = txtFreierText.Bottom + 4 + Label9.Top = Label17.Top + lblErrGrund.Top = Label17.Top + + Label4.Top = Label17.Bottom + 14 + optFremd_SendungAvisiert.Top = Label4.Bottom + 7 + optFremd_ATB.Top = optFremd_SendungAvisiert.Bottom + 6 + optATAangefordert.Top = optFremd_ATB.Top + + PictureBox4.Height = (optFremd_ATB.Bottom + 12) - PictureBox4.Top + + EnsureDocumentEditorControls() + pnlDocumentEditor.Left = 8 + pnlDocumentEditor.Top = PictureBox4.Bottom + 8 + pnlDocumentEditor.Width = pnlSendungsVermker.Width - 16 + pnlDocumentEditor.Height = 102 + + Label5.Top = pnlDocumentEditor.Bottom + 8 + Label20.Left = Label5.Right + 10 + Label20.Top = Label5.Top + 2 + Label20.AutoSize = True + Label20.ForeColor = Color.FromArgb(0, 102, 153) + Label20.Text = "Bitte zuerst Dokument(e) oben auswählen." + + lblCustomerUploadLanguage.Top = Label5.Bottom + 10 + cmbCustomerUploadLanguage.Top = lblCustomerUploadLanguage.Top - 3 + lblCustomerUploadValidityHours.Top = lblCustomerUploadLanguage.Top + nudCustomerUploadValidityHours.Top = lblCustomerUploadLanguage.Top - 2 + btnCustomerUploadLink.Top = lblCustomerUploadLanguage.Top - 4 + + lblCustomerUploadEmail.Top = lblCustomerUploadLanguage.Top + 26 + txtCustomerUploadEmail.Top = lblCustomerUploadEmail.Top - 3 + btnCustomerUploadEmail.Top = txtCustomerUploadEmail.Top - 2 + + lblCustomerUploadEmailText.Top = lblCustomerUploadEmail.Top + 22 + txtCustomerUploadEmailText.Top = lblCustomerUploadEmailText.Top - 3 + pnlCustomerUploadSeparator.Top = txtCustomerUploadEmailText.Bottom + 10 + + lblZustzlFreitext.Top = pnlCustomerUploadSeparator.Top + 8 + txtDetail.Top = lblZustzlFreitext.Bottom + 4 + btnOK.Top = txtDetail.Top + lblErr240Zeichen.Top = txtDetail.Top - 16 + + Dim contentBottom = Math.Max(btnOK.Bottom, txtDetail.Bottom) + 12 + pnlSendungsVermker.Height = contentBottom + pnlMain.Height = contentBottom + Me.ClientSize = New Size(Me.ClientSize.Width, contentBottom) + End Sub + + Private Sub EnsureDocumentEditorControls() + If pnlDocumentEditor IsNot Nothing Then Return + + pnlDocumentEditor = New Panel() + pnlDocumentEditor.BackColor = Color.WhiteSmoke + pnlDocumentEditor.BorderStyle = BorderStyle.FixedSingle + pnlSendungsVermker.Controls.Add(pnlDocumentEditor) + + lblDocumentEditorTitle = New Label() + lblDocumentEditorTitle.AutoSize = True + lblDocumentEditorTitle.Font = New Font("Microsoft Sans Serif", 8.25!, FontStyle.Bold, GraphicsUnit.Point, CType(0, Byte)) + lblDocumentEditorTitle.Location = New Point(8, 8) + lblDocumentEditorTitle.Text = "Dokumentdetails" + pnlDocumentEditor.Controls.Add(lblDocumentEditorTitle) + + lblDocumentEditorName = New Label() + lblDocumentEditorName.AutoSize = True + lblDocumentEditorName.Location = New Point(8, 30) + lblDocumentEditorName.Text = "Dokumentname:" + pnlDocumentEditor.Controls.Add(lblDocumentEditorName) + + txtDocumentEditorName = New TextBox() + txtDocumentEditorName.BackColor = Color.White + txtDocumentEditorName.Location = New Point(110, 27) + txtDocumentEditorName.MaxLength = 120 + txtDocumentEditorName.Size = New Size(128, 20) + AddHandler txtDocumentEditorName.TextChanged, AddressOf DocumentEditorInputChanged + pnlDocumentEditor.Controls.Add(txtDocumentEditorName) + + lblDocumentEditorAnhangsart = New Label() + lblDocumentEditorAnhangsart.AutoSize = True + lblDocumentEditorAnhangsart.Location = New Point(248, 30) + lblDocumentEditorAnhangsart.Text = "Anhangsart:" + pnlDocumentEditor.Controls.Add(lblDocumentEditorAnhangsart) + + cmbDocumentEditorAnhangsart = New ComboBox() + cmbDocumentEditorAnhangsart.BackColor = Color.White + cmbDocumentEditorAnhangsart.DropDownStyle = ComboBoxStyle.DropDownList + cmbDocumentEditorAnhangsart.Location = New Point(320, 27) + cmbDocumentEditorAnhangsart.Size = New Size(124, 21) + EnsureAnhangsartenOptionsLoaded() + For Each o In _anhangsartenOptions + cmbDocumentEditorAnhangsart.Items.Add(o) + Next + AddHandler cmbDocumentEditorAnhangsart.SelectedIndexChanged, AddressOf DocumentEditorAnhangsartChanged + pnlDocumentEditor.Controls.Add(cmbDocumentEditorAnhangsart) + + lblDocumentEditorInfo = New Label() + lblDocumentEditorInfo.AutoSize = True + lblDocumentEditorInfo.Location = New Point(8, 54) + lblDocumentEditorInfo.Text = "Dokument Info:" + pnlDocumentEditor.Controls.Add(lblDocumentEditorInfo) + + txtDocumentEditorInfo = New TextBox() + txtDocumentEditorInfo.BackColor = Color.White + txtDocumentEditorInfo.Location = New Point(110, 51) + txtDocumentEditorInfo.MaxLength = 500 + txtDocumentEditorInfo.Size = New Size(334, 20) + txtDocumentEditorInfo.Text = DefaultDocumentBaseText + AddHandler txtDocumentEditorInfo.TextChanged, AddressOf DocumentEditorInputChanged + pnlDocumentEditor.Controls.Add(txtDocumentEditorInfo) + + lblDocumentEditorStatus = New Label() + lblDocumentEditorStatus.AutoSize = True + lblDocumentEditorStatus.ForeColor = Color.FromArgb(0, 102, 153) + lblDocumentEditorStatus.Location = New Point(8, 78) + lblDocumentEditorStatus.Text = "Wählen Sie ein Dokument, um Name und Dokument Info anzupassen." + pnlDocumentEditor.Controls.Add(lblDocumentEditorStatus) + End Sub + + Private Sub DocumentEditorInputChanged(sender As Object, e As EventArgs) + If _isLoadingDocumentEditor Then Return + If _selectedDocumentCodeId <= 0 Then Return + + _documentCustomNameByCodeId(_selectedDocumentCodeId) = If(txtDocumentEditorName.Text, "").Trim() + _documentBaseTextByCodeId(_selectedDocumentCodeId) = If(txtDocumentEditorInfo.Text, "").Trim() + End Sub + + Private Sub DocumentEditorAnhangsartChanged(sender As Object, e As EventArgs) + If _isLoadingDocumentEditor Then Return + If _selectedDocumentCodeId <= 0 Then Return + + Dim selected = TryCast(cmbDocumentEditorAnhangsart.SelectedItem, AnhangsartOption) + If selected Is Nothing Then Return + _selectedAnhangsartIdByCodeId(_selectedDocumentCodeId) = selected.Id + End Sub + + Private Sub EnsureAnhangsartenOptionsLoaded() + If _anhangsartenOptions.Count > 0 Then Return + + Dim dt As DataTable = Nothing + Try + dt = AvisoDAL.loadDataTableBySQL("SELECT [aa_id],[aa_bezeichnung],[aa_name] FROM [tblAvisoAnhangsarten] WHERE [aa_aktiv]=1 ORDER BY [aa_sort],[aa_bezeichnung]") + Catch + Return + End Try + + If dt Is Nothing Then Return + + For Each row As DataRow In dt.Rows + Dim id As Integer = 0 + Try + id = CInt(row("aa_id")) + Catch + Continue For + End Try + If id <= 0 Then Continue For + Dim alreadyAdded As Boolean = False + For Each existing In _anhangsartenOptions + If existing.Id = id Then + alreadyAdded = True + Exit For + End If + Next + If alreadyAdded Then Continue For + + Dim text = If(IsDBNull(row("aa_bezeichnung")), "", CStr(row("aa_bezeichnung"))).Trim() + If text = "" Then + text = If(IsDBNull(row("aa_name")), "", CStr(row("aa_name"))).Trim() + End If + If text = "" Then text = "#" & id.ToString() + + _anhangsartenOptions.Add(New AnhangsartOption(id, text)) + Next + End Sub + + Private Sub SelectAnhangsartInEditor(anhangsartId As Integer) + If cmbDocumentEditorAnhangsart Is Nothing Then Return + cmbDocumentEditorAnhangsart.SelectedIndex = -1 + If anhangsartId <= 0 Then Return + + For i = 0 To cmbDocumentEditorAnhangsart.Items.Count - 1 + Dim optionItem = TryCast(cmbDocumentEditorAnhangsart.Items(i), AnhangsartOption) + If optionItem Is Nothing Then Continue For + If optionItem.Id = anhangsartId Then + cmbDocumentEditorAnhangsart.SelectedIndex = i + Exit For + End If + Next + End Sub + + Private Function TryGetCheckboxCodeId(cb As CheckBox, ByRef codeId As Integer) As Boolean + codeId = 0 + If cb Is Nothing OrElse cb.Tag Is Nothing Then Return False + Return Integer.TryParse(cb.Tag.ToString(), codeId) AndAlso codeId > 0 + End Function + + Private Sub LoadDocumentEditorForCheckbox(cb As CheckBox) + EnsureDocumentEditorControls() + + Dim codeId As Integer = 0 + If Not TryGetCheckboxCodeId(cb, codeId) Then + _selectedDocumentCodeId = 0 + Return + End If + + _selectedDocumentCodeId = codeId + + Dim customName = "" + If _documentCustomNameByCodeId.ContainsKey(codeId) Then + customName = If(_documentCustomNameByCodeId(codeId), "").Trim() + Else + customName = If(cb.Text, "").Trim() + _documentCustomNameByCodeId(codeId) = customName + End If + + Dim baseText = GetDocumentBaseTextByCodeId(codeId) + Dim anhangsartId = GetEffectiveAnhangsartId(cb) + + _isLoadingDocumentEditor = True + txtDocumentEditorName.Text = customName + txtDocumentEditorInfo.Text = baseText + SelectAnhangsartInEditor(anhangsartId) + _isLoadingDocumentEditor = False + + If anhangsartId > 0 Then + _selectedAnhangsartIdByCodeId(codeId) = anhangsartId + End If + + lblDocumentEditorStatus.ForeColor = Color.FromArgb(0, 102, 153) + lblDocumentEditorStatus.Text = "Ausgewählt: " & If(cb.Text, "").Trim() + End Sub + + Private Function GetEffectiveDocumentName(cb As CheckBox) As String + If cb Is Nothing Then Return "" + Dim codeId As Integer = 0 + If TryGetCheckboxCodeId(cb, codeId) Then + If _documentCustomNameByCodeId.ContainsKey(codeId) Then + Dim customName = If(_documentCustomNameByCodeId(codeId), "").Trim() + Return customName + End If + End If + Return "" + End Function + + Private Function GetDocumentBaseText(cb As CheckBox) As String + If cb Is Nothing Then Return "" + Dim codeId As Integer = 0 + If TryGetCheckboxCodeId(cb, codeId) Then + Return GetDocumentBaseTextByCodeId(codeId) + End If + Return DefaultDocumentBaseText + End Function + + Private Function GetDocumentBaseTextByCodeId(codeId As Integer) As String + If codeId > 0 AndAlso _documentBaseTextByCodeId.ContainsKey(codeId) Then + Dim configuredBaseText = If(_documentBaseTextByCodeId(codeId), "").Trim() + If configuredBaseText <> "" Then Return configuredBaseText + End If + Return DefaultDocumentBaseText + End Function + + Private Function GetEffectiveAnhangsartId(cb As CheckBox) As Integer + If cb Is Nothing Then Return 0 + + Dim codeId As Integer = 0 + If TryGetCheckboxCodeId(cb, codeId) Then + If _selectedAnhangsartIdByCodeId.ContainsKey(codeId) Then + Dim selectedId = _selectedAnhangsartIdByCodeId(codeId) + If selectedId > 0 Then Return selectedId + End If + End If + + Dim defaultId As Integer = 0 + If _anhangsartIdByCheckbox.TryGetValue(cb, defaultId) Then + Return defaultId + End If + + Return 0 + End Function + + Private Function BuildUploadCustomText(baseText As String) As String + Dim effectiveBaseText = If(baseText, "").Trim() + If effectiveBaseText = "" Then effectiveBaseText = DefaultDocumentBaseText + Return effectiveBaseText + End Function + + Private Function ValidateDocumentSelectionPayload(documentName As String, baseText As String, anhangsartId As Integer, ByRef validationError As String) As Boolean + validationError = "" + If anhangsartId <= 0 Then + validationError = "ANHANGSART_ID_FEHLT" + Return False + End If + + documentName = If(documentName, "").Trim() + If documentName = "" Then + validationError = "DOKUMENTNAME_FEHLT" + Return False + End If + If documentName.Length > 120 Then + validationError = "DOKUMENTNAME_ZU_LANG" + Return False + End If + + If If(baseText, "").Trim().Length > 500 Then + validationError = "BASETEXT_ZU_LANG" + Return False + End If + + Return True + End Function + + Private Sub DynamicAnforderungCheckboxChanged(sender As Object, e As EventArgs) + Dim cb = TryCast(sender, CheckBox) + If cb Is Nothing Then Return + If Not cb.Checked Then Return + + LoadDocumentEditorForCheckbox(cb) + End Sub ' Private Sub btnAbbruch_Click(sender As System.Object, e As System.EventArgs) Handles btnAbbruch.Click ' Me.Close() @@ -155,30 +679,28 @@ Public Class frmAddSendungsvermerkShort insertSendungsVermerk(SendungID, myAviso.AvisoID, txtFreierText.Text.Trim & " - offen", 101) End If - If cbxAuftrag.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Auftrag für Sendung '" & txtSendung.Text.Trim & "' fehlt - angefordert", 1) - If cbxRechnung.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Rechnung für Sendung '" & txtSendung.Text.Trim & "' fehlt / mangelhaft - angefordert", 3) - If cbxLS.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Lieferschein für Sendung '" & txtSendung.Text.Trim & "' fehlt - angefordert", 5) - If cbxATR.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "ATR für Sendung '" & txtSendung.Text.Trim & "' fehlt - angefordert", 7) - If cbxVollmacht.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Vollmacht für Sendung '" & txtSendung.Text.Trim & "' fehlt - angefordert", 9) - If cbxCMR.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "CMR bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 11) - If cbxPackliste.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Packliste bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 90) - If cbxRgBest.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Rechnungsbestätigung bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 55) - If optGewPackAngefordert.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Gewicht/Packstücke bei Sendung '" & txtSendung.Text.Trim & "' mangelhaft - angefordert", 103) - If optZolltarifnummerAngefordert.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Zolltarifnummer bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 105) - If optKostenbestaetigungAngefordert.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Kostenbestaetigung bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 107) + For Each cb In _anforderungCheckboxes + If cb Is Nothing OrElse Not cb.Checked Then Continue For - If optFrachtkostenAngefordert.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Frachtkosten bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 74) - If optAbsenderbestätigung.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Absenderbestätigung bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 76) + Dim codeId As Integer + Try + codeId = CInt(cb.Tag) + Catch + Continue For + End Try + + Dim text = cb.Text.Trim() + Dim sendText = txtSendung.Text.Trim() + If text <> "" AndAlso sendText <> "" AndAlso InStr(text, "sendung", CompareMethod.Text) = 0 Then + text &= " bei Sendung '" & sendText & "'" + End If + + If text <> "" Then insertSendungsVermerk(SendungID, myAviso.AvisoID, text, codeId) + Next - If optKundeNichtErreichbar.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Kunde bei Sendung '" & txtSendung.Text.Trim & "' nicht erreichbar", 70) - If optFahrerKeinATR.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Fahrer ohne A.TR bei Sendung '" & txtSendung.Text.Trim & "'", 71) If optFremd_ATB.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "ATB von Fremdeinsteller erhalten bei Sendung '" & txtSendung.Text.Trim & "' ", 72) If optFremd_SendungAvisiert.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Sendung '" & txtSendung.Text.Trim & "' an Fremdeinsteller avisiert", 73) ' If optSndUmmelden.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Sendung '" & txtSendung.Text.Trim & "' umgemeldet", 94) - If optDraft.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "T2 Draft OK bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 118) - - - If optUeberwachungsdok.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Ü-Dok bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 53) If cbxSonstDok.Checked Then If txtSonstigesDokumentFehlt.Text.Trim = "" Then @@ -190,9 +712,6 @@ Public Class frmAddSendungsvermerkShort If cbxNichtLeserlich.Checked Then insertSendungsVermerk(SendungID, myAviso.AvisoID, "Dokument(e) nachgefordert, da nicht leserlich.", 42) - If optVorkasseAngefordert.Checked = True Then - insertSendungsVermerk(SendungID, myAviso.AvisoID, "Vorauskasse bei Sendung '" & txtSendung.Text.Trim & "' angefordert", 13) - End If If optSpeditionWeitergeleitet.Checked = True Then If txtSpedition.Text.Trim = "" Then showErr(lblErrSpedition) @@ -205,9 +724,6 @@ Public Class frmAddSendungsvermerkShort insertSendungsVermerk(SendungID, myAviso.AvisoID, "Sendung '" & txtSendung.Text.Trim & "' in Vorbereitung.", 31) VermerkeDAL.UpdateSendungVorbereitet(AvisoID, SendungID, VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.MitarbeiterID, True) End If - If optKontaktdatenAngefordert.Checked = True Then - insertSendungsVermerk(SendungID, myAviso.AvisoID, "Kontaktdaten bei Sendung '" & txtSendung.Text.Trim & "' - angefordert", 36) - End If ' If optSendungVorbereitet.Checked = True Then 'insertSendungsVermerk(SendungID,myAviso.AvisoID, "Sendung '" & txtSendung.Text.Trim & "' Vorbereitung abgeschlossen.", 32) ' VermerkeDAL.UpdateSendungVorbereitet(AvisoID, SendungID, VERAG_PROG_ALLGEMEIN.cglobal.AktiverMitarbeiter.MitarbeiterID, False) @@ -298,8 +814,7 @@ Public Class frmAddSendungsvermerkShort ' optDokumente.Checked = True 'End Sub - Private Sub cbxAuftrag_CheckedChanged(sender As Object, e As EventArgs) Handles cbxAuftrag.CheckedChanged, cbxRechnung.CheckedChanged, cbxLS.CheckedChanged, - cbxCMR.CheckedChanged, cbxATR.CheckedChanged, cbxVollmacht.CheckedChanged, cbxSonstDok.CheckedChanged, cbxNichtLeserlich.CheckedChanged, cbxPackliste.CheckedChanged + Private Sub cbxAuftrag_CheckedChanged(sender As Object, e As EventArgs) Handles cbxSonstDok.CheckedChanged, cbxNichtLeserlich.CheckedChanged ' optDokumente.Checked = True End Sub Private Sub SonstChanged(sender As Object, e As EventArgs) Handles txtSonstigesDokumentFehlt.TextChanged @@ -331,7 +846,7 @@ Public Class frmAddSendungsvermerkShort If (p.Y + Me.Height) > My.Computer.Screen.WorkingArea.Height Then p.Y = My.Computer.Screen.WorkingArea.Height - Me.Height Me.Location = p '.Me.PointToClient(System.Cursor.Position) txtSendung.SelectionLength = 0 - cbxAuftrag.Focus() + txtFreierText.Focus() End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnCLose.Click @@ -346,4 +861,601 @@ Public Class frmAddSendungsvermerkShort Me.Close() End If End Sub + + Private Sub btnCustomerUploadLink_Click(sender As Object, e As EventArgs) Handles btnCustomerUploadLink.Click + Dim validityHours = CInt(nudCustomerUploadValidityHours.Value) + + Dim config = GetCustomerPortalApiConfig() + If config Is Nothing Then Exit Sub + + Dim jwtToken = "" + Dim authErr = "" + If Not TryGetCustomerPortalJwtToken(config, jwtToken, authErr) Then + MsgBox("Fehler bei Authentifizierung: " & authErr, vbExclamation) + Exit Sub + End If + + Dim anhangsartenMap As Dictionary(Of String, Integer) = Nothing + Dim anhangsartenErr = "" + If Not TryGetCustomerPortalAnhangsartenMap(config, jwtToken, anhangsartenMap, anhangsartenErr) Then + MsgBox("Fehler beim Laden der Dokumentarten: " & anhangsartenErr, vbExclamation) + Exit Sub + End If + + Dim requirements = BuildCustomerUploadRequirements(anhangsartenMap) + If requirements Is Nothing Then + Exit Sub + End If + If requirements.Count = 0 Then + MsgBox("Bitte mindestens ein Dokument im Bereich 'Dokument(e) fehlen' auswählen.", vbInformation) + Label20.ForeColor = Color.Red + Label20.Text = "Für den Upload-Link muss mindestens ein Dokument ausgewählt sein." + Exit Sub + End If + Label20.ForeColor = Color.FromArgb(0, 102, 153) + Label20.Text = "Bitte zuerst Dokument(e) oben auswählen." + + Cursor = Cursors.WaitCursor + Try + Dim linkUrl = "" + Dim errorCode = "" + If Not TryCreateCustomerUploadLinkMultiWithoutEmail(config, requirements, validityHours, linkUrl, errorCode) Then + MsgBox("Fehler beim Erzeugen des Upload-Links: " & errorCode, vbExclamation) + Exit Sub + End If + + If linkUrl <> "" Then + Clipboard.SetText(linkUrl) + MsgBox("Upload-Link wurde in die Zwischenablage kopiert.", vbInformation) + Else + MsgBox("Upload-Link konnte nicht aus der Antwort gelesen werden.", vbExclamation) + End If + Finally + Cursor = Cursors.Default + End Try + End Sub + + Private Sub btnCustomerUploadEmail_Click(sender As Object, e As EventArgs) Handles btnCustomerUploadEmail.Click + Dim recipient = If(txtCustomerUploadEmail.Text, "").Trim() + If recipient = "" Then + MsgBox("Bitte eine E-Mail-Adresse eingeben.", vbInformation) + txtCustomerUploadEmail.Focus() + Exit Sub + End If + + Try + Dim addr As New MailAddress(recipient) + recipient = addr.Address + Catch + MsgBox("E-Mail-Adresse ist ungültig.", vbInformation) + txtCustomerUploadEmail.Focus() + Exit Sub + End Try + + Dim emailText = If(txtCustomerUploadEmailText.Text, "").Trim() + If emailText = "" Then + MsgBox("Bitte den Text eintragen.", vbInformation) + txtCustomerUploadEmailText.Focus() + Exit Sub + End If + + Dim validityHours = CInt(nudCustomerUploadValidityHours.Value) + + Dim language = "" + If cmbCustomerUploadLanguage IsNot Nothing Then + language = If(TryCast(cmbCustomerUploadLanguage.SelectedItem, String), "") + If language = "" Then language = If(cmbCustomerUploadLanguage.Text, "").Trim() + End If + language = language.ToLowerInvariant() + If language <> "de" AndAlso language <> "en" AndAlso language <> "tr" AndAlso language <> "sr" AndAlso language <> "bg" Then + language = "de" + End If + + Dim config = GetCustomerPortalApiConfig() + If config Is Nothing Then Exit Sub + + Dim jwtToken = "" + Dim authErr = "" + If Not TryGetCustomerPortalJwtToken(config, jwtToken, authErr) Then + MsgBox("Fehler bei Authentifizierung: " & authErr, vbExclamation) + Exit Sub + End If + + Dim anhangsartenMap As Dictionary(Of String, Integer) = Nothing + Dim anhangsartenErr = "" + If Not TryGetCustomerPortalAnhangsartenMap(config, jwtToken, anhangsartenMap, anhangsartenErr) Then + MsgBox("Fehler beim Laden der Dokumentarten: " & anhangsartenErr, vbExclamation) + Exit Sub + End If + + Dim requirements = BuildCustomerUploadRequirements(anhangsartenMap) + If requirements Is Nothing Then + Exit Sub + End If + If requirements.Count = 0 Then + MsgBox("Bitte mindestens ein Dokument im Bereich 'Dokument(e) fehlen' auswählen.", vbInformation) + Label20.ForeColor = Color.Red + Label20.Text = "Für den Upload-Link muss mindestens ein Dokument ausgewählt sein." + Exit Sub + End If + Label20.ForeColor = Color.FromArgb(0, 102, 153) + Label20.Text = "Bitte zuerst Dokument(e) oben auswählen." + + Cursor = Cursors.WaitCursor + Try + Dim linkUrl = "" + Dim errorCode = "" + If Not TryRequestCustomerUploadLinkMultiWithEmail(config, requirements, recipient, emailText, language, validityHours, linkUrl, errorCode) Then + MsgBox("Fehler beim Versand der E-Mail: " & errorCode, vbExclamation) + Exit Sub + End If + + If linkUrl <> "" Then + Clipboard.SetText(linkUrl) + End If + MsgBox("E-Mail wurde ausgelöst.", vbInformation) + Finally + Cursor = Cursors.Default + End Try + End Sub + + Private Class CustomerPortalApiConfig + Public Property BaseUrl As String + Public Property Username As String + Public Property Password As String + End Class + + Private Shared _customerPortalJwtToken As String = "" + Private Shared _customerPortalJwtExpUtc As DateTime = DateTime.MinValue + Private Shared _customerPortalAnhangsartenMap As Dictionary(Of String, Integer) = Nothing + Private Shared _customerPortalAnhangsartenFetchedUtc As DateTime = DateTime.MinValue + Private Shared _customerPortalCustomFilenameAnhangsartId As Integer = -1 + + Private Function GetCustomerPortalApiConfig() As CustomerPortalApiConfig + Dim baseUrl = If(System.Environment.GetEnvironmentVariable("AVISO_CUSTOMERPORTAL_API_BASEURL"), "").Trim() + If baseUrl = "" Then baseUrl = If(ConfigurationManager.AppSettings("CustomerPortalApiBaseUrl"), "").Trim() + If baseUrl = "" Then baseUrl = "https://login.server.verag.ag" + + Dim username = If(System.Environment.GetEnvironmentVariable("AVISO_CUSTOMERPORTAL_API_USERNAME"), "").Trim() + If username = "" Then username = If(ConfigurationManager.AppSettings("CustomerPortalApiUsername"), "").Trim() + + Dim password = If(System.Environment.GetEnvironmentVariable("AVISO_CUSTOMERPORTAL_API_PASSWORD"), "").Trim() + If password = "" Then password = If(ConfigurationManager.AppSettings("CustomerPortalApiPassword"), "").Trim() + + If username = "" OrElse password = "" Then + MsgBox("CustomerPortalApiUsername/CustomerPortalApiPassword fehlt in App.config (oder ENV: AVISO_CUSTOMERPORTAL_API_USERNAME / AVISO_CUSTOMERPORTAL_API_PASSWORD).", vbExclamation) + Return Nothing + End If + + Return New CustomerPortalApiConfig With {.BaseUrl = baseUrl, .Username = username, .Password = password} + End Function + + Private Function TryGetCustomerPortalJwtToken(ByVal config As CustomerPortalApiConfig, ByRef jwtToken As String, ByRef errorCode As String) As Boolean + jwtToken = "" + errorCode = "" + + If _customerPortalJwtToken <> "" Then + If _customerPortalJwtExpUtc = DateTime.MinValue Then + jwtToken = _customerPortalJwtToken + Return True + End If + + If DateTime.UtcNow < _customerPortalJwtExpUtc.AddMinutes(-1) Then + jwtToken = _customerPortalJwtToken + Return True + End If + End If + + Dim url = config.BaseUrl.TrimEnd("/"c) & "/api/auth/login" + Dim payload As New Dictionary(Of String, Object) From { + {"username", config.Username}, + {"password", config.Password} + } + Dim jsonBody = JsonConvert.SerializeObject(payload) + + Try + ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 + + Dim request = CType(WebRequest.Create(url), HttpWebRequest) + request.Method = "POST" + request.ContentType = "application/json" + request.Accept = "application/json" + request.Timeout = 15000 + + Using requestStream = request.GetRequestStream() + Using writer As New StreamWriter(requestStream, Encoding.UTF8) + writer.Write(jsonBody) + End Using + End Using + + Using response = CType(request.GetResponse(), HttpWebResponse) + Using reader As New StreamReader(response.GetResponseStream(), Encoding.UTF8) + Dim respText = reader.ReadToEnd() + Dim jobj = JObject.Parse(respText) + Dim token = (If(jobj("token"), New JValue(""))).ToString().Trim() + If token = "" Then + errorCode = "TOKEN_MISSING" + Return False + End If + + _customerPortalJwtToken = token + _customerPortalJwtExpUtc = ExtractJwtExpUtcOrMin(token) + + jwtToken = token + Return True + End Using + End Using + + Catch ex As WebException + Dim body = "" + Try + If ex.Response IsNot Nothing Then + Using respStream = ex.Response.GetResponseStream() + If respStream IsNot Nothing Then + Using reader As New StreamReader(respStream, Encoding.UTF8) + body = reader.ReadToEnd() + End Using + End If + End Using + End If + Catch + End Try + + If body <> "" Then + Try + Dim jobj = JObject.Parse(body) + errorCode = (If(jobj("message"), New JValue(ex.Message))).ToString() + Catch + errorCode = ex.Message + End Try + Else + errorCode = ex.Message + End If + Return False + Catch ex As Exception + errorCode = ex.Message + Return False + End Try + End Function + + Private Function ExtractJwtExpUtcOrMin(ByVal jwt As String) As DateTime + Try + If jwt Is Nothing Then Return DateTime.MinValue + Dim parts = jwt.Split("."c) + If parts.Length < 2 Then Return DateTime.MinValue + + Dim payloadJson = Encoding.UTF8.GetString(Base64UrlDecode(parts(1))) + Dim jobj = JObject.Parse(payloadJson) + Dim expToken = jobj("exp") + If expToken Is Nothing Then Return DateTime.MinValue + + Dim expSeconds As Long + If Long.TryParse(expToken.ToString(), expSeconds) Then + Return DateTimeOffset.FromUnixTimeSeconds(expSeconds).UtcDateTime + End If + Catch + End Try + Return DateTime.MinValue + End Function + + Private Function Base64UrlDecode(ByVal input As String) As Byte() + Dim s = If(input, "").Replace("-"c, "+"c).Replace("_"c, "/"c) + Select Case (s.Length Mod 4) + Case 2 + s &= "==" + Case 3 + s &= "=" + End Select + Return Convert.FromBase64String(s) + End Function + + Private Function BuildCustomerUploadRequirements(ByVal anhangsartenMap As Dictionary(Of String, Integer)) As List(Of Object) + Dim requirements As New List(Of Object) + + Dim missing As New List(Of String) + + For Each cb In _anforderungCheckboxes + If cb Is Nothing OrElse Not cb.Checked Then Continue For + + Dim documentType = GetEffectiveDocumentName(cb) + If documentType = "" Then Continue For + Dim baseText = GetDocumentBaseText(cb) + Dim validationError = "" + + Dim anhangsartId = GetEffectiveAnhangsartId(cb) + If anhangsartId <= 0 Then + missing.Add(documentType) + Continue For + End If + If Not ValidateDocumentSelectionPayload(documentType, baseText, anhangsartId, validationError) Then + MsgBox("Ungültige Eingabe für Dokument '" & documentType & "': " & validationError, vbInformation) + Return Nothing + End If + + AddCustomerUploadRequirementByAnhangsartId(requirements, documentType, anhangsartId, BuildUploadCustomText(baseText)) + Next + + If cbxSonstDok.Checked Then + Dim custom = If(txtSonstigesDokumentFehlt.Text, "").Trim() + If custom = "" Then + MsgBox("Bitte den Dokumentnamen eintragen.", vbInformation) + txtSonstigesDokumentFehlt.Focus() + Return Nothing + End If + AddCustomerUploadRequirement(requirements, missing, anhangsartenMap, True, custom, {"SONSTIGES", "DOKUMENT"}, "Bitte " & custom & " hochladen.", True) + End If + + If missing.Count > 0 Then + MsgBox("Anhangsarten nicht gefunden: " & String.Join(", ", missing), vbExclamation) + Return Nothing + End If + + Return requirements + End Function + + Private Sub AddCustomerUploadRequirementByAnhangsartId(ByVal requirements As List(Of Object), ByVal documentType As String, ByVal anhangsartId As Integer, ByVal customText As String) + If requirements Is Nothing Then Exit Sub + If anhangsartId <= 0 Then Exit Sub + + Dim req As New Dictionary(Of String, Object) From { + {"documentType", documentType}, + {"anhangsartId", anhangsartId}, + {"customText", customText} + } + requirements.Add(req) + End Sub + + Private Sub AddCustomerUploadRequirement(ByVal requirements As List(Of Object), ByVal missing As List(Of String), ByVal anhangsartenMap As Dictionary(Of String, Integer), ByVal isSelected As Boolean, ByVal documentType As String, ByVal anhangsartenCandidates As String(), ByVal customText As String, ByVal allowCustomFilename As Boolean) + If Not isSelected Then Exit Sub + + Dim anhangsartId = ResolveAnhangsartId(anhangsartenCandidates, anhangsartenMap) + If anhangsartId <= 0 AndAlso allowCustomFilename AndAlso _customerPortalCustomFilenameAnhangsartId > 0 Then + anhangsartId = _customerPortalCustomFilenameAnhangsartId + End If + If anhangsartId <= 0 Then + missing.Add(documentType) + Exit Sub + End If + + Dim req As New Dictionary(Of String, Object) From { + {"documentType", documentType}, + {"anhangsartId", anhangsartId}, + {"customText", customText} + } + requirements.Add(req) + End Sub + + Private Function ResolveAnhangsartId(ByVal candidates As IEnumerable(Of String), ByVal anhangsartenMap As Dictionary(Of String, Integer)) As Integer + If candidates Is Nothing OrElse anhangsartenMap Is Nothing Then Return -1 + + For Each c In candidates + Dim key = If(c, "").Trim() + If key = "" Then Continue For + + Dim id As Integer + If anhangsartenMap.TryGetValue(key.ToUpperInvariant(), id) Then + Return id + End If + Next + + Return -1 + End Function + + Private Function TryGetCustomerPortalAnhangsartenMap(ByVal config As CustomerPortalApiConfig, ByVal jwtToken As String, ByRef anhangsartenMap As Dictionary(Of String, Integer), ByRef errorCode As String) As Boolean + anhangsartenMap = Nothing + errorCode = "" + + If _customerPortalAnhangsartenMap IsNot Nothing AndAlso _customerPortalAnhangsartenFetchedUtc <> DateTime.MinValue Then + If DateTime.UtcNow < _customerPortalAnhangsartenFetchedUtc.AddMinutes(30) Then + anhangsartenMap = _customerPortalAnhangsartenMap + Return True + End If + End If + + Dim url = config.BaseUrl.TrimEnd("/"c) & "/api/AvisoUpload/anhangsarten/all" + Dim request = CType(WebRequest.Create(url), HttpWebRequest) + request.Method = "GET" + request.Accept = "application/json" + request.Timeout = 15000 + request.Headers(HttpRequestHeader.Authorization) = "Bearer " & jwtToken + + Try + ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 + Using response = CType(request.GetResponse(), HttpWebResponse) + Using reader As New StreamReader(response.GetResponseStream(), Encoding.UTF8) + Dim respText = reader.ReadToEnd() + If respText Is Nothing Then respText = "" + respText = respText.Trim() + + Dim map As New Dictionary(Of String, Integer)(StringComparer.OrdinalIgnoreCase) + Dim customFilenameId As Integer = -1 + + If respText.StartsWith("[") Then + Dim arr = JArray.Parse(respText) + For Each t In arr + Dim id = 0 + If t("id") IsNot Nothing AndAlso Integer.TryParse(t("id").ToString(), id) Then + Dim name = (If(t("name"), New JValue(""))).ToString().Trim() + Dim bez = (If(t("bezeichnung"), New JValue(""))).ToString().Trim() + If name <> "" Then map(name.ToUpperInvariant()) = id + If bez <> "" Then map(bez.ToUpperInvariant()) = id + If id = 24 Then customFilenameId = 24 + End If + Next + ElseIf respText.StartsWith("{") Then + Dim jobj = JObject.Parse(respText) + errorCode = (If(jobj("message"), If(jobj("code"), New JValue("ANHANGSARTEN_LOAD_FAILED")))).ToString() + Return False + Else + errorCode = "ANHANGSARTEN_INVALID_RESPONSE" + Return False + End If + + If map.Count = 0 Then + errorCode = "ANHANGSARTEN_EMPTY" + Return False + End If + + _customerPortalCustomFilenameAnhangsartId = customFilenameId + _customerPortalAnhangsartenMap = map + _customerPortalAnhangsartenFetchedUtc = DateTime.UtcNow + + anhangsartenMap = map + Return True + End Using + End Using + Catch ex As WebException + errorCode = ReadWebExceptionMessage(ex) + Return False + Catch ex As Exception + errorCode = ex.Message + Return False + End Try + End Function + + Private Function TryCreateCustomerUploadLinkMultiWithoutEmail(ByVal config As CustomerPortalApiConfig, ByVal requirements As List(Of Object), ByVal validityHours As Integer, ByRef linkUrl As String, ByRef errorCode As String) As Boolean + linkUrl = "" + errorCode = "" + + Dim url = config.BaseUrl.TrimEnd("/"c) & "/api/PublicCustomerDocuments/create-upload-link-multi" + Dim payload As New Dictionary(Of String, Object) From { + {"avisoId", AvisoID}, + {"validityHours", validityHours}, + {"requirements", requirements} + } + + If SendungID > 0 Then payload("sendungsId") = SendungID + + Dim jsonBody = JsonConvert.SerializeObject(payload) + + Dim jwtToken = "" + Dim authErr = "" + If Not TryGetCustomerPortalJwtToken(config, jwtToken, authErr) Then + errorCode = authErr + Return False + End If + + Try + ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 + Return TryPostCustomerPortalJson(url, jwtToken, jsonBody, linkUrl, errorCode) + + Catch ex As WebException + errorCode = ReadWebExceptionMessage(ex) + Return False + Catch ex As Exception + errorCode = ex.Message + Return False + End Try + End Function + + Private Function TryRequestCustomerUploadLinkMultiWithEmail(ByVal config As CustomerPortalApiConfig, ByVal requirements As List(Of Object), ByVal recipientEmail As String, ByVal emailText As String, ByVal language As String, ByVal validityHours As Integer, ByRef linkUrl As String, ByRef errorCode As String) As Boolean + linkUrl = "" + errorCode = "" + + Dim url = config.BaseUrl.TrimEnd("/"c) & "/api/PublicCustomerDocuments/request-upload-link-multi" + If language Is Nothing OrElse language.Trim() = "" Then language = "de" + + Dim payload As New Dictionary(Of String, Object) From { + {"avisoId", AvisoID}, + {"emailText", emailText}, + {"language", language}, + {"validityHours", validityHours}, + {"requirements", requirements} + } + + If SendungID > 0 Then payload("sendungsId") = SendungID + payload("recipientEmail") = recipientEmail + + Dim jsonBody = JsonConvert.SerializeObject(payload) + + Dim jwtToken = "" + Dim authErr = "" + If Not TryGetCustomerPortalJwtToken(config, jwtToken, authErr) Then + errorCode = authErr + Return False + End If + + Try + ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 + Return TryPostCustomerPortalJson(url, jwtToken, jsonBody, linkUrl, errorCode) + Catch ex As WebException + errorCode = ReadWebExceptionMessage(ex) + Return False + Catch ex As Exception + errorCode = ex.Message + Return False + End Try + End Function + + Private Function TryPostCustomerPortalJson(ByVal url As String, ByVal jwtToken As String, ByVal jsonBody As String, ByRef linkUrl As String, ByRef errorCode As String) As Boolean + Dim request = CType(WebRequest.Create(url), HttpWebRequest) + request.Method = "POST" + request.ContentType = "application/json" + request.Accept = "application/json" + request.Timeout = 15000 + request.Headers(HttpRequestHeader.Authorization) = "Bearer " & jwtToken + + Using requestStream = request.GetRequestStream() + Using writer As New StreamWriter(requestStream, Encoding.UTF8) + writer.Write(jsonBody) + End Using + End Using + + Using response = CType(request.GetResponse(), HttpWebResponse) + Using reader As New StreamReader(response.GetResponseStream(), Encoding.UTF8) + Dim respText = reader.ReadToEnd() + Dim jobj = JObject.Parse(respText) + Dim result = (If(jobj("result"), New JValue(""))).ToString() + If String.Equals(result, "pass", StringComparison.OrdinalIgnoreCase) Then + Dim link = (If(jobj.SelectToken("data.linkUrl"), New JValue(""))).ToString() + If link = "" Then link = (If(jobj.SelectToken("linkUrl"), New JValue(""))).ToString() + linkUrl = link + Return True + End If + errorCode = (If(jobj("message"), New JValue("UNKNOWN_ERROR"))).ToString() + Return False + End Using + End Using + End Function + + Private Function ReadWebExceptionMessage(ByVal ex As WebException) As String + Dim body = "" + Try + If ex.Response IsNot Nothing Then + Using respStream = ex.Response.GetResponseStream() + If respStream IsNot Nothing Then + Using reader As New StreamReader(respStream, Encoding.UTF8) + body = reader.ReadToEnd() + End Using + End If + End Using + End If + Catch + End Try + + If body <> "" Then + Try + Dim jobj = JObject.Parse(body) + Return (If(jobj("message"), New JValue(ex.Message))).ToString() + Catch + Return ex.Message + End Try + End If + + Return ex.Message + End Function + + Private Class AnhangsartOption + Public ReadOnly Id As Integer + Public ReadOnly Text As String + + Public Sub New(id As Integer, text As String) + Me.Id = id + Me.Text = If(text, "").Trim() + End Sub + + Public Overrides Function ToString() As String + Return Text + End Function + End Class End Class diff --git a/Aviso/usrcntlAktDetails.Designer.vb b/Aviso/usrcntlAktDetails.Designer.vb index fdb2ca3..5883937 100644 --- a/Aviso/usrcntlAktDetails.Designer.vb +++ b/Aviso/usrcntlAktDetails.Designer.vb @@ -23,16 +23,16 @@ Partial Class usrcntlAktDetails _ Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() - Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() - Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() - Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() - Dim DataGridViewCellStyle4 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() - Dim DataGridViewCellStyle5 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() - Dim DataGridViewCellStyle6 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() - Dim DataGridViewCellStyle7 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() - Dim DataGridViewCellStyle8 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() - Dim DataGridViewCellStyle9 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() - Dim DataGridViewCellStyle10 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle21 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle22 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle23 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle24 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle25 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle26 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle27 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle28 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle29 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle30 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(usrcntlAktDetails)) Me.pnlDetailsRechts = New System.Windows.Forms.Panel() Me.Panel3 = New System.Windows.Forms.Panel() @@ -169,6 +169,7 @@ Partial Class usrcntlAktDetails Me.HervorhebenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ToolUeberweisungsBeleg = New System.Windows.Forms.ToolStripMenuItem() Me.toolVkReminder = New System.Windows.Forms.ToolStripMenuItem() + Me.VermerkTextAnzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.MitarbeiterAnzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.conVermerkLöschenNew = New System.Windows.Forms.ToolStripMenuItem() Me.cntxtFormulare = New System.Windows.Forms.ContextMenuStrip(Me.components) @@ -188,7 +189,6 @@ Partial Class usrcntlAktDetails Me.btnÄndern = New System.Windows.Forms.Button() Me.btnTV = New System.Windows.Forms.Button() Me.Button10 = New System.Windows.Forms.Button() - Me.VermerkTextAnzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.pnlDetailsRechts.SuspendLayout() Me.Panel3.SuspendLayout() CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit() @@ -620,46 +620,46 @@ Partial Class usrcntlAktDetails Me.dgvSendungen.AllowUserToAddRows = False Me.dgvSendungen.AllowUserToDeleteRows = False Me.dgvSendungen.AllowUserToResizeRows = False - DataGridViewCellStyle1.BackColor = System.Drawing.Color.Azure - DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] - Me.dgvSendungen.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle1 + DataGridViewCellStyle21.BackColor = System.Drawing.Color.Azure + DataGridViewCellStyle21.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.dgvSendungen.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle21 Me.dgvSendungen.BackgroundColor = System.Drawing.Color.White - DataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft - DataGridViewCellStyle2.BackColor = System.Drawing.Color.LightBlue - DataGridViewCellStyle2.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText - DataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight - DataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText - DataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] - Me.dgvSendungen.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle2 + DataGridViewCellStyle22.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle22.BackColor = System.Drawing.Color.LightBlue + DataGridViewCellStyle22.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle22.ForeColor = System.Drawing.SystemColors.WindowText + DataGridViewCellStyle22.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle22.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle22.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.dgvSendungen.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle22 Me.dgvSendungen.ColumnHeadersHeight = 34 Me.dgvSendungen.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing - DataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft - DataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window - DataGridViewCellStyle3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - DataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText - DataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight - DataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText - DataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.[False] - Me.dgvSendungen.DefaultCellStyle = DataGridViewCellStyle3 + DataGridViewCellStyle23.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle23.BackColor = System.Drawing.SystemColors.Window + DataGridViewCellStyle23.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle23.ForeColor = System.Drawing.SystemColors.ControlText + DataGridViewCellStyle23.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle23.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle23.WrapMode = System.Windows.Forms.DataGridViewTriState.[False] + Me.dgvSendungen.DefaultCellStyle = DataGridViewCellStyle23 Me.dgvSendungen.Dock = System.Windows.Forms.DockStyle.Fill Me.dgvSendungen.Location = New System.Drawing.Point(0, 0) Me.dgvSendungen.MultiSelect = False Me.dgvSendungen.Name = "dgvSendungen" Me.dgvSendungen.ReadOnly = True - DataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft - DataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control - DataGridViewCellStyle4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - DataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText - DataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight - DataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText - DataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] - Me.dgvSendungen.RowHeadersDefaultCellStyle = DataGridViewCellStyle4 + DataGridViewCellStyle24.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle24.BackColor = System.Drawing.SystemColors.Control + DataGridViewCellStyle24.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle24.ForeColor = System.Drawing.SystemColors.WindowText + DataGridViewCellStyle24.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle24.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle24.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.dgvSendungen.RowHeadersDefaultCellStyle = DataGridViewCellStyle24 Me.dgvSendungen.RowHeadersVisible = False Me.dgvSendungen.RowHeadersWidth = 62 Me.dgvSendungen.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing - DataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] - Me.dgvSendungen.RowsDefaultCellStyle = DataGridViewCellStyle5 + DataGridViewCellStyle25.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.dgvSendungen.RowsDefaultCellStyle = DataGridViewCellStyle25 Me.dgvSendungen.RowTemplate.Height = 20 Me.dgvSendungen.RowTemplate.ReadOnly = True Me.dgvSendungen.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.[False] @@ -1031,46 +1031,46 @@ Partial Class usrcntlAktDetails Me.gridVermerke.AllowUserToAddRows = False Me.gridVermerke.AllowUserToDeleteRows = False Me.gridVermerke.AllowUserToResizeRows = False - DataGridViewCellStyle6.BackColor = System.Drawing.Color.Azure - DataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] - Me.gridVermerke.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle6 + DataGridViewCellStyle26.BackColor = System.Drawing.Color.Azure + DataGridViewCellStyle26.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.gridVermerke.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle26 Me.gridVermerke.BackgroundColor = System.Drawing.Color.White - DataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft - DataGridViewCellStyle7.BackColor = System.Drawing.Color.LightBlue - DataGridViewCellStyle7.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - DataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText - DataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight - DataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText - DataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] - Me.gridVermerke.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle7 + DataGridViewCellStyle27.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle27.BackColor = System.Drawing.Color.LightBlue + DataGridViewCellStyle27.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle27.ForeColor = System.Drawing.SystemColors.WindowText + DataGridViewCellStyle27.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle27.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle27.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.gridVermerke.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle27 Me.gridVermerke.ColumnHeadersHeight = 34 Me.gridVermerke.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing - DataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft - DataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window - DataGridViewCellStyle8.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - DataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText - DataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight - DataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText - DataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.[False] - Me.gridVermerke.DefaultCellStyle = DataGridViewCellStyle8 + DataGridViewCellStyle28.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle28.BackColor = System.Drawing.SystemColors.Window + DataGridViewCellStyle28.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle28.ForeColor = System.Drawing.SystemColors.ControlText + DataGridViewCellStyle28.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle28.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle28.WrapMode = System.Windows.Forms.DataGridViewTriState.[False] + Me.gridVermerke.DefaultCellStyle = DataGridViewCellStyle28 Me.gridVermerke.Dock = System.Windows.Forms.DockStyle.Fill Me.gridVermerke.Location = New System.Drawing.Point(0, 30) Me.gridVermerke.MultiSelect = False Me.gridVermerke.Name = "gridVermerke" Me.gridVermerke.ReadOnly = True - DataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft - DataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Control - DataGridViewCellStyle9.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - DataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.WindowText - DataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight - DataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.HighlightText - DataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] - Me.gridVermerke.RowHeadersDefaultCellStyle = DataGridViewCellStyle9 + DataGridViewCellStyle29.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle29.BackColor = System.Drawing.SystemColors.Control + DataGridViewCellStyle29.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle29.ForeColor = System.Drawing.SystemColors.WindowText + DataGridViewCellStyle29.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle29.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle29.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.gridVermerke.RowHeadersDefaultCellStyle = DataGridViewCellStyle29 Me.gridVermerke.RowHeadersVisible = False Me.gridVermerke.RowHeadersWidth = 62 Me.gridVermerke.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing - DataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] - Me.gridVermerke.RowsDefaultCellStyle = DataGridViewCellStyle10 + DataGridViewCellStyle30.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.gridVermerke.RowsDefaultCellStyle = DataGridViewCellStyle30 Me.gridVermerke.RowTemplate.Height = 20 Me.gridVermerke.RowTemplate.ReadOnly = True Me.gridVermerke.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.[False] @@ -2177,7 +2177,7 @@ Partial Class usrcntlAktDetails Me.conMenuVermerke.ImageScalingSize = New System.Drawing.Size(24, 24) Me.conMenuVermerke.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.conVermerkEntgLöschen, Me.HervorhebenToolStripMenuItem, Me.ToolUeberweisungsBeleg, Me.toolVkReminder, Me.VermerkTextAnzeigenToolStripMenuItem, Me.MitarbeiterAnzeigenToolStripMenuItem, Me.conVermerkLöschenNew}) Me.conMenuVermerke.Name = "conMenuVermerke" - Me.conMenuVermerke.Size = New System.Drawing.Size(252, 236) + Me.conMenuVermerke.Size = New System.Drawing.Size(252, 214) ' 'conVermerkEntgLöschen ' @@ -2208,6 +2208,12 @@ Partial Class usrcntlAktDetails Me.toolVkReminder.Text = "Reminder geschickt" Me.toolVkReminder.Visible = False ' + 'VermerkTextAnzeigenToolStripMenuItem + ' + Me.VermerkTextAnzeigenToolStripMenuItem.Name = "VermerkTextAnzeigenToolStripMenuItem" + Me.VermerkTextAnzeigenToolStripMenuItem.Size = New System.Drawing.Size(251, 30) + Me.VermerkTextAnzeigenToolStripMenuItem.Text = "Vermerk-Text anzeigen" + ' 'MitarbeiterAnzeigenToolStripMenuItem ' Me.MitarbeiterAnzeigenToolStripMenuItem.Image = CType(resources.GetObject("MitarbeiterAnzeigenToolStripMenuItem.Image"), System.Drawing.Image) @@ -2471,12 +2477,6 @@ Partial Class usrcntlAktDetails Me.Button10.TextAlign = System.Drawing.ContentAlignment.MiddleLeft Me.Button10.UseVisualStyleBackColor = False ' - 'VermerkTextAnzeigenToolStripMenuItem - ' - Me.VermerkTextAnzeigenToolStripMenuItem.Name = "VermerkTextAnzeigenToolStripMenuItem" - Me.VermerkTextAnzeigenToolStripMenuItem.Size = New System.Drawing.Size(251, 30) - Me.VermerkTextAnzeigenToolStripMenuItem.Text = "Vermerk-Text anzeigen" - ' 'usrcntlAktDetails ' Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None diff --git a/Aviso/usrcntlAktDetails.vb b/Aviso/usrcntlAktDetails.vb index 33efe02..391c5e3 100644 --- a/Aviso/usrcntlAktDetails.vb +++ b/Aviso/usrcntlAktDetails.vb @@ -1,4 +1,4 @@ -Imports VERAG_PROG_ALLGEMEIN +Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO Imports System.IO @@ -463,6 +463,8 @@ Public Class usrcntlAktDetails .Columns("SMSId").Visible = False 'tblSnd_Empfaengernicht anzeigen .Columns("VermerkIDAufgehoben").Visible = False 'tblSnd_Empfaengernicht anzeigen .Columns("Kategorie").Visible = False 'tblSnd_Empfaengernicht anzeigen + If .Columns.Contains("PaarId") Then .Columns("PaarId").Visible = False + If .Columns.Contains("PaarBezeichnung") Then .Columns("PaarBezeichnung").Visible = False .Columns("Datum").Width = 125 '110 .Columns("Datum").HeaderText = "Datum" @@ -879,22 +881,23 @@ Public Class usrcntlAktDetails End Sub - Public Shared vermerkehSQL As String = " SELECT TOP 1000 [VermerkID],[AvisoID], [SendungID],[VermerkeCode], [Datum],[MitarbeiterId],tblSendungen.tblSnd_PosUnterNr,Hervorheben,Geloescht," & + Public Shared vermerkehSQL As String = " SELECT TOP 1000 Vermerke.[VermerkID],Vermerke.[AvisoID], Vermerke.[SendungID],Vermerke.[VermerkeCode], Vermerke.[Datum],Vermerke.[MitarbeiterId],tblSendungen.tblSnd_PosUnterNr,Vermerke.Hervorheben,Vermerke.Geloescht, VermerkeCodes.PaarId, VC2.Bezeichnung as PaarBezeichnung, " & " - CASE WHEN VermerkeCode IS NULL OR VermerkBezeichnungFixAnzeigen = 1 + CASE WHEN Vermerke.VermerkeCode IS NULL OR VermerkeCodes.VermerkBezeichnungFixAnzeigen = 1 THEN CASE - WHEN LEN(Hinweis_Vermerk) > 200 - THEN LEFT(Hinweis_Vermerk, 200) + '...' - ELSE Hinweis_Vermerk + WHEN LEN(Vermerke.Hinweis_Vermerk) > 200 + THEN LEFT(Vermerke.Hinweis_Vermerk, 200) + '...' + ELSE Vermerke.Hinweis_Vermerk END ELSE VermerkeCodes.Bezeichnung END as [Hinweis_Vermerk_Anzeige] - ,[Hinweis_Vermerk], tblSendungen.tblSnd_Empfaenger ,[Mitarbeiter],VorauskasseId,SMSId,VermerkIDAufgehoben, Datum as DatumValue, Kategorie" & - " FROM [Vermerke] LEFT JOIN VermerkeCodes ON [VermerkeCode]=VermerkeCodes.VermerkCodeId " & - " LEFT JOIN tblSendungen ON [SendungID]=tblSendungen.tblSnd_SendungID " & - " WHERE AvisoID = [[AvisoId]] [[sendwhere]] AND HintergrundVermerk =0 " & + ,Vermerke.[Hinweis_Vermerk], tblSendungen.tblSnd_Empfaenger ,Vermerke.[Mitarbeiter],Vermerke.VorauskasseId,Vermerke.SMSId,Vermerke.VermerkIDAufgehoben, Vermerke.Datum as DatumValue, VermerkeCodes.Kategorie" & + " FROM [Vermerke] LEFT JOIN VermerkeCodes ON Vermerke.[VermerkeCode]=VermerkeCodes.VermerkCodeId " & + " LEFT JOIN VermerkeCodes VC2 ON VermerkeCodes.PaarId = VC2.VermerkCodeId " & + " LEFT JOIN tblSendungen ON Vermerke.[SendungID]=tblSendungen.tblSnd_SendungID " & + " WHERE Vermerke.AvisoID = [[AvisoId]] [[sendwhere]] AND Vermerke.HintergrundVermerk =0 " & " order by /*VermerkArt ASC,tblSnd_PosUnterNr,*/Datum DESC " Private Sub Vermerke_anzeigen2(Optional rowindex As Integer = -1) If Not loaded Then Exit Sub @@ -1111,234 +1114,60 @@ Public Class usrcntlAktDetails myVermerk.Mitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter myVermerk.MitarbeiterId = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.MitarbeiterID init = False - Select Case CStr(gridVermerke.Rows(RowIndex).Cells("VermerkeCode").Value) - Case "1" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 2 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex) - ' initDgvSendungen() - Case "3" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 4 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) + Dim vermerkCode As Integer = CInt(gridVermerke.Rows(RowIndex).Cells("VermerkeCode").Value) + Dim paarId As Integer = 0 + If gridVermerke.Columns.Contains("PaarId") AndAlso gridVermerke.Rows(RowIndex).Cells("PaarId").Value IsNot DBNull.Value Then + paarId = CInt(gridVermerke.Rows(RowIndex).Cells("PaarId").Value) + End If + Dim paarBez As String = "" + If gridVermerke.Columns.Contains("PaarBezeichnung") AndAlso gridVermerke.Rows(RowIndex).Cells("PaarBezeichnung").Value IsNot DBNull.Value Then + paarBez = CStr(gridVermerke.Rows(RowIndex).Cells("PaarBezeichnung").Value) + End If - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "5" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 6 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "7" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 8 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "9" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 10 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "11" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 12 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - - Case "90" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 93 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "13" + Select Case vermerkCode + Case 46 + init = False + Case 13 If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "VERAG" OrElse VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_Vermerk_VKErhalten", "AVISO") Then - - - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 14 - If gridVermerke.Rows(RowIndex).Cells("VorauskasseId").Value IsNot DBNull.Value Then - myVermerk.VorauskasseId = gridVermerke.Rows(RowIndex).Cells("VorauskasseId").Value + If paarId > 0 Then + myVermerk.Hinweis_Vermerk = paarBez + myVermerk.VermerkCodeId = paarId + If gridVermerke.Rows(RowIndex).Cells("VorauskasseId").Value IsNot DBNull.Value Then + myVermerk.VorauskasseId = gridVermerke.Rows(RowIndex).Cells("VorauskasseId").Value + End If + Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) + VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) + init = True End If - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() Else MsgBox("Keine Berechtigung. Bitte wenden Sie sich an die Buchhaltung oder Abteilungsleitung.") End If + Case Else + If paarId > 0 Then + myVermerk.Hinweis_Vermerk = paarBez + myVermerk.VermerkCodeId = paarId + Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) + VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) + init = True - Case "17" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("eingereicht", "fertig") - myVermerk.VermerkCodeId = 18 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - VermerkeDAL.UpdateLKW(myVermerk.AvisoID, False) - ' avisoAktualisierenAktiveIdBehalten(myVermerk.AvisoID) - 'Vermerke_aktualisieren() - init = True ' Vermerke_anzeigen(RowIndex) - - Case "19" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("eingereicht", "fertig") - myVermerk.VermerkCodeId = 20 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "25" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 30 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "31" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("in Vorbereitung", "Vorbereitung abgeschl.") - myVermerk.VermerkCodeId = 32 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "33" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 34 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "46" - ' MsgBox("SMS " & gridVermerke.Rows(RowIndex).Cells("VermerkeOptions").ToolTipText) - init = False 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "36" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 37 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "53" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 54 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "55" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 56 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "57" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 58 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - - Case "74" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 75 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - Case "76" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 77 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - Case "80" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("folgt", "erhalten") - myVermerk.VermerkCodeId = 81 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - - 'Ankunft - If vbYes = MsgBox("Soll der LKW auf Status 'ANKUNFT' gesetzt werden?", vbYesNoCancel) Then - If AvisoStatusFunctions.setAnkunft(AVISO.AvisoID) Then - frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) - frmHauptfenster.Details_anzeigen(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) - End If + Select Case vermerkCode + Case 17 + VermerkeDAL.UpdateLKW(myVermerk.AvisoID, False) + Case 80 + If vbYes = MsgBox("Soll der LKW auf Status 'ANKUNFT' gesetzt werden?", vbYesNoCancel) Then + If AvisoStatusFunctions.setAnkunft(AVISO.AvisoID) Then + frmHauptfenster.avisoAktualisierenAktiveIdBehalten(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) + frmHauptfenster.Details_anzeigen(VERAG_PROG_ALLGEMEIN.cGlobal.Aktive_ID) + End If + End If + Case 82 + VermerkeDAL.UpdateLKW(myVermerk.AvisoID, False) + Dim sql As New VERAG_PROG_ALLGEMEIN.SQL + sql.doSQL("UPDATE AVISO SET ZOLLDigitalEingereicht=0, LKW_fertig=1 where avisoid=" & AVISO.AvisoID, "AVISO") + AvisoStatusFunctions.printFinish(AVISO) + End Select End If - - Case "82" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("eingereicht", "fertig") - myVermerk.VermerkCodeId = 83 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - VermerkeDAL.UpdateLKW(myVermerk.AvisoID, False) - - Dim sql As New VERAG_PROG_ALLGEMEIN.SQL - sql.doSQL("UPDATE AVISO SET ZOLLDigitalEingereicht=0, LKW_fertig=1 where avisoid=" & AVISO.AvisoID, "AVISO") - - AvisoStatusFunctions.printFinish(AVISO) - - ' avisoAktualisierenAktiveIdBehalten(myVermerk.AvisoID) - 'Vermerke_aktualisieren() - init = True ' Vermerke_anzeigen(RowIndex) - Case "96" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 97 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - Case "101" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("offen", "erledigt") - myVermerk.VermerkCodeId = 102 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "103" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 104 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "105" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 106 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - Case "107" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 108 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - - - - Case "118" - myVermerk.Hinweis_Vermerk = CStr(gridVermerke.Rows(RowIndex).Cells("Hinweis_Vermerk").Value).Replace("angefordert", "erhalten") - myVermerk.VermerkCodeId = 119 - Dim IdTmp = VermerkeDAL.SpeichernVermerk(myVermerk) - VermerkeDAL.SpeichernVermerkIDAufgehoben(VermekId, IdTmp) - init = True 'Vermerke_anzeigen(RowIndex)': initDgvSendungen() - End Select End If @@ -1375,88 +1204,17 @@ Public Class usrcntlAktDetails r.DefaultCellStyle.Font = New Font(gridvermerke.Font.FontFamily, gridvermerke.Font.Size, FontStyle.Strikeout) End If If (r.Cells("VermerkeCode").Value) IsNot DBNull.Value Then + Dim vermerkCode As Integer = CInt(r.Cells("VermerkeCode").Value) + Dim paarId As Integer = 0 + If gridvermerke.Columns.Contains("PaarId") AndAlso r.Cells("PaarId").Value IsNot DBNull.Value Then + paarId = CInt(r.Cells("PaarId").Value) + End If + Dim paarBez As String = "" + If gridvermerke.Columns.Contains("PaarBezeichnung") AndAlso r.Cells("PaarBezeichnung").Value IsNot DBNull.Value Then + paarBez = CStr(r.Cells("PaarBezeichnung").Value) + End If - Select Case CInt(r.Cells("VermerkeCode").Value) - Case 1 - If Not existCodeInGridVermerke(r, gridvermerke, 2, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Auftrag erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Auftrag erhalten' einzutragen." - End If - Case 3 - If Not existCodeInGridVermerke(r, gridvermerke, 4, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Rechnung erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Rechnung erhalten' einzutragen." - End If - Case 5 - If Not existCodeInGridVermerke(r, gridvermerke, 6, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "LS erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'LS erhalten' einzutragen." - End If - Case 7 - If Not existCodeInGridVermerke(r, gridvermerke, 8, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "ATR erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'ATR erhalten' einzutragen." - End If - Case 9 - If Not existCodeInGridVermerke(r, gridvermerke, 10, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Vollmacht erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Vollmacht erhalten' einzutragen." - End If - Case 11 - If Not existCodeInGridVermerke(r, gridvermerke, 12, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "CMR erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'CMR erhalten' einzutragen." - End If - Case 90 - If Not existCodeInGridVermerke(r, gridvermerke, 93, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Packliste erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Packliste erhalten' einzutragen." - End If - Case 13 - - - If r.Cells("VorauskasseId").Value IsNot DBNull.Value Then - - If Not existCodeInGridVermerke_VK(gridvermerke, r.Cells("VorauskasseId").Value) Then - optionCell.Value = "Vorauskasse erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Vorauskasse erhalten' einzutragen." - End If - Else - If Not existCodeInGridVermerke_VK_OLD(gridvermerke, r.Cells("SendungID").Value) Then - optionCell.Value = "Vorauskasse erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Vorauskasse erhalten' einzutragen." - End If - End If - Case 17 - If Not existCodeInGridVermerke(r, gridvermerke, 18) Then - optionCell.Value = "DE-ZOLL fertig" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'DE-ZOLL fertig' einzutragen." - End If - Case 19 - If Not existCodeInGridVermerke(r, gridvermerke, 20) Then - optionCell.Value = "AT-ZOLL fertig" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'AT-ZOLL fertig' einzutragen." - End If - Case 25 - If Not existCodeInGridVermerke(r, gridvermerke, 30, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Dokument erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Dokument erhalten' einzutragen." - End If - Case 31 - If Not existCodeInGridVermerke(r, gridvermerke, 32, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Vorbereitung abgeschlossen" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Vorbereitung abgeschlossen' einzutragen." - End If - Case 33 - If Not existCodeInGridVermerke(r, gridvermerke, 34, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "ATA-Nr. erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'ATA-Nr. erhalten' einzutragen." - End If - Case 36 - If Not existCodeInGridVermerke(r, gridvermerke, 37, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Kontaktdaten erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Kontaktdaten erhalten' einzutragen." - End If + Select Case vermerkCode Case 46 If r.Cells("SMSId").Value IsNot DBNull.Value AndAlso IsNumeric(r.Cells("SMSId").Value) Then Dim SMS As New VERAG_PROG_ALLGEMEIN.cSMS(r.Cells("SMSId").Value) @@ -1464,10 +1222,6 @@ Public Class usrcntlAktDetails optionCell.Style.BackColor = Color.White optionCell.LinkColor = Color.Black - 'Select Case MSG.Status - ' Case MessageStatus.Expired, MessageStatus.Failed, MessageStatus.FailedAuthorisation, MessageStatus.Cancelled, MessageStatus.Rejected - - Select Case SMS.sms_Status Case -1 : optionCell.Value = "" Case com.esendex.sdk.core.MessageStatus.Submitted, com.esendex.sdk.core.MessageStatus.Sent, com.esendex.sdk.core.MessageStatus.Connecting, com.esendex.sdk.core.MessageStatus.Acknowledged, com.esendex.sdk.core.MessageStatus.Scheduled @@ -1489,77 +1243,31 @@ Public Class usrcntlAktDetails 'optionCell.Style.SelectionBackColor = optionCell.Style.BackColor End Select End If - Case 53 - If Not existCodeInGridVermerke(r, gridvermerke, 54, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Ü-Dok erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Ü-Dok erhalten' einzutragen." + Case 13 + If paarId > 0 Then + If r.Cells("VorauskasseId").Value IsNot DBNull.Value Then + If Not existCodeInGridVermerke_VK(gridvermerke, r.Cells("VorauskasseId").Value) Then + optionCell.Value = paarBez + optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk '" & paarBez & "' einzutragen." + End If + Else + If Not existCodeInGridVermerke_VK_OLD(gridvermerke, r.Cells("SendungID").Value) Then + optionCell.Value = paarBez + optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk '" & paarBez & "' einzutragen." + End If + End If End If - Case 55 - If Not existCodeInGridVermerke(r, gridvermerke, 56, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Rg-Best. erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Rg-Best. erhalten' einzutragen." - End If - Case 57 - If Not existCodeInGridVermerke(r, gridvermerke, 58, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Dispoliste erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Dispoliste erhalten' einzutragen." - End If - - Case 74 - If Not existCodeInGridVermerke(r, gridvermerke, 75, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Frachtkosten erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Frachtkosten erhalten' einzutragen." - End If - - Case 76 - If Not existCodeInGridVermerke(r, gridvermerke, 77, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Absend.best. erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Absenderbestätigung erhalten' einzutragen." - End If - - Case 96 - If Not existCodeInGridVermerke(r, gridvermerke, 97, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "T1 Bestätigung erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'T1 Bestätigung erhalten' einzutragen." - End If - - Case 80 - If Not existCodeInGridVermerke(r, gridvermerke, 81, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "ATB-Nr. erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'ATB-Nr. erhalten' einzutragen." - End If - Case 82 - If Not existCodeInGridVermerke(r, gridvermerke, 83) Then - optionCell.Value = "DE-ZOLL fertig" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'DE-ZOLL (DIGITAL) fertig' einzutragen." - End If - Case 101 - - If r.Cells("VermerkIDAufgehoben").Value Is DBNull.Value Then - ' If Not existCodeInGridVermerke(gridvermerke ,102, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Erledigt" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Sonstiger Grund erledigt' einzutragen." + If paarId > 0 AndAlso r.Cells("VermerkIDAufgehoben").Value Is DBNull.Value Then + optionCell.Value = paarBez + optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk '" & paarBez & "' einzutragen." End If - Case 103 - If Not existCodeInGridVermerke(r, gridvermerke, 104, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Gewicht/Packstücke erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Gewicht/Packstücke erhalten' einzutragen." - End If - Case 105 - If Not existCodeInGridVermerke(r, gridvermerke, 106, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Zolltarifnummer erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Zolltarifnummer erhalten' einzutragen." - End If - Case 107 - If Not existCodeInGridVermerke(r, gridvermerke, 108, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "Kostenbestätigung erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'Kostenbestätigung erhalten' einzutragen." - End If - Case 118 - If Not existCodeInGridVermerke(r, gridvermerke, 119, CStr(r.Cells("Hinweis_Vermerk").Value)) Then - optionCell.Value = "T1/T2 Draft OK erhalten" - optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk 'T1/T2 Draft OK ' einzutragen." + Case Else + If paarId > 0 Then + If Not existCodeInGridVermerke(r, gridvermerke, paarId, CStr(r.Cells("Hinweis_Vermerk").Value)) Then + optionCell.Value = paarBez + optionCell.ToolTipText = "Klicken Sie hier, um den Vermerk '" & paarBez & "' einzutragen." + End If End If End Select End If