Index: WSimpl/Unishop/Login/KortingBewaarder.cls.xml =================================================================== diff -u -r71154 -r71278 --- WSimpl/Unishop/Login/KortingBewaarder.cls.xml (.../KortingBewaarder.cls.xml) (revision 71154) +++ WSimpl/Unishop/Login/KortingBewaarder.cls.xml (.../KortingBewaarder.cls.xml) (revision 71278) @@ -84,11 +84,12 @@ Personality:DOM.common.Personality 1 @@ -350,39 +351,49 @@ ]]> - -Personality:DOM.common.Personality,Variant:DOM.PM.enu.Variant + +Personality:DOM.common.Personality,Variant:DOM.PM.enu.Variant,DefaultVariantIndienNietMeegegeven:%String 1 = 1) && (Korting <= 100)))) { + Set KortingPercentage = (Korting / 100) + } ElseIf (Korting = "") { + Set KortingPercentage = 0 + } Else { + Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New("Kan korting '" _ Korting _ "' niet parsen. (Personality: '" _ Personality.GeefID() _ "', Klant: '" _ ..KlantSessieData.KlantID _ "', '" _ ..KlantSessieData.KlantNaam _ "')")) + } + + If $$$Not(Korting = "") { + Do ..KortingService.StelInKorting(KortingSpecificatie, KortingPercentage) + } } ]]> - -Personality:DOM.common.Personality,Variant:DOM.PM.enu.Variant + +Personality:DOM.common.Personality,Variant:DOM.PM.enu.Variant,DefaultVariantIndienNietMeegegeven:%String 1 = 1) && (Korting <= 100)))) { - Set KortingPercentage = (Korting / 100) - } ElseIf (Korting = "") { - Set KortingPercentage = 0 + If (DefaultVariantIndienNietMeegegeven = "verplicht") { + #dim VariantInitialen = $Piece(Variant, "_", 1) + Set Exception = ##class(TECH.Exceptions.InvalidInputException).%New("Geen kortingscode gevonden voor deze variant ("_VariantInitialen_")") + Do ##class(TECH.ExceptionHandler).Throw(Exception) + } If (DefaultVariantIndienNietMeegegeven = "0") { + Do ..KortingService.StelInKorting(KortingSpecificatie, 0) } Else { - Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New("Kan korting '" _ Korting _ "' niet parsen. (Personality: '" _ Personality.GeefID() _ "', Klant: '" _ ..KlantSessieData.KlantID _ "', '" _ ..KlantSessieData.KlantNaam _ "')")) + #dim KortingDefaultVariant As %String = ..KortingVoorVariantBepaler.GeefKortingVoorVariant(..KlantSessieData.Korting, DefaultVariantIndienNietMeegegeven) + Do ..KortingService.StelInKorting(KortingSpecificatie, KortingDefaultVariant / 100) } - - If $$$Not(Korting = "") { - Do ..KortingService.StelInKorting(KortingSpecificatie, KortingPercentage) - } ]]> Index: WSimpl/Unishop/Login/KortingVoorVariantBepaler.cls.xml =================================================================== diff -u -r67130 -r71278 --- WSimpl/Unishop/Login/KortingVoorVariantBepaler.cls.xml (.../KortingVoorVariantBepaler.cls.xml) (revision 67130) +++ WSimpl/Unishop/Login/KortingVoorVariantBepaler.cls.xml (.../KortingVoorVariantBepaler.cls.xml) (revision 71278) @@ -27,8 +27,7 @@ } If (Korting = "") { - Set Exception = ##class(TECH.Exceptions.InvalidInputException).%New("Geen kortingscode gevonden voor deze variant ("_VariantInitialen_")") - Do ##class(TECH.ExceptionHandler).Throw(Exception) + Set Korting = "?" } } ElseIf ( (##class(TECH.StringUtils).StripAllNumeric(KlantSessieDataKorting) = "") || (##class(TECH.StringUtils).StripAllNumeric(KlantSessieDataKorting) = ".") ) {