Index: ActiviteitenOpvolging/ActiviteitenOpvolging/KCA-W10_DynamicConfigs.txt
===================================================================
diff -u -r1750 -r1752
--- ActiviteitenOpvolging/ActiviteitenOpvolging/KCA-W10_DynamicConfigs.txt (.../KCA-W10_DynamicConfigs.txt) (revision 1750)
+++ ActiviteitenOpvolging/ActiviteitenOpvolging/KCA-W10_DynamicConfigs.txt (.../KCA-W10_DynamicConfigs.txt) (revision 1752)
@@ -28,169 +28,8 @@
NumberOfActivitiesGrid2=2
% Definitie van de SQL query voor grid 1 tot AantalGrid
-SQL1=__select BatchVisual,EindTijdstip,ProductGroep,Naar,
+SQL1=SQL1
+SQL2=SQL2
- Status_1,Status_2,Status_3,Status_4,Status_5,
-
- Aantal_1,Aantal_2,Aantal_3,Aantal_4,Aantal_5,
-
- StartTijdstip_1,StartTijdstip_2,StartTijdstip_3,StartTijdstip_4,StartTijdstip_5,
-
- ActiviteitID_1 , ActiviteitID_2,ActiviteitID_3,ActiviteitID_4,ActiviteitID_5,
-
- 'Front' Label_1,'Syncro' Label_2,'Zijstab' Label_3,'DwarsVerd' Label_4,'Glas' Label_5,
-
- Gebruiker_1,Gebruiker_2,Gebruiker_3,Gebruiker_4,Gebruiker_5,
-
- 0 ReadOnly_1,1 ReadOnly_2,0 ReadOnly_3,0 ReadOnly_4,0 ReadOnly_5
-
-From (
-
-Select
-
-right(AB.Batch,4) as BatchVisual,
-
-AB.Resource as Naar,
-
-isnull(AB1.EindTijdstip,isnull(AB2.EindTijdstip,isnull(AB3.EindTijdstip,isnull(AB4.EindTijdstip,AB5.EindTijdstip)))) EindTijdstip,
-
-AB.Productgroep,
-
-AB1.Batch || ';' || AB1.Resource || ';' || AB1.Activiteit as ActiviteitID_1,
-
-AB2.Batch || ';' || AB2.Resource || ';' || AB2.Activiteit as ActiviteitID_2,
-
-AB3.Batch || ';' || AB3.Resource || ';' || AB3.Activiteit as ActiviteitID_3,
-
-AB4.Batch || ';' || AB4.Resource || ';' || AB4.Activiteit as ActiviteitID_4,
-
-AB5.Batch || ';' || AB5.Resource || ';' || AB5.Activiteit as ActiviteitID_5,
-
-AB1.StartTijdstip as StartTijdstip_1,
-
-AB2.StartTijdstip as StartTijdstip_2,
-
-AB3.StartTijdstip as StartTijdstip_3,
-
-AB4.StartTijdstip as StartTijdstip_4,
-
-AB5.StartTijdstip as StartTijdstip_5,
-
-AB1.Status Status_1,
-
-AB2.Status Status_2,
-
-AB3.Status Status_3,
-
-AB4.Status Status_4,
-
-AB5.Status Status_5,
-
-AB1.Aantal Aantal_1,
-
-AB2.Aantal Aantal_2,
-
-AB3.Aantal Aantal_3,
-
-AB4.Aantal Aantal_4,
-
-AB5.Aantal Aantal_5,
-
-AB1.Gebruiker Gebruiker_1,
-
-AB2.Gebruiker Gebruiker_2,
-
-AB3.Gebruiker Gebruiker_3,
-
-AB4.Gebruiker Gebruiker_4,
-
-AB5.Gebruiker Gebruiker_5
-
-from APPS_Halux_Planning_Activiteit_dto.ActiviteitPerBatch AB
-
-join APPS_Halux_Planning_impl.ResourceCalcMutex RCM on RCM.ID=1
-
-left outer join APPS_Halux_Planning_Activiteit_dto.ActiviteitPerBatch AB1 on AB.Batch=AB1.Batch and RCM.ActiviteitPerBatchTijdstip= AB1.RecalcTijdstip and AB1.Resource='Voormontage' and AB1.Activiteit='Front'
-
-left outer join APPS_Halux_Planning_Activiteit_dto.ActiviteitPerBatch AB2 on AB.Batch=AB2.Batch and RCM.ActiviteitPerBatchTijdstip = AB2.RecalcTijdstip and AB2.Resource='Voormontage' and AB2.Activiteit='Syncro'
-
-left outer join APPS_Halux_Planning_Activiteit_dto.ActiviteitPerBatch AB3 on AB.Batch=AB3.Batch and RCM.ActiviteitPerBatchTijdstip = AB3.RecalcTijdstip and AB3.Resource='Voormontage' and AB3.Activiteit='ZijStab'
-
-left outer join APPS_Halux_Planning_Activiteit_dto.ActiviteitPerBatch AB4 on AB.Batch=AB4.Batch and RCM.ActiviteitPerBatchTijdstip = AB4.RecalcTijdstip and AB4.Resource='Voormontage' and AB4.Activiteit='DwarsVerd'
-
-left outer join APPS_Halux_Planning_Activiteit_dto.ActiviteitPerBatch AB5 on AB.Batch=AB5.Batch and RCM.ActiviteitPerBatchTijdstip = AB5.RecalcTijdstip and AB5.Resource='Voormontage' and AB5.Activiteit='Glas'
-
-where AB.RecalcTijdstip = RCM.ActiviteitPerBatchTijdstip and AB.IsLeading>0
-
-)
-
-where ActiviteitID_1 is not null or ActiviteitID_2 is not null or ActiviteitID_3 is not null or ActiviteitID_4 is not null or ActiviteitID_5 is not null
-
-order by Eindtijdstip__
-
-SQL2=__select BatchVisual,EindTijdstip,ProductGroep,Naar,
-
- Status_1,Status_2,
-
- Aantal_1,Aantal_2,
-
- StartTijdstip_1,StartTijdstip_2,
-
- ActiviteitID_1 , ActiviteitID_2,
-
- 'ASM' Label_1,'VILT' Label_2,
-
- Gebruiker_1,Gebruiker_2,
-
- 0 ReadOnly_1,0 ReadOnly_2
-
-From (
-
-Select
-
-right(AB.Batch,4) as BatchVisual,
-
-AB.Resource as Naar,
-
-isnull(AB1.EindTijdstip,AB2.EindTijdstip) EindTijdstip,
-
-AB.Productgroep,
-
-AB1.Batch || ';' || AB1.Resource || ';' || AB1.Activiteit as ActiviteitID_1,
-
-AB2.Batch || ';' || AB2.Resource || ';' || AB2.Activiteit as ActiviteitID_2,
-
-AB1.StartTijdstip as StartTijdstip_1,
-
-AB2.StartTijdstip as StartTijdstip_2,
-
-AB1.Status Status_1,
-
-AB2.Status Status_2,
-
-AB1.Aantal Aantal_1,
-
-AB2.Aantal Aantal_2,
-
-AB1.Gebruiker Gebruiker_1,
-
-AB2.Gebruiker Gebruiker_2
-
-from APPS_Halux_Planning_Activiteit_dto.ActiviteitPerBatch AB
-
-join APPS_Halux_Planning_impl.ResourceCalcMutex RCM on RCM.ID=1
-
-left outer join APPS_Halux_Planning_Activiteit_dto.ActiviteitPerBatch AB1 on AB.Batch=AB1.Batch and RCM.ActiviteitPerBatchTijdstip= AB1.RecalcTijdstip and AB1.Resource='MAT' and AB1.Productgroep='ASM'
-
-left outer join APPS_Halux_Planning_Activiteit_dto.ActiviteitPerBatch AB2 on AB.Batch=AB2.Batch and RCM.ActiviteitPerBatchTijdstip = AB2.RecalcTijdstip and AB2.Resource='MAT' and AB2.Productgroep='VILT'
-
-where AB.RecalcTijdstip = RCM.ActiviteitPerBatchTijdstip and AB.IsLeading>0
-
-)
-
-where ActiviteitID_1 is not null or ActiviteitID_2 is not null
-
-order by Eindtijdstip__
-
% Aantal gebruikers die acties kunnen uitvoeren
NumberOfEmployees=2
\ No newline at end of file
Index: ActiviteitenOpvolging/ActiviteitenOpvolging/ActiviteitenOpvolging.vbproj
===================================================================
diff -u -r1750 -r1752
--- ActiviteitenOpvolging/ActiviteitenOpvolging/ActiviteitenOpvolging.vbproj (.../ActiviteitenOpvolging.vbproj) (revision 1750)
+++ ActiviteitenOpvolging/ActiviteitenOpvolging/ActiviteitenOpvolging.vbproj (.../ActiviteitenOpvolging.vbproj) (revision 1752)
@@ -248,8 +248,12 @@
Always
-
-
+
+ Always
+
+
+ Always
+
Index: ActiviteitenOpvolging/ActiviteitenOpvolging/ServiceAgents/IActiviteitPerBatchServiceAgent.vb
===================================================================
diff -u -r1744 -r1752
--- ActiviteitenOpvolging/ActiviteitenOpvolging/ServiceAgents/IActiviteitPerBatchServiceAgent.vb (.../IActiviteitPerBatchServiceAgent.vb) (revision 1744)
+++ ActiviteitenOpvolging/ActiviteitenOpvolging/ServiceAgents/IActiviteitPerBatchServiceAgent.vb (.../IActiviteitPerBatchServiceAgent.vb) (revision 1752)
@@ -7,5 +7,7 @@
Sub PauseActionsFromApp()
+ Function GeefDataSetVoorQuery(ByVal QueryNaam As String) As System.Data.DataSet
+
End Interface
End NameSpace
\ No newline at end of file
Index: ActiviteitenOpvolging/ActiviteitenOpvolging/ServiceAgents/Implementations/ActiviteitPerBatch.vb
===================================================================
diff -u -r1745 -r1752
--- ActiviteitenOpvolging/ActiviteitenOpvolging/ServiceAgents/Implementations/ActiviteitPerBatch.vb (.../ActiviteitPerBatch.vb) (revision 1745)
+++ ActiviteitenOpvolging/ActiviteitenOpvolging/ServiceAgents/Implementations/ActiviteitPerBatch.vb (.../ActiviteitPerBatch.vb) (revision 1752)
@@ -13,94 +13,108 @@
Imports System.Data
-Namespace ServiceAgents.Implementations
+
+Public Interface ActiviteitPerBatch
- _
- Public Interface ActiviteitPerBatch
-
- _
- Function GeefActies(ByVal Werkpost As String) As System.Data.DataSet
-
- _
- Function GeefActiesAsync(ByVal Werkpost As String) As System.Threading.Tasks.Task(Of System.Data.DataSet)
-
- _
- Function PauzeerActiesVanApp(ByVal AppNaam As String, ByVal ComputerNaam As String) As String
-
- _
- Function PauzeerActiesVanAppAsync(ByVal AppNaam As String, ByVal ComputerNaam As String) As System.Threading.Tasks.Task(Of String)
-
- _
- Function RegistreerActieByKey(ByVal BatchResActKey As String, ByVal Status As String, ByVal Gebruiker As String, ByVal AppNaam As String, ByVal ComputerNaam As String) As String
-
- _
- Function RegistreerActieByKeyAsync(ByVal BatchResActKey As String, ByVal Status As String, ByVal Gebruiker As String, ByVal AppNaam As String, ByVal ComputerNaam As String) As System.Threading.Tasks.Task(Of String)
- End Interface
+
+ Function GeefActies(ByVal Werkpost As String) As System.Data.DataSet
- _
- Public Interface ActiviteitPerBatchSoapChannel
- Inherits ActiviteitPerBatch, System.ServiceModel.IClientChannel
- End Interface
+
+ Function GeefActiesAsync(ByVal Werkpost As String) As System.Threading.Tasks.Task(Of System.Data.DataSet)
- _
- Partial Public Class ActiviteitPerBatchSoapClient
- Inherits System.ServiceModel.ClientBase(Of ActiviteitPerBatch)
- Implements ActiviteitPerBatch
-
- Public Sub New()
- MyBase.New
- End Sub
-
- Public Sub New(ByVal endpointConfigurationName As String)
- MyBase.New(endpointConfigurationName)
- End Sub
-
- Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As String)
- MyBase.New(endpointConfigurationName, remoteAddress)
- End Sub
-
- Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As System.ServiceModel.EndpointAddress)
- MyBase.New(endpointConfigurationName, remoteAddress)
- End Sub
-
- Public Sub New(ByVal binding As System.ServiceModel.Channels.Binding, ByVal remoteAddress As System.ServiceModel.EndpointAddress)
- MyBase.New(binding, remoteAddress)
- End Sub
-
- Public Function GeefActies(ByVal Werkpost As String) As System.Data.DataSet Implements ActiviteitPerBatch.GeefActies
- Return MyBase.Channel.GeefActies(Werkpost)
- End Function
-
- Public Function GeefActiesAsync(ByVal Werkpost As String) As System.Threading.Tasks.Task(Of System.Data.DataSet) Implements ActiviteitPerBatch.GeefActiesAsync
- Return MyBase.Channel.GeefActiesAsync(Werkpost)
- End Function
-
- Public Function PauzeerActiesVanApp(ByVal AppNaam As String, ByVal ComputerNaam As String) As String Implements ActiviteitPerBatch.PauzeerActiesVanApp
- Return MyBase.Channel.PauzeerActiesVanApp(AppNaam, ComputerNaam)
- End Function
-
- Public Function PauzeerActiesVanAppAsync(ByVal AppNaam As String, ByVal ComputerNaam As String) As System.Threading.Tasks.Task(Of String) Implements ActiviteitPerBatch.PauzeerActiesVanAppAsync
- Return MyBase.Channel.PauzeerActiesVanAppAsync(AppNaam, ComputerNaam)
- End Function
-
- Public Function RegistreerActieByKey(ByVal BatchResActKey As String, ByVal Status As String, ByVal Gebruiker As String, ByVal AppNaam As String, ByVal ComputerNaam As String) As String Implements ActiviteitPerBatch.RegistreerActieByKey
- Return MyBase.Channel.RegistreerActieByKey(BatchResActKey, Status, Gebruiker, AppNaam, ComputerNaam)
- End Function
-
- Public Function RegistreerActieByKeyAsync(ByVal BatchResActKey As String, ByVal Status As String, ByVal Gebruiker As String, ByVal AppNaam As String, ByVal ComputerNaam As String) As System.Threading.Tasks.Task(Of String) Implements ActiviteitPerBatch.RegistreerActieByKeyAsync
- Return MyBase.Channel.RegistreerActieByKeyAsync(BatchResActKey, Status, Gebruiker, AppNaam, ComputerNaam)
- End Function
- End Class
-End NameSpace
\ No newline at end of file
+
+ Function GeefDataSetVoorQuery(ByVal AppNaam As String, ByVal ComputerNaam As String, ByVal QueryNaam As String) As System.Data.DataSet
+
+
+ Function GeefDataSetVoorQueryAsync(ByVal AppNaam As String, ByVal ComputerNaam As String, ByVal QueryNaam As String) As System.Threading.Tasks.Task(Of System.Data.DataSet)
+
+
+ Function PauzeerActiesVanApp(ByVal AppNaam As String, ByVal ComputerNaam As String) As String
+
+
+ Function PauzeerActiesVanAppAsync(ByVal AppNaam As String, ByVal ComputerNaam As String) As System.Threading.Tasks.Task(Of String)
+
+
+ Function RegistreerActieByKey(ByVal BatchResActKey As String, ByVal Status As String, ByVal Gebruiker As String, ByVal AppNaam As String, ByVal ComputerNaam As String) As String
+
+
+ Function RegistreerActieByKeyAsync(ByVal BatchResActKey As String, ByVal Status As String, ByVal Gebruiker As String, ByVal AppNaam As String, ByVal ComputerNaam As String) As System.Threading.Tasks.Task(Of String)
+End Interface
+
+
+Public Interface ActiviteitPerBatchServerSoapChannel
+ Inherits ActiviteitPerBatch, System.ServiceModel.IClientChannel
+End Interface
+
+
+Partial Public Class ActiviteitPerBatchClient
+ Inherits System.ServiceModel.ClientBase(Of ActiviteitPerBatch)
+ Implements ActiviteitPerBatch
+
+ Public Sub New()
+ MyBase.New
+ End Sub
+
+ Public Sub New(ByVal endpointConfigurationName As String)
+ MyBase.New(endpointConfigurationName)
+ End Sub
+
+ Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As String)
+ MyBase.New(endpointConfigurationName, remoteAddress)
+ End Sub
+
+ Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As System.ServiceModel.EndpointAddress)
+ MyBase.New(endpointConfigurationName, remoteAddress)
+ End Sub
+
+ Public Sub New(ByVal binding As System.ServiceModel.Channels.Binding, ByVal remoteAddress As System.ServiceModel.EndpointAddress)
+ MyBase.New(binding, remoteAddress)
+ End Sub
+
+ Public Function GeefActies(ByVal Werkpost As String) As System.Data.DataSet Implements ActiviteitPerBatch.GeefActies
+ Return MyBase.Channel.GeefActies(Werkpost)
+ End Function
+
+ Public Function GeefActiesAsync(ByVal Werkpost As String) As System.Threading.Tasks.Task(Of System.Data.DataSet) Implements ActiviteitPerBatch.GeefActiesAsync
+ Return MyBase.Channel.GeefActiesAsync(Werkpost)
+ End Function
+
+ Public Function GeefDataSetVoorQuery(ByVal AppNaam As String, ByVal ComputerNaam As String, ByVal QueryNaam As String) As System.Data.DataSet Implements ActiviteitPerBatch.GeefDataSetVoorQuery
+ Return MyBase.Channel.GeefDataSetVoorQuery(AppNaam, ComputerNaam, QueryNaam)
+ End Function
+
+ Public Function GeefDataSetVoorQueryAsync(ByVal AppNaam As String, ByVal ComputerNaam As String, ByVal QueryNaam As String) As System.Threading.Tasks.Task(Of System.Data.DataSet) Implements ActiviteitPerBatch.GeefDataSetVoorQueryAsync
+ Return MyBase.Channel.GeefDataSetVoorQueryAsync(AppNaam, ComputerNaam, QueryNaam)
+ End Function
+
+ Public Function PauzeerActiesVanApp(ByVal AppNaam As String, ByVal ComputerNaam As String) As String Implements ActiviteitPerBatch.PauzeerActiesVanApp
+ Return MyBase.Channel.PauzeerActiesVanApp(AppNaam, ComputerNaam)
+ End Function
+
+ Public Function PauzeerActiesVanAppAsync(ByVal AppNaam As String, ByVal ComputerNaam As String) As System.Threading.Tasks.Task(Of String) Implements ActiviteitPerBatch.PauzeerActiesVanAppAsync
+ Return MyBase.Channel.PauzeerActiesVanAppAsync(AppNaam, ComputerNaam)
+ End Function
+
+ Public Function RegistreerActieByKey(ByVal BatchResActKey As String, ByVal Status As String, ByVal Gebruiker As String, ByVal AppNaam As String, ByVal ComputerNaam As String) As String Implements ActiviteitPerBatch.RegistreerActieByKey
+ Return MyBase.Channel.RegistreerActieByKey(BatchResActKey, Status, Gebruiker, AppNaam, ComputerNaam)
+ End Function
+
+ Public Function RegistreerActieByKeyAsync(ByVal BatchResActKey As String, ByVal Status As String, ByVal Gebruiker As String, ByVal AppNaam As String, ByVal ComputerNaam As String) As System.Threading.Tasks.Task(Of String) Implements ActiviteitPerBatch.RegistreerActieByKeyAsync
+ Return MyBase.Channel.RegistreerActieByKeyAsync(BatchResActKey, Status, Gebruiker, AppNaam, ComputerNaam)
+ End Function
+End Class
FishEye: Tag 1752 refers to a dead (removed) revision in file `ActiviteitenOpvolging/ActiviteitenOpvolging/ServiceAgents/Implementations/ActiviteitPerBatchServer.vb'.
FishEye: No comparison available. Pass `N' to diff?
Index: ActiviteitenOpvolging/ActiviteitenOpvolging/ServiceAgents/Implementations/ActiviteitPerBatchServiceAgent.vb
===================================================================
diff -u -r1747 -r1752
--- ActiviteitenOpvolging/ActiviteitenOpvolging/ServiceAgents/Implementations/ActiviteitPerBatchServiceAgent.vb (.../ActiviteitPerBatchServiceAgent.vb) (revision 1747)
+++ ActiviteitenOpvolging/ActiviteitenOpvolging/ServiceAgents/Implementations/ActiviteitPerBatchServiceAgent.vb (.../ActiviteitPerBatchServiceAgent.vb) (revision 1752)
@@ -28,12 +28,20 @@
End Try
End Sub
- Private Function SoapClient() As ActiviteitPerBatchSoapClient
+ Private Function SoapClient() As ActiviteitPerBatchClient
Dim binding = New BasicHttpBinding()
Dim address = New EndpointAddress(ConfigsLoader.CacheWebserviceUrl.Value)
- Dim activiteitPerBatchClient = new ActiviteitPerBatchSoapClient(binding, address)
+ Dim activiteitPerBatchClient = New ActiviteitPerBatchClient(binding, address)
Return activiteitPerBatchClient
End Function
+ Public Function GeefDataSetVoorQuery(QueryNaam As String) As DataSet Implements IActiviteitPerBatchServiceAgent.GeefDataSetVoorQuery
+ Try
+ Return SoapClient().GeefDataSetVoorQuery(ConfigsLoader.AppName, System.Net.Dns.GetHostName(), QueryNaam)
+ Catch ex As Exception
+ Throw New Exception($"Can't reach the Caché webservice: {vbNewLine}{ex.Message}")
+ End Try
+ End Function
+
End Class
End NameSpace
\ No newline at end of file
Index: ActiviteitenOpvolging/ActiviteitenOpvolging/mappers/CacheMapper.vb
===================================================================
diff -u -r1743 -r1752
--- ActiviteitenOpvolging/ActiviteitenOpvolging/mappers/CacheMapper.vb (.../CacheMapper.vb) (revision 1743)
+++ ActiviteitenOpvolging/ActiviteitenOpvolging/mappers/CacheMapper.vb (.../CacheMapper.vb) (revision 1752)
@@ -1,54 +1,32 @@
-Imports System.Data.Odbc
-Imports System.Windows.Navigation
-Imports ActiviteitenOpvolging.configs
+Imports ActiviteitenOpvolging.configs
+Imports ActiviteitenOpvolging.ServiceAgents
+Imports ActiviteitenOpvolging.ServiceAgents.Implementations
Module CacheMapper
- Private _sqlConnection As OdbcConnection
#Region "Help functions"
'''
''' Helpfunction to open SQL connection to Caché.
'''
- Private Sub ConnectToCache()
- Try
- If _sqlConnection Is Nothing Then
- 'Build connection string. Looks something like this "DSN=...; DRIVER={InterSystems ODBC}; SERVER=...;DATABASE=...;UID=...;PWD=..."
- Dim connectionString = $"DSN={My.Resources.CacheDSN}; DRIVER=" & "{InterSystems ODBC};" &
- $"SERVER={My.Resources.CacheServerName};DATABASE={My.Resources.CacheDatabase};
- UID={My.Resources.CacheUsername};PWD={My.Resources.CachePassword}"
- 'Initialise connection.
- _sqlConnection = New OdbcConnection(connectionString)
- End If
- 'Check if connection state is already open.
- If Not _sqlConnection.State = ConnectionState.Open Then
- 'If not, open the connection.
- _sqlConnection.Open()
- Else
- 'If state is open, close and open again.
- 'todo find better solution for losing connection and then re-establishing connection.
- _sqlConnection.Close()
- _sqlConnection.Open()
- End If
- Catch ex As Exception
- Throw New Exception($"Can't reach the Caché database: {vbNewLine}{ex.Message}")
- End Try
+ Private ReadOnly _activiteitPerBatchServiceAgent As IActiviteitPerBatchServiceAgent
+
+ Sub New()
+ _activiteitPerBatchServiceAgent = New ActiviteitPerBatchServiceAgent
End Sub
'''
''' Execution of a query into a data reader.
'''
''' The query
- ''' The ODBC data reader
- Private Function ExecuteIntoDataReader(query As String) As OdbcDataReader
+ Private Function ExecuteIntoDataSet(query As String) As DataSet
Try
- ConnectToCache()
- Return New OdbcCommand(query, _sqlConnection).ExecuteReader()
+ Return _activiteitPerBatchServiceAgent.GeefDataSetVoorQuery(query)
Catch ex As Exception
- Throw New Exception($"Could not get data reader from the Caché database.{vbNewLine}{ex.Message}")
+ Throw New Exception($"Could not get dataset from the Caché webservice.{vbNewLine}{ex.Message}")
End Try
End Function
- Private Function ExtractItemFromDataReader(Of T)(ByRef dr As OdbcDataReader, key As String, Optional defaultValue As T = Nothing) As T
+ Private Function ExtractItemFromDataReader(Of T)(ByRef dr As DataTableReader, key As String, Optional defaultValue As T = Nothing) As T
Dim value As Object
Try
'Check if the column name is not present. If not present, return default value.
@@ -78,7 +56,7 @@
'''
'''
'''
- Private Function HasColumn(ByRef dr As OdbcDataReader, columnName As String) As Boolean
+ Private Function HasColumn(ByRef dr As DataTableReader, columnName As String) As Boolean
'Loop through each row.
For Each row As DataRow In dr.GetSchemaTable().Rows
'Check if column name matches defined one.
@@ -114,33 +92,34 @@
''' A list of all the work items with their activities
Public Function GetData(workPostIndex As Integer, employees As List(Of IEmployee)) As List(Of IWorkItem)
'Fetch the query.
- Dim query As String = FetchQuery(workPostIndex)
+ Dim queryName As String = FetchQuery(workPostIndex)
'Initialise the list with work items.
Dim workItems As New List(Of IWorkItem)
'Declare datareader.
- Dim dr As OdbcDataReader = Nothing
+ Dim CacheDataReader As DataTableReader = Nothing
Try
'Execute query and store datareader.
- dr = ExecuteIntoDataReader(query)
+ Dim CacheDataSet As DataSet = ExecuteIntoDataSet(queryName)
+ CacheDataReader = CacheDataSet.CreateDataReader()
'Fetch amount of activities.
Dim activityAmount = FetchNumberOfActivities(workPostIndex)
'Loop through every (result) record.
- While dr.Read()
+ While CacheDataReader.Read()
'Values of one result (line/record).
Dim workItem As New WorkItem
'Fill with values.
With workItem
- .BatchVisual = ExtractItemFromDataReader(dr, "BatchVisual", 0)
- .DeliverToResource = ExtractItemFromDataReader(dr, "Naar", String.Empty)
- .ProductGroup = ExtractItemFromDataReader(dr, "Productgroep", String.Empty)
- .Remark = ExtractItemFromDataReader(dr, "Opmerking", String.Empty)
- .EndTimeStamp = ExtractItemFromDataReader(dr, "EindTijdstip", DateTime.MinValue)
- .Activities = ExtractActivities(dr, activityAmount, workItem, employees)
+ .BatchVisual = ExtractItemFromDataReader(CacheDataReader, "BatchVisual", 0)
+ .DeliverToResource = ExtractItemFromDataReader(CacheDataReader, "Naar", String.Empty)
+ .ProductGroup = ExtractItemFromDataReader(CacheDataReader, "Productgroep", String.Empty)
+ .Remark = ExtractItemFromDataReader(CacheDataReader, "Opmerking", String.Empty)
+ .EndTimeStamp = ExtractItemFromDataReader(CacheDataReader, "EindTijdstip", DateTime.MinValue)
+ .Activities = ExtractActivities(CacheDataReader, activityAmount, workItem, employees)
End With
'Add to the result list.
@@ -153,8 +132,8 @@
Throw New Exception($"An error occured while fetching the work items from Caché.{vbNewLine}{ex.Message}")
Finally
'Close connection if datareader is not nothing.
- If Not IsNothing(dr) Then
- dr.Close()
+ If Not IsNothing(CacheDataReader) Then
+ CacheDataReader.Close()
End If
End Try
End Function
@@ -165,7 +144,7 @@
'''
'''
'''
- Private Function ExtractActivities(dr As OdbcDataReader, numberOfActivities As Integer, workItem As IWorkItem, employees As List(Of IEmployee)) As List(Of IActivity)
+ Private Function ExtractActivities(dr As DataTableReader, numberOfActivities As Integer, workItem As IWorkItem, employees As List(Of IEmployee)) As List(Of IActivity)
'Declare result list.
Dim activities As New List(Of IActivity)