diff --git a/VERAGAddIn/VERAGAddIn.vbproj b/VERAGAddIn/VERAGAddIn.vbproj
index abb039c..3e487fd 100644
--- a/VERAGAddIn/VERAGAddIn.vbproj
+++ b/VERAGAddIn/VERAGAddIn.vbproj
@@ -36,7 +36,7 @@
\\ftps.verag.ag\g\FTP\Programme\VeragAddin\
http://ftps.verag.ag/VERAGAddin/
de
- 1.0.1.138
+ 1.0.1.139
true
true
0
diff --git a/VERAGAddIn/rbnVERAG.vb b/VERAGAddIn/rbnVERAG.vb
index f6bf4e7..a7fa518 100644
--- a/VERAGAddIn/rbnVERAG.vb
+++ b/VERAGAddIn/rbnVERAG.vb
@@ -740,41 +740,51 @@ Public Class AVISO_Mail_Functions
Dim dt As New DataTable()
dt.Columns.AddRange({
- New DataColumn("Record"),
- New DataColumn("Consignee"),
- New DataColumn("Quantity"),
- New DataColumn("GrossWeight"),
- New DataColumn("OrderCustoms"),
- New DataColumn("OperationType"),
- New DataColumn("Description"),
- New DataColumn("LinkText"),
- New DataColumn("LinkUrl")
- })
+ New DataColumn("Record"),
+ New DataColumn("Consignee"),
+ New DataColumn("Quantity"),
+ New DataColumn("GrossWeight"),
+ New DataColumn("OrderCustoms"),
+ New DataColumn("Address"),
+ New DataColumn("Code"),
+ New DataColumn("OperationType"),
+ New DataColumn("Links") ' store ALL links (doc + cmr)
+})
Dim doc As New HtmlAgilityPack.HtmlDocument()
doc.LoadHtml(mailItem.HTMLBody)
- Dim rows = doc.DocumentNode.SelectNodes("//tr[td]")
+ Dim rows = doc.DocumentNode.SelectNodes("//tr")
If rows Is Nothing Then Return dt
For Each row In rows
+
Dim cells = row.SelectNodes("td")
- If cells Is Nothing OrElse cells.Count < 8 Then Continue For
+ If cells Is Nothing Then Continue For
- Dim linkNode = cells(7).SelectSingleNode(".//a")
+ Dim recordText As String = Clean(cells(0).InnerText)
- dt.Rows.Add(
- Clean(cells(0).InnerText),
- Clean(cells(1).InnerText),
- Clean(cells(2).InnerText),
- Clean(cells(3).InnerText),
- Clean(cells(4).InnerText),
- Clean(cells(5).InnerText),
- Clean(cells(6).InnerText),
- If(linkNode IsNot Nothing, Clean(linkNode.InnerText), ""),
- If(linkNode IsNot Nothing, linkNode.GetAttributeValue("href", ""), "")
- )
+ If Not IsNumeric(recordText) Then Continue For
+
+ Dim linkNodes = row.SelectNodes(".//a")
+ Dim links As New List(Of String)
+
+ If linkNodes IsNot Nothing Then
+ For Each ln In linkNodes
+ Dim href = ln.GetAttributeValue("href", "")
+ If href <> "" Then links.Add(href)
+ Next
+ End If
+
+ Dim GetCell = Function(index As Integer) As String
+ If cells.Count > index Then
+ Return Clean(cells(index).InnerText)
+ End If
+ Return ""
+ End Function
+
+ dt.Rows.Add(recordText, GetCell(1), GetCell(2), GetCell(3), GetCell(4), GetCell(5), GetCell(6), GetCell(7), String.Join("|", links))
Next
@@ -783,54 +793,61 @@ Public Class AVISO_Mail_Functions
Dim sendungsNrOld As String = ""
Dim missingDocuments As String = ""
- For Each r In dt.Rows
+ For Each r As DataRow In dt.Rows
- If r("LinkUrl") <> "" AndAlso r("LinkUrl").ToString.Contains("https://web01.ekoltransport.com.tr/dfdsdocumentservice/download/") Then
+ Dim links = r("Links").ToString().Split("|"c)
- Dim link As String = r("LinkUrl")
+ For Each linkRaw In links
- If link.EndsWith("%20") And link.Length > 3 Then
- link = link.Remove(link.Length - 3)
- End If
+ If String.IsNullOrWhiteSpace(linkRaw) Then Continue For
- Dim sendungsNr As String = r("Record")
+ If linkRaw.Contains("dfdsdocumentservice/download") Then
- Dim Descr As String = r("Description")
+ Dim link As String = linkRaw.Trim()
- If Descr <> "" Then
- Descr = Descr.ToString.Replace(";", "_")
- Descr = Descr.ToString.Replace(".", "_")
- Descr = Descr.ToString.Replace(" ", "_")
- Descr = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(Descr)
- End If
-
- If sendungsNrOld <> "" AndAlso sendungsNrOld <> sendungsNr Then
- counter = 1
- End If
-
- Dim file = VERAG_PROG_ALLGEMEIN.cFormularManager.getFile_FromURLStream(link, r("Record") & "_" & counter & "_" & IIf(Descr <> "", Descr, ""),, False)
-
- If IO.File.Exists(file) Then
- ATT.Add(file)
-
- Else
- If missingDocuments <> "" Then
- missingDocuments &= vbNewLine & r("Record") & "_" & counter & "_" & IIf(Descr <> "", Descr, "")
- Else
- missingDocuments = "fehlende Dokumente: " & vbNewLine & r("Record") & "_" & counter & "_" & IIf(Descr <> "", Descr, "")
+ If link.EndsWith("%20") Then
+ link = link.Substring(0, link.Length - 3)
End If
- End If
- counter += 1
+ Dim sendungsNr As String = r("Record").ToString()
+ Dim descr As String = r("Consignee").ToString()
- sendungsNrOld = r("Record")
+ If descr <> "" Then
+ descr = descr.Replace(";", "_").
+ Replace(".", "_").
+ Replace(" ", "_")
+
+ descr = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(descr)
+ End If
+
+ If sendungsNrOld <> "" AndAlso sendungsNrOld <> sendungsNr Then
+ counter = 1
+ End If
+
+ Dim filename As String = sendungsNr & "_" & counter &
+ If(descr <> "", "_" & descr, "")
+
+ Dim file = VERAG_PROG_ALLGEMEIN.cFormularManager.getFile_FromURLStream(link, filename,, False)
+
+ If IO.File.Exists(file) Then
+ ATT.Add(file)
+ Else
+ If missingDocuments <> "" Then
+ missingDocuments &= vbNewLine & filename
+ Else
+ missingDocuments = "fehlende Dokumente:" & vbNewLine & filename
+ End If
+ End If
+
+ counter += 1
+ sendungsNrOld = sendungsNr
End If
+ Next
Next
-
If missingDocuments <> "" Then
INFO = missingDocuments
End If