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 '''