Index: WSimpl/AX/CalculatedProduct/BouwstenenConverter.cls.xml
===================================================================
diff -u -r44044 -r44049
--- WSimpl/AX/CalculatedProduct/BouwstenenConverter.cls.xml (.../BouwstenenConverter.cls.xml) (revision 44044)
+++ WSimpl/AX/CalculatedProduct/BouwstenenConverter.cls.xml (.../BouwstenenConverter.cls.xml) (revision 44049)
@@ -8,14 +8,20 @@
1
+
+DOM.PM.ProductAPI
+1
+
+
-BouwsteenConverter:WSimpl.AX.CalculatedProduct.BouwsteenConverter=""
+BouwsteenConverter:WSimpl.AX.CalculatedProduct.BouwsteenConverter="",ProductApi:DOM.PM.ProductAPI=""
1
1
%Status
1
@@ -50,10 +56,18 @@
While (KindBouwstenenIterator.HasNext()) {
#dim KindBouwsteen As DOM.PM.Bouwstenen.BouwsteenKind = KindBouwstenenIterator.Next()
+ #dim KindBouwsteenBomLine As AXif.Dynamics.CalculatedProductOut.MessageParts.AxdEntityBOMLine = ..GeefBomLine(KindBouwsteen, Teller)
- Do BomLines.Insert(..GeefBomLine(KindBouwsteen, Teller))
+ Do BomLines.Insert(KindBouwsteenBomLine)
Set Teller = Teller + 1
+
+ If (..ProductApi.BestaatProduct(KindBouwsteen.KindProduct.ProductNr)) {
+ #dim KindBouwsteenProduct As DOM.PM.Product = ..ProductApi.GeefProduct(KindBouwsteen.KindProduct.ProductNr)
+ #dim KindBouwsteenProductBomLines As %ListOfDataTypes = ..GeefBomLines(KindBouwsteenProduct, "")
+
+ Do ##class(TECH.ListUtils).AppendList(BomLines, KindBouwsteenProductBomLines)
+ }
}
Quit BomLines
Index: vhUnitTest/WSimpl/AX/CalculatedProduct/BouwstenenConverter/Test.cls.xml
===================================================================
diff -u -r44044 -r44049
--- vhUnitTest/WSimpl/AX/CalculatedProduct/BouwstenenConverter/Test.cls.xml (.../Test.cls.xml) (revision 44044)
+++ vhUnitTest/WSimpl/AX/CalculatedProduct/BouwstenenConverter/Test.cls.xml (.../Test.cls.xml) (revision 44049)
@@ -54,7 +54,10 @@
Do BouwsteenConverterMock.VerwachtMethodCall("Convert", ..KindBouwstenen.GetAt(2)).DanReturn(##class(AXif.Dynamics.CalculatedProductOut.MessageParts.AxdEntityBOMLine).%New())
Do BouwsteenConverterMock.VerwachtMethodCall("Convert", ..KindBouwstenen.GetAt(3)).DanReturn(##class(AXif.Dynamics.CalculatedProductOut.MessageParts.AxdEntityBOMLine).%New())
- #dim BouwstenenConverter As WSimpl.AX.CalculatedProduct.BouwstenenConverter = ##class(WSimpl.AX.CalculatedProduct.BouwstenenConverter).%New(BouwsteenConverterMock)
+ #dim ProductApiStub As vhTest.Mock.DOM.PM.ProductAPI = ##class(vhTest.Mock.DOM.PM.ProductAPI).%New()
+ Do ProductApiStub.IndienMethodCall("BestaatProduct", $$$ElkeWaarde).DanReturn($$$False)
+
+ #dim BouwstenenConverter As WSimpl.AX.CalculatedProduct.BouwstenenConverter = ##class(WSimpl.AX.CalculatedProduct.BouwstenenConverter).%New(BouwsteenConverterMock, ProductApiStub)
#dim BomLines As %ListOfObjects = BouwstenenConverter.Convert(..ProductStub)
#dim VerwachtAantalBomLines As %Integer = ..HalffabricaatBouwstenen.Count() + ..KindBouwstenen.Count()
@@ -77,7 +80,10 @@
Do BouwsteenConverterStub.IndienMethodCall("Convert", ..KindBouwstenen.GetAt(2)).DanReturn(##class(AXif.Dynamics.CalculatedProductOut.MessageParts.AxdEntityBOMLine).%New())
Do BouwsteenConverterStub.IndienMethodCall("Convert", ..KindBouwstenen.GetAt(3)).DanReturn(##class(AXif.Dynamics.CalculatedProductOut.MessageParts.AxdEntityBOMLine).%New())
- #dim BouwstenenConverter As WSimpl.AX.CalculatedProduct.BouwstenenConverter = ##class(WSimpl.AX.CalculatedProduct.BouwstenenConverter).%New(BouwsteenConverterStub)
+ #dim ProductApiStub As vhTest.Mock.DOM.PM.ProductAPI = ##class(vhTest.Mock.DOM.PM.ProductAPI).%New()
+ Do ProductApiStub.IndienMethodCall("BestaatProduct", $$$ElkeWaarde).DanReturn($$$False)
+
+ #dim BouwstenenConverter As WSimpl.AX.CalculatedProduct.BouwstenenConverter = ##class(WSimpl.AX.CalculatedProduct.BouwstenenConverter).%New(BouwsteenConverterStub, ProductApiStub)
#dim BomLines As %ListOfObjects = BouwstenenConverter.Convert(..ProductStub)
Do $$$AssertEquals(BomLines.GetAt(1).BOMLine, 1)
@@ -88,6 +94,53 @@
Do $$$AssertEquals(BomLines.GetAt(6).BOMLine, 6)
]]>
+
+
+
+