+1 for the proposal, Nicolas!

Rishi Solanki
Sr Manager, Enterprise Software Development
HotWax Systems Pvt. Ltd.
Direct: +91-9893287847
http://www.hotwaxsystems.com
www.hotwax.co

On Mon, Dec 11, 2017 at 7:20 PM, Jacques Le Roux <
jacques.le.r...@les7arts.com> wrote:

> Ha I see, you speak about
>
>     <EnumerationType description="Product Promotion Parent Enum Type"
> enumTypeId="PROD_PROMO" hasTable="N" parentTypeId=""/>
>     <EnumerationType description="Product Promotion Input Parameter"
> enumTypeId="PROD_PROMO_IN_PARAM" hasTable="N" parentTypeId="PROD_PROMO"/>
>     <EnumerationType description="Product Promotion Condition"
> enumTypeId="PROD_PROMO_COND" hasTable="N" parentTypeId="PROD_PROMO"/>
>
> Then yes I understand and I think a POC would be welcome :)
>
> Jacques
>
>
> Le 11/12/2017 à 13:08, Jacques Le Roux a écrit :
>
>> Hi Nicolas,
>>
>> I don't see why you speak about enumeration for ProductPromoCond and
>> ProductPromoAction which are plain entities.
>>
>> Jacques
>>
>>
>> Le 08/12/2017 à 14:14, Nicolas Malin a écrit :
>>
>>> Hello,
>>>
>>> Yesterday during a boring time in the come back home train, I read the
>>> ofbiz demo data review that the condition and action method are listed
>>> through enumeration like :
>>>
>>> <ProductPromoAction productPromoId="9010" 
>>> productPromoActionEnumId="PROMO_GWP"
>>> .../>
>>> <ProductPromoCond productPromoId="9010" 
>>> inputParamEnumId="PPIP_PRODUCT_TOTAL"
>>> operatorEnumId="PPC_GTE" condValue="1"/>
>>>
>>> and liked to the code by java hard code (ProductPromoWorker.java)
>>>
>>> condition :
>>>         } else if ("PPIP_PRODUCT_TOTAL".equals(inputParamEnumId)) {
>>>             // this type of condition allows items involved to be
>>> involved in other quantity consuming cond/action, and does pro-rate the
>>> price
>>> ....
>>>
>>> action :
>>> } else if ("PROMO_GWP".equals(productPromoActionEnumId)) {
>>> ...
>>>
>>> This isn't really useful to manage and extend it but an idea raise in my
>>> mind :)
>>>
>>> Why not replace the enumeration by a customMethod. We can define a
>>> interface service one for action and one for condition, with the related
>>> customMethodType. Each hard coded enumeration would be convert to service.
>>>
>>> Like this we can surcharge the current rules easily and create new one
>>> for customer site without modify the core.
>>> The main strategy point would be the interface service to pass the good
>>> parameters.
>>>
>>> <ProductPromoAction productPromoId="9010" customMethodId="PPA_PROMO_GWP"
>>> .../>
>>> <ProductPromoCond productPromoId="9010" customMethodId="PPC_PRODUCT_TOTAL"
>>> operatorEnumId="PPC_GTE" condValue="1"/>
>>>
>>> This is easily to improve on java code, screen and data.
>>> What do you thinks ? Do you have an other idea to improve this ?
>>>
>>> Cheers,
>>> Nicolas
>>>
>>>
>>
>>
>

Reply via email to