Namespace Rework Public Class ReworkRepository Private _reworks As List(Of Rework) Public Sub New() _reworks = New List(Of Rework) End Sub #Region "properties" Public ReadOnly Property getReworks() As List(Of Rework) Get Return New List(Of Rework)(_reworks) End Get End Property Public ReadOnly Property aantalReworks As Integer Get Return _reworks.Count End Get End Property #End Region Public Sub addRework(ByVal rework As Rework) _reworks.Add(rework) End Sub Public Sub verwijderRework(rework As Rework) _reworks.Remove(rework) End Sub Public Sub verwijderAlleReworks() _reworks = Nothing _reworks = New List(Of Rework) End Sub Public Function bestaatRework(ByVal barcode As String) For Each rework As Rework In _reworks If rework.barcode.Equals(barcode) Then Return True End If Next Return False End Function Public Function geefRework(ByVal barcode As String) For Each rework As Rework In _reworks If rework.barcode.Equals(barcode) Then Return rework End If Next Throw New Exception("De rework bestaat niet") Return False End Function Public Sub wijzigOpslaanArdis(rework As Rework) Dim bestaat As Boolean = False For Each reworkVanList As Rework In _reworks If rework.Equals(reworkVanList) Then reworkVanList.opslaanArdis = Not reworkVanList.opslaanArdis bestaat = True End If Next If Not bestaat Then Throw New Exception("De rework bestaat niet") End If End Sub Public Sub updateAllReworks() For Each rework As Rework In _reworks Dim ardisData As ArdisData = ArdisMapper.OphalenData(rework.barcode) If ardisData Is Nothing Then Throw New Exception("De barcode '" & rework.barcode & "' werd niet gevonden in Ardis") End If If Not (ardisData.isSpecialGegenereerd()) Then CacheMapper.updateRework(rework) Else 'de rework bestaat uit een gegenereerde plank, dus we moeten de barcode van de buitenste (originele) gebruiken om deze te updaten Dim barcodes As List(Of String) = ArdisMapper.geefBarcodeOrigineleBijGegenereerdePlankjes(ardisData.PartGroup, ardisData.PartExt02, ardisData.PartL) If barcodes Is Nothing OrElse barcodes.Count <= 0 Then Throw New Exception("Er is iets foutgelopen bij het ophalen van de barcodes van de zijkanten uit de Ardis databank") ElseIf barcodes.Count > 4 Then Throw New Exception("Er zijn teveel barcodes gevonden bij het ophalen van de barcodes van de zijkanten uit de Ardis databank, Partgroup, PartExt02: " & ardisData.PartGroup & ", " & ardisData.PartExt02) End If For index = 0 To barcodes.Count - 1 Dim ardisdataLinksOfRechts As ArdisData = ArdisMapper.OphalenData(barcodes(index)) If ardisdataLinksOfRechts.geefLinksOfRechts().Equals(rework.geefLinksOfRechts()) Then If CacheMapper.GeefDataTable(Kolommen.barcode, barcodes(index)).Rows.Count > 0 Then CacheMapper.updateRework(rework, barcodes(index)) Exit For End If End If Next End If Next CacheMapper.sluitDataReader() End Sub Public Sub slaAlleReworkRedenenOp() For Each rework As Rework In _reworks Dim ardisData As ArdisData = ArdisMapper.OphalenData(rework.barcode) If Not (ardisData.isSpecialGegenereerd()) Then CacheMapper.opslaanReworkReden(rework) End If Next CacheMapper.sluitDataReader() End Sub End Class End Namespace