Index: vhUnitTest/APPS/VKP/Korting/impl/KortingService/GeefKortingConfiguratieLijst/Test.cls.xml =================================================================== diff -u -r67202 -r67208 --- vhUnitTest/APPS/VKP/Korting/impl/KortingService/GeefKortingConfiguratieLijst/Test.cls.xml (.../Test.cls.xml) (revision 67202) +++ vhUnitTest/APPS/VKP/Korting/impl/KortingService/GeefKortingConfiguratieLijst/Test.cls.xml (.../Test.cls.xml) (revision 67208) @@ -121,6 +121,7 @@ If $$$AssertTrue(KortingConfiguratieLijstIt.HasNext()){ #dim KlantID As DOM.VKP.VanHoeckeKlantID = ..Personality.GeefPrefix()_"DE2000001" Do ..AssertKortingConfiguratie(KortingConfiguratieLijstIt.Next(),KlantID,0.161,##class(DOM.PM.enu.Variant).LegraboxPure()) + Do ..AssertKortingConfiguratie(KortingConfiguratieLijstIt.Next(),KlantID,0.161,##class(DOM.PM.enu.Variant).Merivobox()) Do ..AssertKortingConfiguratie(KortingConfiguratieLijstIt.Next(),KlantID,0.161,##class(DOM.PM.enu.Variant).Taorbox()) Do ..AssertKortingConfiguratie(KortingConfiguratieLijstIt.Next(),KlantID,0.161,##class(DOM.PM.enu.Variant).TandemboxAntaro()) } @@ -189,6 +190,9 @@ Do ..KortingServiceHelperMock.IndienMethodCall("GeefVariant", "TAX").DanReturn(##class(DOM.PM.enu.Variant).Taorbox()) Do ..KortingServiceHelperMock.IndienMethodCall("GeefVariant", "OL").DanReturn(##class(DOM.PM.enu.Variant).Orgalux()) + Do ..KortingServiceHelperMock.IndienMethodCall("GeefVariantenVoorPersonality", PersonalityHaefeleBE).DanReturn($ListBuild("TBX_Intivo", "TBX_Antaro", "TBX_Plus", "LBX_Pure", "OL")) + Do ..KortingServiceHelperMock.IndienMethodCall("GeefVariantenVoorPersonality", PersonalityHaefeleDE).DanReturn($ListBuild("TBX_Antaro", "LBX_Pure", "TAOR", "MVX")) + Do ..KortingServiceHelperMock.IndienMethodCall("GeefVariantenVoorPersonality", PersonalityHaefeleNL).DanReturn($ListBuild("TBX_Antaro", "LBX_Pure", "TAOR")) Do ..KortingServiceHelperMock.IndienMethodCall("GeefVariantenVanTypeVoorPersonality", "TBX", PersonalityHaefeleBE).DanReturn($ListBuild("TBX_Intivo", "TBX_Antaro", "TBX_Plus")) Do ..KortingServiceHelperMock.IndienMethodCall("GeefVariantenVanTypeVoorPersonality", "LBX", PersonalityHaefeleBE).DanReturn($ListBuild("LBX_Pure")) Index: APPS/VKP/Korting/impl/KortingService.cls.xml =================================================================== diff -u -r67201 -r67208 --- APPS/VKP/Korting/impl/KortingService.cls.xml (.../KortingService.cls.xml) (revision 67201) +++ APPS/VKP/Korting/impl/KortingService.cls.xml (.../KortingService.cls.xml) (revision 67208) @@ -79,7 +79,25 @@ } } - // Check of alle kortingen hierna gezet zijn + #dim VariantenVoorPersonality As %List = ..KortingServiceHelper.GeefVariantenVoorPersonality(PersonalityID) + For Index = 1 : 1 : $ListLength(VariantenVoorPersonality) { + Set EnuVariant = $List(VariantenVoorPersonality, Index) + + If $$$Not(KortingConfiguratieArray.IsDefined(EnuVariant)) { + If (EnuVariant = ##class(DOM.PM.enu.Variant).TandemboxAntaro()) { + Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New("Variant '"_EnuVariant_"' hoort verplicht aanwezig te zijn in het kortingsbestand via data dumps.")) + } ElseIf (EnuVariant = ##class(DOM.PM.enu.Variant).LegraboxPure() || EnuVariant = ##class(DOM.PM.enu.Variant).Taorbox()) { + Set KortingPercentage = KortingConfiguratieArray.GetAt(##class(DOM.PM.enu.Variant).TandemboxAntaro()).KortingPercentage + Do KortingConfiguratieArray.SetAt(..GeefKortingConfiguratie(KlantID, EnuVariant, KortingPercentage, PersonalityID), EnuVariant) + } ElseIf (EnuVariant = ##class(DOM.PM.enu.Variant).Orgalux()) { + Set KortingPercentage = KortingConfiguratieArray.GetAt(##class(DOM.PM.enu.Variant).TandemboxAntaro()).KortingPercentage + Do KortingConfiguratieArray.SetAt(..GeefKortingConfiguratie(KlantID, EnuVariant, KortingPercentage, PersonalityID), EnuVariant) + } ElseIf (EnuVariant = ##class(DOM.PM.enu.Variant).Merivobox()) { + Set KortingPercentage = KortingConfiguratieArray.GetAt(##class(DOM.PM.enu.Variant).LegraboxPure()).KortingPercentage + Do KortingConfiguratieArray.SetAt(..GeefKortingConfiguratie(KlantID, EnuVariant, KortingPercentage, PersonalityID), EnuVariant) + } + } + } Quit KortingConfiguratieArray ]]>