Public Class VoorraadItem Implements IVoorraadItem Public Sub New(label As String, linksOfRechts As LinksOfRechts, diepte As String, hoogte As String, kantenband As String, kleurBinnen As String, kleurBuiten As String) Me.Label = label Me.LinksOfRechts = linksOfRechts Me.Diepte = diepte Me.Hoogte = hoogte Me.Kantenband = kantenband Me.KleurBinnen = kleurBinnen Me.KleurBuiten = kleurBuiten End Sub #Region "properties" Public Property PartnerInSlot() As VoorraadItem Private _zijkantArdisDatas As ArdisData() Public ReadOnly Property ZijkantArdisDatas() As ArdisData() Get If _zijkantArdisDatas Is Nothing Then Throw New Exception("De zijkant Ardis datas zijn nog niet gegenereerd.") End If Return _zijkantArdisDatas End Get End Property Private _zijkantAutomillingData As ZijkamerFreesProductieData Public ReadOnly Property ZijkantAutomillingData() As ZijkamerFreesProductieData Get If _zijkantAutomillingData Is Nothing Then Throw New Exception("De zijkant zijkantAutomillingData data is nog niet gegenereerd.") End If Return _zijkantAutomillingData End Get End Property Private _zijkantKantenbandDatas As KantenbandData() Public ReadOnly Property ZijkantKantenbandDatas() As KantenbandData() Get If _zijkantKantenbandDatas Is Nothing Then Throw New Exception("De zijkant KantenbandData data is nog niet gegenereerd.") End If Return _zijkantKantenbandDatas End Get End Property Private _label As String Public Property Label() As String Implements IVoorraadItem.Label Get Return _label End Get Set If String.IsNullOrEmpty(Value) OrElse String.IsNullOrEmpty(Value.Trim) Then Throw New Exception("Label tekst mag niet leeg zijn.") End If _label = Value.Trim End Set End Property Public Property LinksOfRechts As LinksOfRechts Implements IVoorraadItem.LinksOfRechts Public Property Diepte As String Implements IVoorraadItem.Diepte Public Property Hoogte As String Implements IVoorraadItem.Hoogte Public Property Kantenband As String Implements IVoorraadItem.Kantenband Public Property KleurBinnen As String Implements IVoorraadItem.KleurBinnen Public Property KleurBuiten As String Implements IVoorraadItem.KleurBuiten Property IsTweedeVanPaar As Boolean #End Region Public Sub GenereerZijkantArdisData() If _zijkantArdisDatas Is Nothing Then Dim ardisDataBinnen As New ArdisData Dim ardisDataBuiten As New ArdisData ardisDataBinnen.voorraadStelInitieleWaardenIn(Diepte, Hoogte, Label, KleurBinnen) ardisDataBinnen.voorraadGenereerBarcodeEnStelEtiketlijnIn(LinksOfRechts, Hoogte, CacheMapper.GeefBarcodeNummer()) ardisDataBuiten.voorraadStelInitieleWaardenIn(Diepte, Hoogte, Label, KleurBuiten) ardisDataBuiten.voorraadGenereerBarcodeEnStelEtiketlijnIn(LinksOfRechts, Hoogte, CacheMapper.GeefBarcodeNummer()) ardisDataBinnen.updateKommasNaarPunten() ardisDataBuiten.updateKommasNaarPunten() _zijkantArdisDatas = ({ardisDataBinnen, ardisDataBuiten}) End If End Sub Public Sub GenereerZijkantAutomillingData() If _zijkantAutomillingData Is Nothing Then Dim zijkantA As ArdisData = ZijkantArdisDatas(0) Dim zijkamerfreesProductieData As New ZijkamerFreesProductieData If PartnerInSlot Is Nothing Then zijkamerfreesProductieData.voorraadStelInitieleWaardenIn(zijkantA.KamerfreesTrayId, zijkantA.KamerfreesSlotNr, LinksOfRechts, KleurBinnen, Diepte, Hoogte, Label, zijkantA.PartCalc) zijkamerfreesProductieData.voorraadStelProgrammasInZonderPartner(Hoogte) Else zijkamerfreesProductieData.voorraadStelInitieleWaardenIn(zijkantA.KamerfreesTrayId, zijkantA.KamerfreesSlotNr, LinksOfRechts, KleurBinnen, Diepte, Hoogte, Label, zijkantA.PartCalc, PartnerInSlot.zijkantArdisDatas(0).PartCalc) zijkamerfreesProductieData.voorraadStelProgrammasInMetPartner(LinksOfRechts, partnerInSlot.linksOfRechts, Hoogte) End If _zijkantAutomillingData = zijkamerfreesProductieData End If End Sub Public Sub GenereerZijkantKantenbandDatas() If _zijkantKantenbandDatas Is Nothing And Not isTweedeVanPaar Then ' de kantenbanddata's wordt door 1 van de twee van het paar afgehandeld Dim zijkantA = ZijkantArdisDatas(0) Dim kantenbandDataA As New KantenbandData kantenbandDataA.voorraadStelInitieleWaardenIn(zijkantA.PartMat, zijkantA.PartCalc, Diepte, Hoogte, Kantenband) Dim kantenbandDataB As KantenbandData If Not PartnerInSlot Is Nothing Then Dim zijkantB = PartnerInSlot.zijkantArdisDatas(0) kantenbandDataB = New KantenbandData kantenbandDataB.voorraadStelInitieleWaardenIn(zijkantB.PartMat, zijkantB.PartCalc, Diepte, Hoogte, Kantenband) Else kantenbandDataB = Nothing End If _zijkantKantenbandDatas = ({kantenbandDataA, kantenbandDataB}) End If End Sub End Class