Package org.salamanca.commands.pago

Source Code of org.salamanca.commands.pago.InsertarPago

package org.salamanca.commands.pago;

import org.salamanca.commands.ICommand;
import javax.jdo.PersistenceManager;
import org.salamanca.broker.BrokerServer;
import org.salamanca.commands.MessageException;
import org.salamanca.domain.*;
import java.util.Iterator;

/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class InsertarPago implements ICommand {
    Pago pago;
    Alumno alumno;
    CuotaBasica cuotaBasica;
    public InsertarPago(Pago pago, Alumno alumno, CuotaBasica cuotaBasica) {
        this.pago = pago;
        this.alumno = alumno;
        this.cuotaBasica = cuotaBasica;
    }

    /**
     * execute
     */
    public void execute() throws MessageException {

        if (cuotaYaPagada()) { // no se permite pagar dos veces la misma cuota al mismo alumno
            throw new MessageException(
                    "La cuota en cuestion ya se encontraba pagada");
        }

        PersistenceManager pm = BrokerServer.instance().getPMF().
                                getPersistenceManager();
        pm.currentTransaction().begin();
        CuotaBasica cuotaBasicaPM = (CuotaBasica) pm.getObjectById(javax.jdo.
                JDOHelper.
                getObjectId(cuotaBasica),true);
        Alumno alumnoPM = (Alumno) pm.getObjectById(javax.jdo.
                JDOHelper.
                getObjectId(alumno),true);

        pago.setAlumno(alumnoPM);
        pago.setCuotaPagada(cuotaBasicaPM);

        pm.makePersistent(pago);
        pm.currentTransaction().commit();

    }

    private boolean cuotaYaPagada() {
        Iterator iter = alumno.getSetPagos().iterator();
        while (iter.hasNext()) {
            Pago itemPago = (Pago) iter.next();
            if (!itemPago.isAnulado() &&
                javax.jdo.JDOHelper.getObjectId(itemPago.getCuotaPagada()).
                equals(javax.jdo.JDOHelper.getObjectId(cuotaBasica))) {
                return true; //si alguno de sus pagos era sobre la cuota en cuestion
                //y no fue anulada
            }
        }
        return false;
    }


//v.size() == 0 ||
    /**
     * getCommandName
     *
     * @return String
     */
    public String getCommandName() {
        return this.getClass().getName();
    }

    /**
     * getBarDelimitedParameters
     *
     * @return String
     */
    public String getBarDelimitedParameters() {

        return cuotaBasica.getConcepto() + "|" +
                cuotaBasica.getCurso().getNombre() + "|" + alumno.getDocumento() +
                "|" +
                pago.getNombreDescuento() + "|" + pago.getImportePagado();
    }

}
TOP

Related Classes of org.salamanca.commands.pago.InsertarPago

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.