All Downloads are FREE. Search and download functionalities are using the official Maven repository.

in.succinct.plugins.ecommerce.db.model.apis.CancelImpl Maven / Gradle / Ivy

The newest version!
package in.succinct.plugins.ecommerce.db.model.apis;

import in.succinct.plugins.ecommerce.db.model.order.OrderLine;
import com.venky.swf.db.table.ModelImpl;

public class CancelImpl extends ModelImpl{
    public CancelImpl(Cancel cancel){
        super(cancel);
    }
    public void cancel() throws Cancel.OrderCancellationException {
        cancel("User Cancellation", OrderLine.CANCELLATION_INITIATOR_USER);
    }
    public void reject() throws Cancel.OrderCancellationException {
        cancel(OrderLine.CANCELLATION_REASON_OUT_OF_STOCK,OrderLine.CANCELLATION_INITIATOR_COMPANY);
    }

    public void cancel(String reason, String initiator) throws Cancel.OrderCancellationException {
        Cancel cancel = getProxy();
        try {
            OrderLine ol = cancel.getOrderLine();
            if (ol == null) {
                throw new Cancel.OrderCancellationException("Invalid Order Line id " + cancel.getOrderLineId());
            }
            if (cancel.getQuantity() == null){
                ol.cancel(reason,initiator);
            }else {
                ol.cancel(reason, initiator, cancel.getQuantity());
            }
            cancel.setSuccess(true);
        }catch (RuntimeException ex){
            cancel.setError(ex.getMessage());
            cancel.setSuccess(false);
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy