Public Class SifonLadeController
Private Shared _instance As SifonLadeController
Private ReadOnly _sifonladeManager As LadeManager(Of ISifonLade)
'''
''' Singleton instantie opvragen.
'''
''' Instantie
Public Shared Function GetInstance() As SifonLadeController
If _instance Is Nothing Then
_instance = New SifonLadeController
End If
Return _instance
End Function
Public Sub New()
'Special lade engine initialiseren met de juiste mapper.
Dim specialLadeEngine = New SpecialLadeEngine(Of ISifonLade)(New SifonLadenMapper)
'Manager initialiseren met de engine.
_sifonladeManager = New SifonLadeManager(specialLadeEngine)
End Sub
'''
''' Zoek de lade aan de hand van de lade code.
'''
'''
Public Function ZoekSifonLade(ladeCode As String) As Boolean
'Manager aanroepen en resultaat retourneren. True als de lade is gevonden.
Return _sifonladeManager.ZoekEnLaadLaden(ladeCode)
End Function
#Region "Opvragen informatie"
'''
''' Informatie opvragen over de sifonLade als DTO.
'''
''' DTO met informatie
Public Function GeefInformatieSifonLade() As SifonLadeDto
'De eerste sifonlade opvragen.
Dim sifonLade As ISifonLade = _sifonladeManager.EersteOfStandaard()
'Controleren of de sifonLade niet leeg is.
If sifonLade Is Nothing Then
'Zo ja, retourneer Nothing.
Return Nothing
End If
'De DTO converter aanmaken.
Dim dtoConverter = New SifonLadeDtoConverter
'Sifonlade converteren en retourneren als DTO.
Return dtoConverter.ToDto(sifonLade)
End Function
'''
''' Opvragen van aantal sifonladen.
'''
''' Het aantal sifonladen
Public Function GeefAantalSifonLaden() As Integer
Return _sifonladeManager.AantalLaden()
End Function
'''
''' Opvragen van de namen van alle onderdelen van een special lade met de bijhorende barcodes
'''
'''
Public Function GeefSpecialLadenOrigineleOnderdelenEnBarcodes() As List(Of String())
Return _sifonladeManager.GeefOrigineleOnderdelenEnBarcodes()
End Function
#End Region
'''
''' Gewijzigde waarden van de sifon lade updaten.
'''
''' De DTO van de sifon lade
Public Sub UpdateWaardenSifonLade(sifonLadeDto As SifonLadeDto)
'De DTO converter aanmaken.
Dim dtoConverter = New SifonLadeDtoConverter
'Dto converteren naar sifon lade.
Dim sifonlade = dtoConverter.FromDto(sifonLadeDto)
'Manager aanroepen om te updaten.
_sifonladeManager.UpdateAlleLaden(sifonlade)
End Sub
Private Sub verdeelSifonLadenOverReworkTrays()
Dim zijkanten As New List(Of ArdisData)
'For Each sifonLade In _specialLadenRep.sifonLaden
'zijkanten
' zijkanten.AddRange(sifonLade.zijkanten)
'Next
'special rework trays laten verwerken
'todo voegReworkTraysSpecialLadeToe(zijkanten)
End Sub
Private Sub slaSifonLadenOp()
'todo Dim hoofdAansturingSifonLade As HoofdAansturingSpecialLade = New HoofdAansturingSifonLade(reworkTrayRep)
'hoofdAansturingSifonLade.verwerkenSpecialLadeMetTrays(_specialLadenRep.sifonLaden)
End Sub
End Class