Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

package in.shop2020.recharge.controllers;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import in.shop2020.model.v1.order.FRC;
import in.shop2020.model.v1.order.RechargeType;
import in.shop2020.model.v1.order.TelecomCircle;
import in.shop2020.thrift.clients.TransactionClient;

public class AddSeriesController extends BaseController{

    /**
     * 
     */
    private long circle;
    private long operatorId = 0l;
    List<FRC> frcs = new ArrayList<FRC>();
    private String message = "";
    private static List<TelecomCircle> circles = new ArrayList<TelecomCircle>();
    private static Map<Long, String> operatorsMap = new HashMap<Long, String>();
    private ArrayList<Long> frcIdToDelete = new ArrayList<Long>();
    private long denomination = 0l;
    private long maxDiscount = 0l;
    private Long series;
    
    private static final long serialVersionUID = 1L;
    
    static{
        try {
            TransactionClient tcl = new TransactionClient();
            circles = tcl.getClient().getAllCircles();
            operatorsMap = tcl.getClient().getServiceProviders(RechargeType.MOBILE, true);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            log.error("Exception", e);
        }
    }
    
    public String index() {
        if(circles.size() == 0 || operatorsMap.keySet().size() == 0) {
            try{
                TransactionClient tcl = new TransactionClient();
                circles = tcl.getClient().getAllCircles();
                operatorsMap = tcl.getClient().getServiceProviders(RechargeType.MOBILE, true);
            } catch (Exception e) {
                log.error("Unable to get all circles", e);
                setMessage("Internal Error. Please try again.");
            }
        }
        return "index";
    }
    
    public String create(){
        try{
            if(circle == 0 || operatorId == 0) {
                setMessage("Invalid circle");
                return index();
            }
            
            if(operatorId == 0) {
                setMessage("Invalid operator");
                return index();
            }
            TransactionClient tcl = new TransactionClient();
            setMessage(tcl.getClient().addSeries(circle, operatorId, series));
        } catch (Exception e) {
            log.error("Unable to add series : " + series + " for circle and operator : " + circle  + ", " + operatorId + " resp.", e);
            setMessage("Internal error. Please try again");
        }
        return index();
    }

    public long getCircle() {
        return circle;
    }

    public void setCircle(long circle) {
        this.circle = circle;
    }

    public long getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(long operatorId) {
        this.operatorId = operatorId;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public List<TelecomCircle> getCircles() {
        return circles;
    }

    public static void setCircles(List<TelecomCircle> circles) {
        AddSeriesController.circles = circles;
    }

    public Map<Long, String> getOperatorsMap() {
        return operatorsMap;
    }

    public static void setOperatorsMap(Map<Long, String> operatorsMap) {
        AddSeriesController.operatorsMap = operatorsMap;
    }

    public void setFrcIdToDelete(ArrayList<Long> frcIdToDelete) {
        this.frcIdToDelete = frcIdToDelete;
    }

    public ArrayList<Long> getFrcIdToDelete() {
        return frcIdToDelete;
    }

    public long getDenomination() {
        return denomination;
    }

    public void setDenomination(long denomination) {
        this.denomination = denomination;
    }

    public long getMaxDiscount() {
        return maxDiscount;
    }

    public void setMaxDiscount(long maxDiscount) {
        this.maxDiscount = maxDiscount;
    }

    public Long getSeries() {
        return series;
    }

    public void setSeries(Long series) {
        this.series = series;
    }

}