From ecf7788c001b8ded7df85b776f5dd6129e1ae358 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 30 Nov 2017 17:08:37 +0100 Subject: [PATCH] jj 30.11 add BNSjsonDownload --- .../ResultHandler_Konfig.vbproj | 6 +- .../clsDateiverarbeitung.vb | 49 ++++++++++++++- app/ResultHandler_Konfig/clsProfil.vb | 63 ++++++++++--------- app/ResultHandler_Konfig/frmMain.vb | 2 +- 4 files changed, 83 insertions(+), 37 deletions(-) diff --git a/app/ResultHandler_Konfig/ResultHandler_Konfig.vbproj b/app/ResultHandler_Konfig/ResultHandler_Konfig.vbproj index a963f63..7b625a7 100644 --- a/app/ResultHandler_Konfig/ResultHandler_Konfig.vbproj +++ b/app/ResultHandler_Konfig/ResultHandler_Konfig.vbproj @@ -61,7 +61,7 @@ ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll - ..\..\..\Bibliotheken\DLL\windreamDLL\Interop.WINDREAMLib.dll + P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll False @@ -85,10 +85,6 @@ - - False - D:\ProgramFiles\System.Data.SQLite\2005\GAC\System.Data.SQLite.dll - diff --git a/app/ResultHandler_Konfig/clsDateiverarbeitung.vb b/app/ResultHandler_Konfig/clsDateiverarbeitung.vb index 97c53ba..52bb3f8 100644 --- a/app/ResultHandler_Konfig/clsDateiverarbeitung.vb +++ b/app/ResultHandler_Konfig/clsDateiverarbeitung.vb @@ -1,5 +1,9 @@ Imports WINDREAMLib Imports System.IO +Imports System.Net +Imports Newtonsoft.Json +Imports System.Text + Public Class clsDateiverarbeitung #Region "***** Variablen und Konstanten*****" @@ -200,13 +204,40 @@ Public Class clsDateiverarbeitung clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsDateiverarbeitung.Rename_File_Vektor") End Try End Function - Public Shared Function BNSjsonDownload(WMFile As WMObject) + Public Shared Function BNSjsonDownload(WMFile As WMObject, userId As String) Try 'den Wert des Indexes für das aktuelle Dokument auslesen - Dim SENDUNGNR = WMFile.GetVariableValue("SendungNr") - Dim DOKID = WMFile.GetVariableValue("DokumentID") + Dim SENDUNGNR = WMFile.GetVariableValue("Sendungnr") + Dim DOKID = WMFile.GetVariableValue("Dokument-ID") + Dim DOKART = WMFile.GetVariableValue("Dokumentart") 'Add Info to JsonArray '...... + Dim hostname = "91.229.192.183:8100" + Dim link As String = $"http://{hostname}/WMWebApi/windream.web.api/DigitalData/BNSDownload?docId={DOKID}&userId={userId}" + Dim now As DateTime = DateTime.Now + + Dim doc As New BNSDocument() + doc.Bemerkung = DOKART + doc.Ivalidfrom = now + doc.Ivaliduntil = now.AddDays(30) + doc.Pfad = link + + Dim json = JsonConvert.SerializeObject(doc, Formatting.None) + Dim bytes = Encoding.Default.GetBytes(json) + + ' HTTP Request machen + ' URL Anpassen! + + Dim url As String = "http://{Domain}:{Port}/Customer/{Kunden ID}/{Geschäftsobjekt}/{GeschäftsobjektID}/dokument" + + Using wc As WebClient = New WebClient() + + wc.Headers.Add(HttpRequestHeader.ContentType, "application/json") + Dim response As Byte() = wc.UploadData(url, bytes) + Dim responseString = Encoding.Default.GetString(response) + + clsLogger.Add($"Datei geschrieben! docId: {DOKID}, dokart: {DOKART}, userId: {userId}", "BNSjsonDownload") + End Using Catch ex As Exception clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "BNSjsonDownload") @@ -300,5 +331,17 @@ Public Class clsDateiverarbeitung End Try End Function + Public Class BNSDocument + Public Doksourcetype As Integer = 3 + Public Pfad As String + Public Ivalidfrom As DateTime + Public Ivaliduntil As DateTime + Public Bemerkung As String + Public Primaer As Boolean = False + + Public Sub New() + End Sub + End Class + End Class diff --git a/app/ResultHandler_Konfig/clsProfil.vb b/app/ResultHandler_Konfig/clsProfil.vb index 65e1550..bab7eee 100644 --- a/app/ResultHandler_Konfig/clsProfil.vb +++ b/app/ResultHandler_Konfig/clsProfil.vb @@ -128,33 +128,36 @@ Public Class clsProfil clsLogger.AddDetailLog("DT_PROFIL_JOB.Rows.Count > 0") If clsDateiverarbeitung.InitProfilData = True Then clsLogger.AddDetailLog("clsDateiverarbeitung.InitProfilData = True") - For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows - Dim result = DR_PR_JB.Item("JOB_TYP").ToString.ToUpper - Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper - Case "BNS json Download".ToUpper - 'ARRAY oder Äqivalent bilden - Dim sb As New StringBuilder() - Dim sw As New StringWriter(sb) - Using writer As JsonWriter = New JsonTextWriter(sw) - writer.Formatting = Formatting.Indented - - writer.WriteStartObject() - writer.WritePropertyName("CPU") - writer.WriteValue("Intel") - writer.WritePropertyName("PSU") - writer.WriteValue("500W") - writer.WritePropertyName("Drives") - writer.WriteStartArray() - writer.WriteValue("DVD read/writer") - writer.WriteComment("(broken)") - writer.WriteValue("500 gigabyte hard drive") - writer.WriteValue("200 gigabype hard drive") - writer.WriteEnd() - writer.WriteEndObject() - End Using - Console.WriteLine(sb.ToString()) - End Select - Next + + + + 'For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows + ' Dim result = DR_PR_JB.Item("JOB_TYP").ToString.ToUpper + ' Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper + ' Case "BNS json Download".ToUpper + ' 'ARRAY oder Äqivalent bilden + ' Dim sb As New StringBuilder() + ' Dim sw As New StringWriter(sb) + ' Using writer As JsonWriter = New JsonTextWriter(sw) + ' writer.Formatting = Formatting.Indented + + ' writer.WriteStartObject() + ' writer.WritePropertyName("CPU") + ' writer.WriteValue("Intel") + ' writer.WritePropertyName("PSU") + ' writer.WriteValue("500W") + ' writer.WritePropertyName("Drives") + ' writer.WriteStartArray() + ' writer.WriteValue("DVD read/writer") + ' writer.WriteComment("(broken)") + ' writer.WriteValue("500 gigabyte hard drive") + ' writer.WriteValue("200 gigabype hard drive") + ' writer.WriteEnd() + ' writer.WriteEndObject() + ' End Using + ' Console.WriteLine(sb.ToString()) + ' End Select + 'Next For Each WMdok As WMObject In windreamSucheErgebnisse For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows @@ -264,7 +267,8 @@ Public Class clsProfil End If 'Next Case "BNS json Download".ToUpper - clsDateiverarbeitung.BNSjsonDownload(WMdok) + clsDateiverarbeitung.BNSjsonDownload(WMdok, DR_PR_JB.Item("STRING1")) + End Select 'Abschluss Bearbeitung Job @@ -419,5 +423,8 @@ Public Class clsProfil End Try End Function + + + End Class diff --git a/app/ResultHandler_Konfig/frmMain.vb b/app/ResultHandler_Konfig/frmMain.vb index d397866..f04d659 100644 --- a/app/ResultHandler_Konfig/frmMain.vb +++ b/app/ResultHandler_Konfig/frmMain.vb @@ -443,7 +443,7 @@ Public Class frmMain Case 1 lblString1.Text = "Email-Empfänger:" Case 2 'json BNS - lblString1.Text = "Speicherort json File:" + lblString1.Text = "User Kunde:" End Select End Sub