Index: APPS/EDI/Bestel/impl/BestelService/TandemboxBesteller/ProductValidator.cls.xml =================================================================== diff -u -r36238 -r36290 --- APPS/EDI/Bestel/impl/BestelService/TandemboxBesteller/ProductValidator.cls.xml (.../ProductValidator.cls.xml) (revision 36238) +++ APPS/EDI/Bestel/impl/BestelService/TandemboxBesteller/ProductValidator.cls.xml (.../ProductValidator.cls.xml) (revision 36290) @@ -3,11 +3,6 @@ TECH.Mockable,TECH.Validator.Validator - -APPS.EDI.common.dto.v001.LadeTBX -1 - - APPS.EDI.Bestel.impl.BestelService.TandemboxBesteller.Validator.CorpusWandDikteValidator 1 @@ -53,17 +48,10 @@ 1 - -TECH.Exceptions -list -1 - - -Product:APPS.EDI.common.dto.v001.LadeTBX + %Boolean 0,$$$false,$$$true) + Quit $$$If(Exceptions.Count()>0,$$$false,$$$true) ]]> Index: APPS/EDI/Bestel/impl/BestelService.cls.xml =================================================================== diff -u -r36264 -r36290 --- APPS/EDI/Bestel/impl/BestelService.cls.xml (.../BestelService.cls.xml) (revision 36264) +++ APPS/EDI/Bestel/impl/BestelService.cls.xml (.../BestelService.cls.xml) (revision 36290) @@ -41,6 +41,16 @@ If $$$Not($IsObject(ResultaatTBX.Exceptie) || $IsObject(ResultaatUNI.Exceptie)){ Do ..TandemboxBesteller.BestelOfferte() Do ..UnishopBesteller.BestelOfferte(ResultaatUNI.OfferteID, Aanvraag) + } Else { + Set Exception = ##class(TECH.Exceptions.InvalidInputException).%New("Ongeldige data") + + If $IsObject(ResultaatTBX.Exceptie){ + Do Exception.VoegToeInnerExceptie(ResultaatTBX.Exceptie) + } + If $IsObject(ResultaatUNI.Exceptie){ + Do Exception.VoegToeInnerExceptie(ResultaatUNI.Exceptie) + } + Do ##class(TECH.ExceptionHandler).Throw(Exception) } Quit ResultaatUNI Index: vhUnitTest/APPS/EDI/Bestel/impl/BestelService/PlaatsBestelling/Test.cls.xml =================================================================== diff -u -r36264 -r36290 --- vhUnitTest/APPS/EDI/Bestel/impl/BestelService/PlaatsBestelling/Test.cls.xml (.../Test.cls.xml) (revision 36264) +++ vhUnitTest/APPS/EDI/Bestel/impl/BestelService/PlaatsBestelling/Test.cls.xml (.../Test.cls.xml) (revision 36290) @@ -19,6 +19,9 @@ Do TandemboxBestellerStub.VerwachtMethodCall("MaakOfferte",Aanvraag).ExactAantalKeer(1).DanReturn(..GeefResultaatMetExceptie()) Do TandemboxBestellerStub.VerwachtMethodCall("BestelOfferte").ExactAantalKeer(0) + #dim Substrings = ##class(TECH.ListUtils).CreateListOfDataTypes("Ongeldige data") + do ..ZetVerwachteExceptie(##class(Tools.Test.VerwachteExceptie).%New("TECH.Exceptions.InvalidInputException",Substrings)) + Set BestelService = ##class(APPS.EDI.Bestel.impl.BestelService).%New(UnishopBestellerStub, TandemboxBestellerStub) Do BestelService.PlaatsBestelling(Aanvraag) @@ -38,6 +41,9 @@ Do TandemboxBestellerStub.VerwachtMethodCall("MaakOfferte",Aanvraag).ExactAantalKeer(1).DanReturn(..GeefResultaatMetExceptie()) Do TandemboxBestellerStub.VerwachtMethodCall("BestelOfferte").ExactAantalKeer(0) + #dim Substrings = ##class(TECH.ListUtils).CreateListOfDataTypes("Ongeldige data") + do ..ZetVerwachteExceptie(##class(Tools.Test.VerwachteExceptie).%New("TECH.Exceptions.InvalidInputException",Substrings)) + Set BestelService = ##class(APPS.EDI.Bestel.impl.BestelService).%New(UnishopBestellerStub, TandemboxBestellerStub) Do BestelService.PlaatsBestelling(Aanvraag) @@ -57,6 +63,9 @@ Do TandemboxBestellerStub.VerwachtMethodCall("MaakOfferte",Aanvraag).ExactAantalKeer(1).DanReturn(..GeefResultaatZonderExceptie()) Do TandemboxBestellerStub.VerwachtMethodCall("BestelOfferte").ExactAantalKeer(0) + #dim Substrings = ##class(TECH.ListUtils).CreateListOfDataTypes("Ongeldige data") + do ..ZetVerwachteExceptie(##class(Tools.Test.VerwachteExceptie).%New("TECH.Exceptions.InvalidInputException",Substrings)) + Set BestelService = ##class(APPS.EDI.Bestel.impl.BestelService).%New(UnishopBestellerStub, TandemboxBestellerStub) Do BestelService.PlaatsBestelling(Aanvraag) @@ -74,7 +83,7 @@ Do UnishopBestellerStub.VerwachtMethodCall("BestelOfferte",1234,Aanvraag).ExactAantalKeer(1) #dim TandemboxBestellerStub As vhTest.Mock.APPS.EDI.Bestel.impl.BestelService.TandemboxBesteller = ##class(vhTest.Mock.APPS.EDI.Bestel.impl.BestelService.TandemboxBesteller).%New() Do TandemboxBestellerStub.VerwachtMethodCall("MaakOfferte",Aanvraag).ExactAantalKeer(1).DanReturn(..GeefResultaatZonderExceptie()) - Do TandemboxBestellerStub.VerwachtMethodCall("BestelOfferte").ExactAantalKeer(1) + Do TandemboxBestellerStub.VerwachtMethodCall("BestelOfferte").ExactAantalKeer(1) Set BestelService = ##class(APPS.EDI.Bestel.impl.BestelService).%New(UnishopBestellerStub, TandemboxBestellerStub) Do BestelService.PlaatsBestelling(Aanvraag) @@ -102,7 +111,7 @@ APPS.EDI.Bestel.BestelService.PlaatsBestelling.Resultaat right -Product:APPS.EDI.common.dto.v001.LadeTBX + %Boolean - Index: vhUnitTest/APPS/EDI/Bestel/impl/BestelService/TandemboxBesteller/ProductlijnToevoeger/Test.cls.xml =================================================================== diff -u -r35928 -r36290 --- vhUnitTest/APPS/EDI/Bestel/impl/BestelService/TandemboxBesteller/ProductlijnToevoeger/Test.cls.xml (.../Test.cls.xml) (revision 35928) +++ vhUnitTest/APPS/EDI/Bestel/impl/BestelService/TandemboxBesteller/ProductlijnToevoeger/Test.cls.xml (.../Test.cls.xml) (revision 36290) @@ -31,7 +31,7 @@ Set WebOrder = ##class(WS.TBX.Order).%New() Set ProductValidatorStub = ##class(vhTest.Mock.APPS.EDI.Bestel.impl.BestelService.TandemboxBesteller.ProductValidator).%New() - Do ProductValidatorStub.IndienMethodCall("IsValid",$$$ElkeWaarde).DanReturn($$$True) + Do ProductValidatorStub.IndienMethodCall("IsValid",$$$ElkeWaarde,$$$ElkeWaarde).DanReturn($$$True) Set ProductlijnToevoeger = ##class(APPS.EDI.Bestel.impl.BestelService.TandemboxBesteller.ProductlijnToevoeger).%New(ProductValidatorStub) Do ProductlijnToevoeger.VoegToeLijnen(Aanvraag.Order, WebOrder) Index: APPS/EDI/Bestel/impl/BestelService/TandemboxBesteller/ProductlijnToevoeger.cls.xml =================================================================== diff -u -r35903 -r36290 --- APPS/EDI/Bestel/impl/BestelService/TandemboxBesteller/ProductlijnToevoeger.cls.xml (.../ProductlijnToevoeger.cls.xml) (revision 35903) +++ APPS/EDI/Bestel/impl/BestelService/TandemboxBesteller/ProductlijnToevoeger.cls.xml (.../ProductlijnToevoeger.cls.xml) (revision 36290) @@ -44,14 +44,25 @@ Set Iterator = ##class(TECH.ListIterator).%New(Order.Lijnen) #dim FilterIterator As TECH.Iterator = ##class(TECH.DynamicIterator).%New(Iterator,,Filter) + + Set Exceptions = ##class(TECH.ExceptionList).%New() + #dim ExceptionsSmijten As %Boolean = $$$False #dim Volgnummer As %Integer = 0 While FilterIterator.HasNext() { #dim Lijn As APPS.EDI.common.dto.ProductLijn = FilterIterator.Next() - If ..ProductValidator.IsValid(Lijn.Product) { + If ..ProductValidator.IsValid(Lijn.Product, .Exceptions) { Set Volgnummer = Volgnummer + 1 Do ..VoegToeLijn(Lijn, Volgnummer) + } Else { + Set ExceptionsSmijten = $$$True } + } + + If ExceptionsSmijten { + Set Exception = ##class(TECH.Exceptions.InvalidInputException).%New("Ongeldige data") + Do Exception.ZetInnerExcepties(Exceptions) + Do ##class(TECH.ExceptionHandler).Throw(Exception) } ]]>