Index: TAOR-rework-bugfixing/TAOR rework/laden/special laden/LadeManager.vb
===================================================================
diff -u -r1635 -r1642
--- TAOR-rework-bugfixing/TAOR rework/laden/special laden/LadeManager.vb (.../LadeManager.vb) (revision 1635)
+++ TAOR-rework-bugfixing/TAOR rework/laden/special laden/LadeManager.vb (.../LadeManager.vb) (revision 1642)
@@ -1,4 +1,4 @@
-Public MustInherit Class LadeManager(Of TLadeType)
+Public MustInherit Class LadeManager(Of TLadeType As ISpecialLade)
Protected Laden As List(Of TLadeType)
@@ -11,6 +11,14 @@
End Function
'''
+ ''' Aantal laden opvragen.
+ '''
+ ''' Het aantal laden
+ public Function AantalLaden As Integer
+ Return Laden.Count
+ End Function
+
+ '''
''' De lade(n) inladen aan de hand van een parameter.
'''
''' Identificatie van de lade(n)
@@ -19,7 +27,7 @@
'Laden opzoeken aan de hand van de hook met de identificatie.
Dim ingeladenLaden = LaadLadenData(identificatie)
'Controleren dat de ingeladen laden niet leeg zijn.
- If ingeladenLaden IsNot Nothing AndAlso ingeladenLaden.Count <> 0
+ If ingeladenLaden IsNot Nothing AndAlso ingeladenLaden.Count <> 0 Then
'Ingeladen laden bijhouden.
Laden = ingeladenLaden
'True retourneren, 1 of meer laden werden gevonden.
@@ -37,17 +45,48 @@
Protected MustOverride Function LaadLadenData(identificatie As String) As List(Of TLadeType)
'''
+ ''' Opvragen van de onderdelen en hun barcodes.
+ '''
+ ''' Lijst van String arrays met {naam onderdeel, barcode}
+ Public Function GeefOrigineleOnderdelenEnBarcodes() As List(Of String())
+ Dim onderdelenEnBarcodes As New List(Of String())
+ For Each lade In Laden
+ 'Onderdelen opvragen en itereren.
+ For Each onderdeel In lade.GeefOrigineleOnderdelen()
+ 'Kijken of het 1 of 2 ardis data's bevat.
+ If TypeOf onderdeel Is IHeeftEnkeleArdisdata Then
+ 'Enkele Ardis data.
+ 'Casten.
+ Dim enkeleArdisData = CType(onderdeel, IHeeftEnkeleArdisdata).ArdisData
+ 'Toevoegen.
+ onderdelenEnBarcodes.Add(New String() {enkeleArdisData.PartRef, enkeleArdisData.PartCalc})
+ ElseIf TypeOf onderdeel Is IHeeftDubbeleArdisData Then
+ 'Dubbel Ardis data.
+ 'Casten.
+ Dim dubbeleArdisData1 = CType(onderdeel, IHeeftDubbeleArdisData).ArdisData1
+ Dim dubbeleArdisData2 = CType(onderdeel, IHeeftDubbeleArdisData).ArdisData2
+ 'Toevoegen.
+ onderdelenEnBarcodes.Add(New String() {dubbeleArdisData1.PartRef, dubbeleArdisData1.PartCalc})
+ onderdelenEnBarcodes.Add(New String() {dubbeleArdisData2.PartRef, dubbeleArdisData2.PartCalc})
+ End If
+ Next
+ Next
+ 'Lijst van onderdelen en barcodes retourneren.
+ Return onderdelenEnBarcodes
+ End Function
+
+ '''
''' Alle laden updaten met waarden uit andere lade.
'''
''' De andere lade
Public Sub UpdateAlleLaden(gewijzigdeLade As TLadeType)
- 'Controleer of lijst niet leeg is.
- If Laden IsNot Nothing AndAlso Laden.Count <> 0 Then
- 'Lijst is niet leeg, hook aanroepen.
- UpdateLaden(gewijzigdeLade)
+ 'Controleer of lijst leeg is.
+ If Laden Is Nothing OrElse Laden.Count = 0 Then
+ 'Lijst van laden is leeg, update kan niet uitgevoerd worden.
+ Throw New Exception("Kon special laden niet updaten aan de hand van een gewijzigde lade. Geen laden aanwezig.")
End If
- 'Lijst van laden is leeg, update kan niet uitgevoerd worden.
- Throw New Exception("Kon special laden niet updaten aan de hand van een gewijzigde lade. Geen laden aanwezig.")
+ 'Lijst is niet leeg, hook aanroepen.
+ UpdateLaden(gewijzigdeLade)
End Sub
'''