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> <HintPath>..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference> </Reference>
<Reference Include="Interop.WINDREAMLib"> <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> <EmbedInteropTypes>False</EmbedInteropTypes>
</Reference> </Reference>
<Reference Include="Interop.WMOBRWSLib"> <Reference Include="Interop.WMOBRWSLib">
@ -85,10 +85,6 @@
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" /> <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.Deployment" />
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.ServiceProcess" /> <Reference Include="System.ServiceProcess" />

View File

@ -1,5 +1,9 @@
Imports WINDREAMLib Imports WINDREAMLib
Imports System.IO Imports System.IO
Imports System.Net
Imports Newtonsoft.Json
Imports System.Text
Public Class clsDateiverarbeitung Public Class clsDateiverarbeitung
#Region "***** Variablen und Konstanten*****" #Region "***** Variablen und Konstanten*****"
@ -200,13 +204,40 @@ Public Class clsDateiverarbeitung
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsDateiverarbeitung.Rename_File_Vektor") clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "clsDateiverarbeitung.Rename_File_Vektor")
End Try End Try
End Function End Function
Public Shared Function BNSjsonDownload(WMFile As WMObject) Public Shared Function BNSjsonDownload(WMFile As WMObject, userId As String)
Try Try
'den Wert des Indexes für das aktuelle Dokument auslesen 'den Wert des Indexes für das aktuelle Dokument auslesen
Dim SENDUNGNR = WMFile.GetVariableValue("SendungNr") Dim SENDUNGNR = WMFile.GetVariableValue("Sendungnr")
Dim DOKID = WMFile.GetVariableValue("DokumentID") Dim DOKID = WMFile.GetVariableValue("Dokument-ID")
Dim DOKART = WMFile.GetVariableValue("Dokumentart")
'Add Info to JsonArray '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 Catch ex As Exception
clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "BNSjsonDownload") clsLogger.AddError("Unvorhergesehener Fehler: " & ex.Message, "BNSjsonDownload")
@ -300,5 +331,17 @@ Public Class clsDateiverarbeitung
End Try End Try
End Function 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 End Class

View File

@ -128,33 +128,36 @@ Public Class clsProfil
clsLogger.AddDetailLog("DT_PROFIL_JOB.Rows.Count > 0") clsLogger.AddDetailLog("DT_PROFIL_JOB.Rows.Count > 0")
If clsDateiverarbeitung.InitProfilData = True Then If clsDateiverarbeitung.InitProfilData = True Then
clsLogger.AddDetailLog("clsDateiverarbeitung.InitProfilData = True") 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") 'For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
writer.WritePropertyName("PSU") ' Dim result = DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
writer.WriteValue("500W") ' Select Case DR_PR_JB.Item("JOB_TYP").ToString.ToUpper
writer.WritePropertyName("Drives") ' Case "BNS json Download".ToUpper
writer.WriteStartArray() ' 'ARRAY oder Äqivalent bilden
writer.WriteValue("DVD read/writer") ' Dim sb As New StringBuilder()
writer.WriteComment("(broken)") ' Dim sw As New StringWriter(sb)
writer.WriteValue("500 gigabyte hard drive") ' Using writer As JsonWriter = New JsonTextWriter(sw)
writer.WriteValue("200 gigabype hard drive") ' writer.Formatting = Formatting.Indented
writer.WriteEnd()
writer.WriteEndObject() ' writer.WriteStartObject()
End Using ' writer.WritePropertyName("CPU")
Console.WriteLine(sb.ToString()) ' writer.WriteValue("Intel")
End Select ' writer.WritePropertyName("PSU")
Next ' 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 WMdok As WMObject In windreamSucheErgebnisse
For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows For Each DR_PR_JB As DataRow In DT_PROFIL_JOB.Rows
@ -264,7 +267,8 @@ Public Class clsProfil
End If End If
'Next 'Next
Case "BNS json Download".ToUpper Case "BNS json Download".ToUpper
clsDateiverarbeitung.BNSjsonDownload(WMdok) clsDateiverarbeitung.BNSjsonDownload(WMdok, DR_PR_JB.Item("STRING1"))
End Select End Select
'Abschluss Bearbeitung Job 'Abschluss Bearbeitung Job
@ -419,5 +423,8 @@ Public Class clsProfil
End Try End Try
End Function End Function
End Class End Class

View File

@ -443,7 +443,7 @@ Public Class frmMain
Case 1 Case 1
lblString1.Text = "Email-Empfänger:" lblString1.Text = "Email-Empfänger:"
Case 2 'json BNS Case 2 'json BNS
lblString1.Text = "Speicherort json File:" lblString1.Text = "User Kunde:"
End Select End Select
End Sub End Sub