jj 30.11 add BNSjsonDownload

This commit is contained in:
Jonathan Jenne 2017-11-30 17:08:37 +01:00
parent f656df112a
commit ecf7788c00
4 changed files with 82 additions and 36 deletions

View File

@ -61,7 +61,7 @@
<HintPath>..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
<Reference Include="Interop.WINDREAMLib">
<HintPath>..\..\..\Bibliotheken\DLL\windreamDLL\Interop.WINDREAMLib.dll</HintPath>
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll</HintPath>
<EmbedInteropTypes>False</EmbedInteropTypes>
</Reference>
<Reference Include="Interop.WMOBRWSLib">
@ -85,10 +85,6 @@
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />
<Reference Include="System.Data.SQLite, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\System.Data.SQLite\2005\GAC\System.Data.SQLite.dll</HintPath>
</Reference>
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.ServiceProcess" />

View File

@ -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

View File

@ -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

View File

@ -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