Index: WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml =================================================================== diff -u -r58510 -r58512 --- WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58510) +++ WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58512) @@ -23,8 +23,13 @@ 1 + +TECH.Mail.MailAPI +1 + + -ToeleveringVoorbereidingService:APPS.Halux.Voorbereiding.VoorbereidingService="",BatchService:APPS.Halux.common.BatchService="",ToeleveringApi:DOM.AKP.ToeleveringAPI="",Logger:vhLib.Logger="" +ToeleveringVoorbereidingService:APPS.Halux.Voorbereiding.VoorbereidingService="",BatchService:APPS.Halux.common.BatchService="",ToeleveringApi:DOM.AKP.ToeleveringAPI="",Logger:vhLib.Logger="",MailApi:TECH.Mail.MailAPI="" 1 1 %Status @@ -34,6 +39,7 @@ Set ..BatchService = $$$Inject(BatchService, ##class(APPS.Halux.common.impl.BatchService).%New()) Set ..ToeleveringApi = $$$Inject(ToeleveringApi, ##class(DOM.AKP.impl.DataM.DataMToeleveringAPI).%New()) Set ..Logger = $$$Inject(Logger, ##class(vhLib.Logger).%New("CalculatedProduct")) + Set ..MailApi = $$$Inject(MailApi, ##class(TECH.Mail.impl.MailAPI).%New()) Quit $$$OK ]]> @@ -47,6 +53,7 @@ If (..ToeleveringApi.BestaatToelevering(ToeleveringId)) { #dim Toelevering As DOM.AKP.Toelevering = ..ToeleveringApi.GeefToelevering(ToeleveringId) + #dim OrderId As %String = Toelevering.GeefOrderID() Try { Do ..LockToelevering(ToeleveringId) @@ -57,10 +64,10 @@ } ElseIf ($$$Not(..ZitToeleveringInBatch(ToeleveringId))) { Do ..PasAanProductIdOpToeleveringLijnen(Toelevering, OudProductId, NieuwProductId) Set IsToeleveringAangepast = $$$True - // Halux MAILEN !!! + Do ..VerstuurMail(OrderId, ToeleveringId, OudProductId, NieuwProductId, $$$False) } Else { // KLAARGEZET en WEL IN BATCH (al dan niet gestart) => Toeleveringen NIET aanpassen => Halux hiervan verwittigen! - // MAILEN !!! + // Halux MAILEN !!! } If IsToeleveringAangepast { @@ -154,6 +161,39 @@ + + +OrderId:%String,ToeleveringId:%String,OudProductId:%String,NieuwProductId:%String,IsToeleveringInBatch:%Boolean +1 + + Index: vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml =================================================================== diff -u -r58474 -r58512 --- vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58474) +++ vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58512) @@ -9,7 +9,7 @@ right -ToeleveringVoorbereidingService:APPS.Halux.Voorbereiding.VoorbereidingService="",BatchService:APPS.Halux.common.BatchService="",ToeleveringApi:DOM.AKP.ToeleveringAPI="",Logger:vhLib.Logger="" +ToeleveringVoorbereidingService:APPS.Halux.Voorbereiding.VoorbereidingService="",BatchService:APPS.Halux.common.BatchService="",ToeleveringApi:DOM.AKP.ToeleveringAPI="",Logger:vhLib.Logger="",MailApi:TECH.Mail.MailAPI="" %Status Index: vhUnitTest/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService/Test.cls.xml =================================================================== diff -u -r58510 -r58512 --- vhUnitTest/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService/Test.cls.xml (.../Test.cls.xml) (revision 58510) +++ vhUnitTest/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService/Test.cls.xml (.../Test.cls.xml) (revision 58512) @@ -43,6 +43,11 @@ 1 + +TECH.Mail.MailAPI +1 + + aTestName:%String @@ -115,23 +121,59 @@ #dim LoggerMock = ##class(vhTest.Mock.vhLib.Logger).%New() Do LoggerMock.VerwachtMethodCall("Info", "ProductUpdater", "ProductId gewijzigd op ToeleveringLijn. Op Toelevering '"_ToeleveringStub.GeefID()_"', op lijn '"_100_"', werd de ProductId '"_..#RandomOudProductId_"' vervangen door '"_..#RandomNieuwProductId_"'.") + #dim Mail As TECH.Mail.Mail = ##class(TECH.Mail.impl.Mail).%New() + #dim MailApiMock As TECH.Mail.MailAPI = ##class(vhTest.Mock.TECH.Mail.MailAPI).%New() + Do MailApiMock.VerwachtMethodCall("MaakNieuwMail").DanReturn(Mail) + Do MailApiMock.VerwachtMethodCall("VerstuurMail", Mail).DanDoeNiks() + Set ..ToeleveringVoorbereidingService = ToeleveringVoorbereidingServiceStub Set ..BatchService = BatchServiceStub Set ..ToeleveringApi = ToeleveringApiMock Set ..Logger = LoggerMock + Set ..MailApi = MailApiMock #dim ToeleveringService As WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService = ..GeefToeleveringService() Do $$$AssertTrue(ToeleveringService.IsToeleveringAangepast(..#RandomToeleveringId, ..#RandomOudProductId, ..#RandomNieuwProductId)) + Do $$$AssertEquals(Mail.GeefOnderwerp(), "Order 1000 en Toelevering 200000 aangepast in het kader van ProductUpdate.") Do ..ToeleveringApi.Verifieer() Do ..Logger.Verifieer() + Do ..MailApi.Verifieer() ]]> + + + + 1 WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService -