Public Class SifonLadeDubbel
Inherits SifonLadeV2
Implements ISifonLadeDubbel
#Region "Onderdelen"
Public Property BinnenzijkantL2 As Zijkant Implements ISifonLadeDubbel.BinnenzijkantL2
Public Property BinnenzijkantR2 As Zijkant Implements ISifonLadeDubbel.BinnenzijkantR2
Public Property RugM As Rug Implements ISifonLadeDubbel.RugM
#End Region
#Region "Afmetingen"
Public Property BreedteSifonuitsparingZ2 As Double Implements ISifonLadeDubbel.BreedteSifonuitsparingZ2
Public Property DiepteSifonuitsparingU2 As Double Implements ISifonLadeDubbel.DiepteSifonuitsparingU2
Public Property BreedteMiddenstuk As Double Implements ISifonLadeDubbel.BreedteMiddenstuk
Public Overrides ReadOnly Property PositieSifonuitsparingR As Double
Get
'Maakt gebruik van de berekening van de parent en trekt extra waarden af.
Return MyBase.PositieSifonuitsparingR - BreedteMiddenstuk - BreedteSifonuitsparingZ2
End Get
End Property
#End Region
Public Sub New()
MyBase.New
End Sub
Public Sub New(buitenzijkantL As Zijkant, buitenzijkantR As Zijkant, bodem As Bodem, rug As Rug)
'Base klasse constructor aanroepen.
MyBase.New(buitenzijkantL, buitenzijkantR, bodem, rug)
End Sub
'''
Public Overrides Function GeefGegenereerdeOnderdelen() As IEnumerable(Of IOnderdeel) Implements ISpecialLade.GeefGegenereerdeOnderdelen
'Gegenereerde onderdelen.
Dim gegenereerdeOnderdelen = New List(Of IOnderdeel) From {
BinnenzijkantL2,
BinnenzijkantR2,
RugM
}
'Gegenereerde onderdelen van parent opvragen en toevoegen.
gegenereerdeOnderdelen.AddRange(MyBase.GeefGegenereerdeOnderdelen)
'Uitgebreide lijst retourneren.
Return gegenereerdeOnderdelen
End Function
'''
Public overrides Function GeefGegenereerdeEnOrigineleOnderdelen() As IEnumerable(Of IOnderdeel())
'Lijst initialiseren met originele en gegenereerde onderdelen en retourneren.
Dim gegenereerdeOnderdelen = New List(Of IOnderdeel()) From {
New IOnderdeel(){BinnenzijkantL2, BinnenzijkantL2},
New IOnderdeel(){BuitenzijkantR, BinnenzijkantR2},
New IOnderdeel(){OrigineleRug, RugM}
}
'Gegenereerde onderdelen van parent opvragen en toevoegen.
gegenereerdeOnderdelen.AddRange(MyBase.GeefGegenereerdeEnOrigineleOnderdelen())
'Uitgebreide lijst retourneren.
Return gegenereerdeOnderdelen
End Function
'''
Public Overrides Sub MaakLade() Implements ISifonLade.MaakLade
'Binnenzijkant L en R genereren.
GenereerBinnenzijkantL()
GenereerBinnenzijkantR()
'Ruggen genereren.
GenereerBinnenZijkantL2()
GenereerBinnenzijkantR2()
'Genereer ruggen
GenereerExtraRuggen()
'Etiketten updaten.
UpdateEtiketten()
End Sub
Private Sub GenereerBinnenzijkantR2()
'Nettolengte diepte sifonuitsparing opvragen.
Dim lengte = Configs.geefNettoLengte(DiepteSifonuitsparingU2)
'Nieuwe binnenzijkant initialiseren.
Dim ardisDataL = BuitenzijkantR.ArdisDataL.ShallowCopy()
ardisDataL.SifonLadeNieuweZijkantData(lengte, OrigineleRug.ArdisData.PartW, Bodem.ArdisData.PartMat, OrigineleRug.ArdisData.PartCalc, True)
Dim ardisDataR = BuitenzijkantR.ArdisDataR.ShallowCopy()
ardisDataR.SifonLadeNieuweZijkantData(lengte, OrigineleRug.ArdisData.PartW, Bodem.ArdisData.PartMat, OrigineleRug.ArdisData.PartCalc, False)
'Zijkant initialiseren met juiste Ardis data.
BinnenzijkantR2 = New Zijkant() With {
.ArdisDataL = ardisDataL,
.ArdisDataR = ardisDataR
}
End Sub
Private Sub GenereerBinnenZijkantL2()
'Nettolengte diepte sifonuitsparing opvragen.
Dim lengte = Configs.geefNettoLengte(DiepteSifonuitsparingU2)
'Nieuwe binnenzijkant initialiseren.
Dim ardisDataL = BuitenzijkantL.ArdisDataL.ShallowCopy()
ardisDataL.SifonLadeNieuweZijkantData(lengte, OrigineleRug.ArdisData.PartW, Bodem.ArdisData.PartMat, OrigineleRug.ArdisData.PartCalc, True)
Dim ardisDataR = BuitenzijkantL.ArdisDataR.ShallowCopy()
ardisDataR.SifonLadeNieuweZijkantData(lengte, OrigineleRug.ArdisData.PartW, Bodem.ArdisData.PartMat, OrigineleRug.ArdisData.PartCalc, False)
'Zijkant initialiseren met juiste Ardis data.
BinnenzijkantL2 = New Zijkant() With {
.ArdisDataL = ardisDataL,
.ArdisDataR = ardisDataR
}
End Sub
Private Sub GenereerExtraRuggen()
'De twee ruggen maken.
Dim rugLArdisData As ArdisData = OrigineleRug.ArdisData.ShallowCopy
Dim rugMArdisData As ArdisData = OrigineleRug.ArdisData.ShallowCopy
Dim rugRArdisData As ArdisData = OrigineleRug.ArdisData.ShallowCopy
'Barcode van een zijkant ophalen.
Dim isVerlaagdeRug = OrigineleRug.ArdisData.SifonLadeIsVerlaagdeRug(BuitenzijkantL.ArdisDataL.PartCalc)
'Lengte van de originele rug ophalen.
Dim oorspronkelijkeLengteRug = OrigineleRug.ArdisData.PartL
'Data en ticket updaten.
rugLArdisData.SifonLadeNieuweRug1Data(PositieSifonuitsparingL, oorspronkelijkeLengteRug, isVerlaagdeRug)
rugMArdisData.SifonLadeNieuweRugMData(BreedteMiddenstuk, oorspronkelijkeLengteRug, isVerlaagdeRug)
rugRArdisData.SifonLadeNieuweRug2Data(KastBreedte, BreedteSifonuitsparingZ1, rugLArdisData.PartL, oorspronkelijkeLengteRug, isVerlaagdeRug)
'Ruggen initialiseren met Ardis data.
RugL = New Rug() With {
.ArdisData = rugLArdisData
}
RugM = New Rug() With {
.ArdisData = rugMArdisData
}
RugR = New Rug() With {
.ArdisData = rugRArdisData
}
End Sub
End Class