diff --git a/DDMonorepo.sln b/DDMonorepo.sln
index 14fb2b72..09f4c1c5 100644
--- a/DDMonorepo.sln
+++ b/DDMonorepo.sln
@@ -114,6 +114,8 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DDEDMLicenseService", "Serv
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "GUIs.Test.EDMIBenchmark", "GUIs.Test.EDMIBenchmark\GUIs.Test.EDMIBenchmark.vbproj", "{5FDEC007-7AE0-4829-B1AE-6165E29375DA}"
EndProject
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "GUIs.Test.JobTest", "GUIs.Test.JobTest\GUIs.Test.JobTest.vbproj", "{CEC6B41B-764B-4304-B4F8-BFEBA37A03FB}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -296,6 +298,10 @@ Global
{5FDEC007-7AE0-4829-B1AE-6165E29375DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5FDEC007-7AE0-4829-B1AE-6165E29375DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5FDEC007-7AE0-4829-B1AE-6165E29375DA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CEC6B41B-764B-4304-B4F8-BFEBA37A03FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CEC6B41B-764B-4304-B4F8-BFEBA37A03FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CEC6B41B-764B-4304-B4F8-BFEBA37A03FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CEC6B41B-764B-4304-B4F8-BFEBA37A03FB}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -345,6 +351,7 @@ Global
{7DEEC36E-EA5F-4711-AD1E-FD8894F4AD77} = {7AF3F9C2-C939-4A08-95C1-0453207E298A}
{CBE9322E-67A1-4CC5-B25F-4A1B4C9FC55C} = {7AF3F9C2-C939-4A08-95C1-0453207E298A}
{5FDEC007-7AE0-4829-B1AE-6165E29375DA} = {CC368D6A-6AC4-4EB9-A092-14700FABEF7A}
+ {CEC6B41B-764B-4304-B4F8-BFEBA37A03FB} = {CC368D6A-6AC4-4EB9-A092-14700FABEF7A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C1BE4090-A0FD-48AF-86CB-39099D14B286}
diff --git a/GUIs.Test.JobTest/App.config b/GUIs.Test.JobTest/App.config
new file mode 100644
index 00000000..ffaf5407
--- /dev/null
+++ b/GUIs.Test.JobTest/App.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/GUIs.Test.JobTest/Form1.Designer.vb b/GUIs.Test.JobTest/Form1.Designer.vb
new file mode 100644
index 00000000..fe147c20
--- /dev/null
+++ b/GUIs.Test.JobTest/Form1.Designer.vb
@@ -0,0 +1,50 @@
+ _
+Partial Class Form1
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+ _
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+ _
+ Private Sub InitializeComponent()
+ Me.Button1 = New System.Windows.Forms.Button()
+ Me.SuspendLayout()
+ '
+ 'Button1
+ '
+ Me.Button1.Location = New System.Drawing.Point(253, 101)
+ Me.Button1.Name = "Button1"
+ Me.Button1.Size = New System.Drawing.Size(75, 23)
+ Me.Button1.TabIndex = 0
+ Me.Button1.Text = "Button1"
+ Me.Button1.UseVisualStyleBackColor = True
+ '
+ 'Form1
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(800, 450)
+ Me.Controls.Add(Me.Button1)
+ Me.Name = "Form1"
+ Me.Text = "Form1"
+ Me.ResumeLayout(False)
+
+ End Sub
+
+ Friend WithEvents Button1 As Button
+End Class
diff --git a/GUIs.Test.JobTest/Form1.resx b/GUIs.Test.JobTest/Form1.resx
new file mode 100644
index 00000000..1af7de15
--- /dev/null
+++ b/GUIs.Test.JobTest/Form1.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/GUIs.Test.JobTest/Form1.vb b/GUIs.Test.JobTest/Form1.vb
new file mode 100644
index 00000000..b05826f5
--- /dev/null
+++ b/GUIs.Test.JobTest/Form1.vb
@@ -0,0 +1,16 @@
+Imports DigitalData.Modules.Jobs
+Imports DigitalData.Modules.Logging
+
+Public Class Form1
+ Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
+ Dim oLogConfig As New LogConfig(LogConfig.PathType.Temp)
+ Dim oJob As New GraphQLJob(oLogConfig)
+
+ Dim oArgs As New GraphQLArgs() With {
+ .Enabled = True,
+ .Interval = 999,
+ .QueryConfigPath = "E:\GraphQL"
+ }
+ oJob.Start(oArgs)
+ End Sub
+End Class
diff --git a/GUIs.Test.JobTest/GUIs.Test.JobTest.vbproj b/GUIs.Test.JobTest/GUIs.Test.JobTest.vbproj
new file mode 100644
index 00000000..ac5a1c67
--- /dev/null
+++ b/GUIs.Test.JobTest/GUIs.Test.JobTest.vbproj
@@ -0,0 +1,133 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {CEC6B41B-764B-4304-B4F8-BFEBA37A03FB}
+ WinExe
+ GUIs.Test.JobTest.My.MyApplication
+ GUIs.Test.JobTest
+ GUIs.Test.JobTest
+ 512
+ WindowsForms
+ v4.7.2
+ true
+ true
+
+
+ AnyCPU
+ true
+ full
+ true
+ true
+ bin\Debug\
+ GUIs.Test.JobTest.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ AnyCPU
+ pdbonly
+ false
+ true
+ true
+ bin\Release\
+ GUIs.Test.JobTest.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ On
+
+
+ Binary
+
+
+ Off
+
+
+ On
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ Form1.vb
+ Form
+
+
+
+ True
+ Application.myapp
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+ Form1.vb
+
+
+ VbMyResourcesResXFileCodeGenerator
+ Resources.Designer.vb
+ My.Resources
+ Designer
+
+
+
+
+ MyApplicationCodeGenerator
+ Application.Designer.vb
+
+
+ SettingsSingleFileGenerator
+ My
+ Settings.Designer.vb
+
+
+
+
+
+ {39ec839a-3c30-4922-a41e-6b09d1dde5c3}
+ Jobs
+
+
+ {903b2d7d-3b80-4be9-8713-7447b704e1b0}
+ Logging
+
+
+
+
\ No newline at end of file
diff --git a/GUIs.Test.JobTest/My Project/Application.Designer.vb b/GUIs.Test.JobTest/My Project/Application.Designer.vb
new file mode 100644
index 00000000..3dcba675
--- /dev/null
+++ b/GUIs.Test.JobTest/My Project/Application.Designer.vb
@@ -0,0 +1,38 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.42000
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ 'NOTE: This file is auto-generated; do not modify it directly. To make changes,
+ ' or if you encounter build errors in this file, go to the Project Designer
+ ' (go to Project Properties or double-click the My Project node in
+ ' Solution Explorer), and make changes on the Application tab.
+ '
+ Partial Friend Class MyApplication
+
+ _
+ Public Sub New()
+ MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
+ Me.IsSingleInstance = false
+ Me.EnableVisualStyles = true
+ Me.SaveMySettingsOnExit = true
+ Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
+ End Sub
+
+ _
+ Protected Overrides Sub OnCreateMainForm()
+ Me.MainForm = Global.GUIs.Test.JobTest.Form1
+ End Sub
+ End Class
+End Namespace
diff --git a/GUIs.Test.JobTest/My Project/Application.myapp b/GUIs.Test.JobTest/My Project/Application.myapp
new file mode 100644
index 00000000..1243847f
--- /dev/null
+++ b/GUIs.Test.JobTest/My Project/Application.myapp
@@ -0,0 +1,11 @@
+
+
+ true
+ Form1
+ false
+ 0
+ true
+ 0
+ 0
+ true
+
diff --git a/GUIs.Test.JobTest/My Project/AssemblyInfo.vb b/GUIs.Test.JobTest/My Project/AssemblyInfo.vb
new file mode 100644
index 00000000..896cf092
--- /dev/null
+++ b/GUIs.Test.JobTest/My Project/AssemblyInfo.vb
@@ -0,0 +1,35 @@
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' Allgemeine Informationen über eine Assembly werden über die folgenden
+' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+' die einer Assembly zugeordnet sind.
+
+' Werte der Assemblyattribute überprüfen
+
+
+
+
+
+
+
+
+
+
+'Die folgende GUID wird für die typelib-ID verwendet, wenn dieses Projekt für COM verfügbar gemacht wird.
+
+
+' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+'
+' Hauptversion
+' Nebenversion
+' Buildnummer
+' Revision
+'
+' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
+' indem Sie "*" wie unten gezeigt eingeben:
+'
+
+
+
diff --git a/GUIs.Test.JobTest/My Project/Resources.Designer.vb b/GUIs.Test.JobTest/My Project/Resources.Designer.vb
new file mode 100644
index 00000000..69aacc95
--- /dev/null
+++ b/GUIs.Test.JobTest/My Project/Resources.Designer.vb
@@ -0,0 +1,62 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.42000
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My.Resources
+
+ 'This class was auto-generated by the StronglyTypedResourceBuilder
+ 'class via a tool like ResGen or Visual Studio.
+ 'To add or remove a member, edit your .ResX file then rerun ResGen
+ 'with the /str option, or rebuild your VS project.
+ '''
+ ''' A strongly-typed resource class, for looking up localized strings, etc.
+ '''
+ _
+ Friend Module Resources
+
+ Private resourceMan As Global.System.Resources.ResourceManager
+
+ Private resourceCulture As Global.System.Globalization.CultureInfo
+
+ '''
+ ''' Returns the cached ResourceManager instance used by this class.
+ '''
+ _
+ Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
+ Get
+ If Object.ReferenceEquals(resourceMan, Nothing) Then
+ Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("GUIs.Test.JobTest.Resources", GetType(Resources).Assembly)
+ resourceMan = temp
+ End If
+ Return resourceMan
+ End Get
+ End Property
+
+ '''
+ ''' Overrides the current thread's CurrentUICulture property for all
+ ''' resource lookups using this strongly typed resource class.
+ '''
+ _
+ Friend Property Culture() As Global.System.Globalization.CultureInfo
+ Get
+ Return resourceCulture
+ End Get
+ Set(ByVal value As Global.System.Globalization.CultureInfo)
+ resourceCulture = value
+ End Set
+ End Property
+ End Module
+End Namespace
diff --git a/GUIs.Test.JobTest/My Project/Resources.resx b/GUIs.Test.JobTest/My Project/Resources.resx
new file mode 100644
index 00000000..af7dbebb
--- /dev/null
+++ b/GUIs.Test.JobTest/My Project/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/GUIs.Test.JobTest/My Project/Settings.Designer.vb b/GUIs.Test.JobTest/My Project/Settings.Designer.vb
new file mode 100644
index 00000000..7d88e474
--- /dev/null
+++ b/GUIs.Test.JobTest/My Project/Settings.Designer.vb
@@ -0,0 +1,73 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' Runtime Version:4.0.30319.42000
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+
+ _
+ Partial Friend NotInheritable Class MySettings
+ Inherits Global.System.Configuration.ApplicationSettingsBase
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
+
+#Region "My.Settings Auto-Save Functionality"
+#If _MyType = "WindowsForms" Then
+ Private Shared addedHandler As Boolean
+
+ Private Shared addedHandlerLockObject As New Object
+
+ _
+ Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
+#End If
+#End Region
+
+ Public Shared ReadOnly Property [Default]() As MySettings
+ Get
+
+#If _MyType = "WindowsForms" Then
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
+#End If
+ Return defaultInstance
+ End Get
+ End Property
+ End Class
+End Namespace
+
+Namespace My
+
+ _
+ Friend Module MySettingsProperty
+
+ _
+ Friend ReadOnly Property Settings() As Global.GUIs.Test.JobTest.My.MySettings
+ Get
+ Return Global.GUIs.Test.JobTest.My.MySettings.Default
+ End Get
+ End Property
+ End Module
+End Namespace
diff --git a/GUIs.Test.JobTest/My Project/Settings.settings b/GUIs.Test.JobTest/My Project/Settings.settings
new file mode 100644
index 00000000..85b890b3
--- /dev/null
+++ b/GUIs.Test.JobTest/My Project/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/Modules.Interfaces/GraphQLInterface.vb b/Modules.Interfaces/GraphQLInterface.vb
index 9956288d..f800d201 100644
--- a/Modules.Interfaces/GraphQLInterface.vb
+++ b/Modules.Interfaces/GraphQLInterface.vb
@@ -122,6 +122,7 @@ Public Class GraphQLInterface
oRequest.ContentLength = PostData.Length
oRequest.ClientCertificates.Add(_certificate)
oRequest.CookieContainer = GetCookies()
+
oRequest.Proxy = Nothing
If Proxy Is Nothing Then
diff --git a/Modules.Jobs/EDMI/GraphQL/GraphQLArgs.vb b/Modules.Jobs/EDMI/GraphQL/GraphQLArgs.vb
index 36ed04f1..392d86cc 100644
--- a/Modules.Jobs/EDMI/GraphQL/GraphQLArgs.vb
+++ b/Modules.Jobs/EDMI/GraphQL/GraphQLArgs.vb
@@ -1,9 +1,5 @@
Public Class GraphQLArgs
Inherits JobArgs
- Public CertificateFile As String
- Public CertificatePassword As String
- Public Email As String
- Public Password As String
- Public BaseUrl As String
+ Public QueryConfigPath As String
End Class
diff --git a/Modules.Jobs/EDMI/GraphQL/GraphQLConfig.vb b/Modules.Jobs/EDMI/GraphQL/GraphQLConfig.vb
new file mode 100644
index 00000000..722855ed
--- /dev/null
+++ b/Modules.Jobs/EDMI/GraphQL/GraphQLConfig.vb
@@ -0,0 +1,26 @@
+Imports System.Collections.Generic
+
+Public Class GraphQLConfig
+ Public Property BaseUrl As String = ""
+ Public Property Email As String = ""
+ Public Property Password As String = ""
+ Public Property CertificateFingerprint As String = ""
+ Public Property Queries As New List(Of Query)
+
+ Public Class Query
+ Public Property ConnectionString As String = ""
+ Public Property ClearBeforeFill As Boolean = False
+ Public Property QueryString As String = ""
+ Public Property OperationName As String = ""
+ Public Property DestinationTable As String = ""
+
+ Public Property MappingBasePath As String = ""
+ Public Property MappingFields As New List(Of FieldMapping)
+ End Class
+
+ Public Class FieldMapping
+ Public SourcePath As String = ""
+ Public DestinationColumn As String = ""
+ Public Value As String = ""
+ End Class
+End Class
diff --git a/Modules.Jobs/EDMI/GraphQL/GraphQLJob.vb b/Modules.Jobs/EDMI/GraphQL/GraphQLJob.vb
index 1c79ba30..39b036b7 100644
--- a/Modules.Jobs/EDMI/GraphQL/GraphQLJob.vb
+++ b/Modules.Jobs/EDMI/GraphQL/GraphQLJob.vb
@@ -1,7 +1,9 @@
Imports System.IO
Imports DigitalData.Modules.Interfaces
Imports DigitalData.Modules.Jobs
+Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Logging
+Imports Newtonsoft.Json.Linq
Public Class GraphQLJob
Inherits JobBase
@@ -12,56 +14,69 @@ Public Class GraphQLJob
End Sub
Public Sub Start(Args As GraphQLArgs) Implements IJob(Of GraphQLArgs).Start
- Dim oInterface As New GraphQLInterface(
- _LogConfig, Args.BaseUrl, Args.Email, Args.Password, Args.CertificateFile, Args.CertificatePassword)
+ Try
+ Dim oConfigPath As String = Args.QueryConfigPath
+ Dim oConfigManager As New ConfigManager(Of GraphQLConfig)(_LogConfig, oConfigPath)
- Dim oQuery = "query Nls{
- niederlassungen(offset: 0, limit: 5) {
- niederlassungen {
- mdnr
- bezeichnung
- sparte {
- id
- name
- __typename
- }
- __typename
- }
- __typename
- }
- }"
+ Dim oInterface As GraphQLInterface
- _Logger.Info("Logging in..")
+ With oConfigManager.Config
+ oInterface = New GraphQLInterface(_LogConfig, .BaseUrl, .Email, .Password, .CertificateFingerprint)
+ End With
- ' Login to get cookie
- Dim oLoginResponse = oInterface.Login()
+ ' Login to get cookie
+ _Logger.Info("Logging in..")
+ Dim oLoginResponse = oInterface.Login()
- ' save cookie for future requests
- oInterface.SaveCookies(oLoginResponse.Cookies.Item(0))
+ ' save cookie for future requests
+ oInterface.SaveCookies(oLoginResponse.Cookies.Item(0))
- _Logger.Info("Getting the data..")
+ _Logger.Info("Getting the data..")
- ' get the data
- Dim oDataResponse = oInterface.GetData(oQuery, "Nls")
- Dim oResult As String
+ For Each oQuery As GraphQLConfig.Query In oConfigManager.Config.Queries
+ Dim oCurrentQuery = oQuery
- ' write data to string
- Using oStream = oDataResponse.GetResponseStream()
- Using oReader As New StreamReader(oStream)
- oResult = oReader.ReadToEnd()
- End Using
- End Using
+ ' get the data
+ Dim oDataResponse = oInterface.GetData(oCurrentQuery.QueryString, oCurrentQuery.OperationName)
+ Dim oResult As String
- ' TODO: save data to file
- _Logger.Info("Response is:")
- _Logger.Info(oResult)
+ ' write data to string
+ Using oStream = oDataResponse.GetResponseStream()
+ Using oReader As New StreamReader(oStream)
+ oResult = oReader.ReadToEnd()
+ End Using
+ End Using
- _Logger.Info("Logging out..")
+ oCurrentQuery = HandleResponse(oResult, oCurrentQuery)
+ Next
- ' logout
- Dim oLogoutResponse = oInterface.Logout()
+ ' logout
+ _Logger.Info("Logging out..")
+ Dim oLogoutResponse = oInterface.Logout()
+ Catch ex As Exception
+ _Logger.Error(ex)
+ Throw ex
+ End Try
End Sub
+ Private Function HandleResponse(JsonString As String, QueryData As GraphQLConfig.Query) As GraphQLConfig.Query
+ Dim oObj As JObject = JObject.Parse(JsonString)
+ Dim oResultList = oObj.SelectToken(QueryData.MappingBasePath)
+ Dim oMappings = QueryData.MappingFields
+
+ For Each oResultItem In oResultList
+ For Each oMapping In oMappings
+ Dim oValue = oResultItem.SelectToken(oMapping.SourcePath).ToString()
+
+ ' TODO: Build SQL
+ Next
+
+ 'TODO: Insert into db
+ Next
+
+ Return QueryData
+ End Function
+
Public Function ShouldStart(Arguments As GraphQLArgs) As Boolean Implements IJob(Of GraphQLArgs).ShouldStart
Return Arguments.Enabled
End Function
diff --git a/Modules.Jobs/Jobs.vbproj b/Modules.Jobs/Jobs.vbproj
index 734d342a..8b7daa08 100644
--- a/Modules.Jobs/Jobs.vbproj
+++ b/Modules.Jobs/Jobs.vbproj
@@ -64,6 +64,10 @@
+
+ {44982f9b-6116-44e2-85d0-f39650b1ef99}
+ Config
+
{991d0231-4623-496d-8bd0-9ca906029cbc}
Filesystem
@@ -85,6 +89,7 @@
+
@@ -109,6 +114,9 @@
..\packages\FirebirdSql.Data.FirebirdClient.6.4.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll
+
+ ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll
+
..\packages\NLog.4.7.0\lib\net45\NLog.dll
diff --git a/Modules.Jobs/packages.config b/Modules.Jobs/packages.config
index 9df4a30e..c6e89356 100644
--- a/Modules.Jobs/packages.config
+++ b/Modules.Jobs/packages.config
@@ -1,5 +1,6 @@
+
\ No newline at end of file
diff --git a/Service.JobRunner/App.config b/Service.JobRunner/App.config
index e9041aa4..d81e46cb 100644
--- a/Service.JobRunner/App.config
+++ b/Service.JobRunner/App.config
@@ -35,7 +35,7 @@
True|10/0 * * * * ?|Foo::Bar
- False|0 0 0/1 * * ?|CertPath::E:\jonathanjenne.pfx,CertPass::jonathanjenne,Username::j.jenne@digitaldata.works,Password::DigitalData01!,BaseUrl::http://data.api.wisag.de:8090
+ False|0 0 0/1 * * ?|QueryConfig::E:\JenneJ\QueryConfig.xml
diff --git a/Service.JobRunner/JobRunner.vbproj b/Service.JobRunner/JobRunner.vbproj
index 74db8716..c1f26d4d 100644
--- a/Service.JobRunner/JobRunner.vbproj
+++ b/Service.JobRunner/JobRunner.vbproj
@@ -147,6 +147,10 @@
+
+ {44982f9b-6116-44e2-85d0-f39650b1ef99}
+ Config
+
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}
Database
diff --git a/Service.JobRunner/My Project/Settings.Designer.vb b/Service.JobRunner/My Project/Settings.Designer.vb
index 81faf3f3..a1a7454d 100644
--- a/Service.JobRunner/My Project/Settings.Designer.vb
+++ b/Service.JobRunner/My Project/Settings.Designer.vb
@@ -15,7 +15,7 @@ Option Explicit On
Namespace My
_
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
@@ -138,9 +138,7 @@ Namespace My
_
+ Global.System.Configuration.DefaultSettingValueAttribute("False|0 0 0/1 * * ?|QueryConfig::E:\JenneJ\QueryConfig.xml")> _
Public ReadOnly Property GRAPHQL_CONFIG() As String
Get
Return CType(Me("GRAPHQL_CONFIG"),String)
diff --git a/Service.JobRunner/My Project/Settings.settings b/Service.JobRunner/My Project/Settings.settings
index c9f788c8..6f88d649 100644
--- a/Service.JobRunner/My Project/Settings.settings
+++ b/Service.JobRunner/My Project/Settings.settings
@@ -30,7 +30,7 @@
True|10/0 * * * * ?|Foo::Bar
- False|0 0 0/1 * * ?|CertPath::E:\jonathanjenne.pfx,CertPass::jonathanjenne,Username::j.jenne@digitaldata.works,Password::DigitalData01!,BaseUrl::http://data.api.wisag.de:8090
+ False|0 0 0/1 * * ?|QueryConfig::E:\JenneJ\QueryConfig.xml
\ No newline at end of file