Index: TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/MustInheritSifonLadeManager.vb
===================================================================
diff -u -r1656 -r1657
--- TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/MustInheritSifonLadeManager.vb (.../MustInheritSifonLadeManager.vb) (revision 1656)
+++ TAOR-rework-bugfixing/TAOR rework/nieuwdomein/managers/MustInheritSifonLadeManager.vb (.../MustInheritSifonLadeManager.vb) (revision 1657)
@@ -5,14 +5,22 @@
Private ReadOnly _specialLadenEngine As ISpecialLadeEngine(Of TLadeType)
Private ReadOnly _reworkTrayEngine As IReworkTrayEngine
+ Private ReadOnly _reworkTrayRepository As ReworkTrayRepository
+ Public ReadOnly Property SpecialLaden() As List(Of TLadeType)
+ Get
+ Return New List(Of TLadeType)(Laden)
+ End Get
+ End Property
+
'''
''' Initialiseren met een special laden engine.
'''
''' De special laden engine
Public Sub New(specialLadenEngine As ISpecialLadeEngine(Of TLadeType), reworkTrayEngine As IReworkTrayEngine)
_specialLadenEngine = specialLadenEngine
_reworkTrayEngine = reworkTrayEngine
+ _reworkTrayRepository = New ReworkTrayRepository()
End Sub
'''
@@ -58,11 +66,6 @@
Catch ex As Exception
Throw New Exception($"Kon zijkanten niet verdelen over rework trays.{vbNewLine}{ex.Message}")
End Try
- Try
- GenereerOnderdeelDatas(lade)
- Catch ex As Exception
- Throw New Exception($"Kon de andere data's voor elk onderdeel niet genereren.{vbNewLine}{ex.Message}")
- End Try
Next
Catch ex As Exception
Throw New Exception($"Laden konden niet gebouwd worden.{vbNewLine}{ex.Message}")
@@ -80,14 +83,94 @@
''' Verdelen van de zijkanten over de rework trays.
'''
Private Sub VerdeelOverReworkTrays(lade As TLadeType)
- Dim zijkanten = lade.GeefAlleOnderdelen().Where(Function(onderdeel) TypeOf onderdeel Is Zijkant).Select(function(onderdeel) CType(onderdeel, Zijkant)).ToList()
- 'Data updaten in zijkanten (slotnummer en traynummer door te verdelen over de trays als paar (zijkantL en zijkantR)
- _reworkTrayEngine.VerdeelZijkantenOverTrays(zijkanten)
+ Dim zijkanten = lade.GeefAlleOnderdelen().Where(Function(onderdeel) TypeOf onderdeel Is Zijkant).Select(Function(onderdeel) CType(onderdeel, Zijkant)).ToList()
+ 'Data updaten in zijkanten (slotnummer en traynummer door te verdelen over de trays als paar (zijkantL en zijkantR).
+ Dim reworkTrays = _reworkTrayEngine.VerdeelZijkantenOverTrays(zijkanten)
+ For Each reworktray In reworkTrays
+ _reworkTrayRepository.addReworkTraySpecialLade(reworktray)
+ Next
End Sub
'''
''' Andere data's genereren, kantenband, automilling, ...
'''
- Protected MustOverride Sub GenereerOnderdeelDatas(lade As TLadeType)
+ public overrides Sub Produceer()
+ Dim specialLaden As New List(Of SpecialLade)
+ For Each lade In Laden
+ 'Opslaan in Caché
+ OpslaanGegenereerdeOnderdelen(lade)
+ 'Converteren naar special lade.
+ Dim specialLade As SpecialLade = New SifonLade()
+ 'Tpe bepalen en instellen.
+ If TypeOf lade Is SifonLadeV2 Then
+ specialLade.typeInstantie = ItemType.Sifonlade
+ Else
+ specialLade.typeInstantie = ItemType.DubbeleSifonlade
+ End If
+ Dim ruggen As New List(Of ArdisData)
+
+ 'Onderdelen overlopen en toevoegen aan lade.
+ For Each onderdeel In lade.GeefAlleOnderdelen()
+ If TypeOf onderdeel Is Front Then
+ Dim front As Front = onderdeel
+ specialLade.voegFrontToe(front.ArdisData)
+ ElseIf TypeOf onderdeel Is Bodem Then
+ Dim bodem As Bodem = onderdeel
+ specialLade.voegBodemToe(bodem.ArdisData)
+ ElseIf TypeOf onderdeel Is Rug Then
+ Dim rug As Rug = onderdeel
+ ruggen.Add(rug.ArdisData)
+ ElseIf TypeOf onderdeel Is Zijkant Then
+ Dim zijkant As Zijkant = onderdeel
+ specialLade.voegZijkantToe(zijkant.ArdisDataL)
+ specialLade.voegZijkantToe(zijkant.ArdisDataR)
+ End If
+ Next
+
+ 'Toevoegen aan totale lijst.
+ specialLade.voegRuggenToe(ruggen)
+ 'De originele rug ophalen en toevoegen.
+ specialLade.voegRugToe(lade.OrigineleRug.ArdisData)
+
+ specialLaden.Add(specialLade)
+ Next
+
+ Dim hoofdaansturingSifonLade = New HoofdAansturingSifonLade(_reworkTrayRepository)
+ hoofdaansturingSifonLade.verwerkenSpecialLadeMetTrays(specialLaden)
+ End Sub
+
+ '''
+ ''' Opslaan van de gegenereerde onderdelen in Caché: zijkanten en ruggen.
+ '''
+ Private Sub OpslaanGegenereerdeOnderdelen(lade As TLadeType)
+ For Each onderdeelOrigineelEnGegenereerd In lade.GeefGegenereerdeEnOrigineleOnderdelen()
+ If Configs.geefVerwerkStatus Then
+ Dim origineelOnderdeel = onderdeelOrigineelEnGegenereerd(0)
+ Dim gegenereerdonderdeel = onderdeelOrigineelEnGegenereerd(1)
+ 'De naam van het onderdeel opvragen.
+ Dim nieuwOnderdeelNaam As String
+ If TypeOf origineelOnderdeel Is Zijkant Then
+ Dim origineleZijkant As Zijkant = origineelOnderdeel
+ Dim gegenereerdeZijkant As Zijkant = gegenereerdonderdeel
+
+ 'Zijkant L.
+ nieuwOnderdeelNaam = Configs.specialLadeGeefOnderdeelNaamGegenereerdeZijkant(gegenereerdeZijkant.ArdisDataL.sifonLadeGeefOnderdeelLetter)
+ 'Opslaan in Caché.
+ CacheMapper.OpslaanGegenereerdeOnderdelen(origineleZijkant.ArdisDataL, gegenereerdeZijkant.ArdisDataL, nieuwOnderdeelNaam)
+
+ 'Zijkant R.
+ nieuwOnderdeelNaam = Configs.specialLadeGeefOnderdeelNaamGegenereerdeZijkant(gegenereerdeZijkant.ArdisDataR.sifonLadeGeefOnderdeelLetter)
+ 'Opslaan in Caché.
+ CacheMapper.OpslaanGegenereerdeOnderdelen(origineleZijkant.ArdisDataR, gegenereerdeZijkant.ArdisDataR, nieuwOnderdeelNaam)
+ ElseIf TypeOf origineelOnderdeel Is Rug Then
+ 'Rug
+ Dim origineleRug As Rug = origineelOnderdeel
+ Dim gegenereerdeRug As Rug = gegenereerdonderdeel
+ CacheMapper.OpslaanGegenereerdeOnderdelen(origineleRug.ArdisData, gegenereerdeRug.ArdisData, Configs.sifonLadeGeefOnderdeelNaamGegenereerdeRug())
+ End If
+ End If
+ Next
+ End Sub
+
End Class