Setting offer to choose any 5 items for the price of 3

This script set sales promotions for choosing X number of items for the price of Y

1. Add a new product “Choice 5” with promotional price and copy paste the below code in Properties:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="group">CHOICE5</entry>
<entry key="count">5</entry>
</properties>

2. For all the products allowed under this promotion, copy paste the below code in Properties:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="CHOICE5"/>
</properties>

Administrator Menu > Maintenance > Resources
3. Copy paste the below code in event.addline:

if(line.getProperty("group")!=null && line.getProperty("count")!=null)
{
    ticket.setGlobalValue("GROUP-"+line.getProperty("group")+"-"+line.getProperty("count"));
}
else if(ticket.getGlobalValue()!=null && ticket.getGlobalValue().contains("GROUP"))
{
    String[] values= ticket.getGlobalValue().split("-");
    if(values.length==3)
    {
        i = ticket.parseInt(values[2]);
        if(i>0)
        {
            if(line.getProperty(values[1])!=null)
            {
                line.setSalePrice(0);
                line.setProperty("product.name", "--"+line.getProperty("product.name"));
                i=i-1;
                if(i==0)
                {
                    ticket.setGlobalValue(null);
                }
                else
                {
                    ticket.setGlobalValue("GROUP-"+values[1]+"-"+i);
                }
            }
            else
            {
               JOptionPane.showMessageDialog(null, "Add "+values[2]+" more items for "+ values[1], "Error", JOptionPane.PLAIN_MESSAGE);
               return "cancel";
            }
        }
    }
}

Save & restart

0 Comments

Leave a Reply

Arrow-up