package org.salamanca.commands.cuota;
import java.util.Date;
import org.salamanca.domain.Curso;
import javax.jdo.PersistenceManager;
import org.salamanca.broker.BrokerServer;
import org.salamanca.commands.MessageException;
import org.salamanca.domain.CuotaBasica;
import org.salamanca.commands.ICommand;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class ModificarCuota implements ICommand{
CuotaBasica cuota;
private boolean pagoExtra;
private double importe;
private Date fechaVencimiento;
private String concepto;
/**
* InsertarPersona
*
* @param persona Persona
*/
public ModificarCuota(CuotaBasica cuota, boolean pagoExtra, double importe,
Date fechaVencimiento,
String concepto) {
this.cuota = cuota;
this.pagoExtra = pagoExtra;
this.importe = importe;
this.fechaVencimiento = fechaVencimiento;
this.concepto = concepto;
}
/**
* execute
*/
public void execute() throws MessageException {
if (this.concepto.trim().length() == 0) {
throw new MessageException(
"EL concepto de la cuota no puede estar vacio");
}
if (this.fechaVencimiento.before(new Date())) {
throw new MessageException(
"La fecha de vencimiento no puede ser anterior" +
" a la fecha actual del sistema");
}
if (this.importe < 0) {
throw new MessageException(
"No se permiten valores negativos en la cuota");
}
PersistenceManager pm = BrokerServer.instance().getPMF().
getPersistenceManager();
pm.currentTransaction().begin();
CuotaBasica cuotaPM = (CuotaBasica) pm.getObjectById(javax.jdo.
JDOHelper.
getObjectId(this.cuota),true);
cuotaPM.setConcepto(this.concepto);
cuotaPM.setFechaVencimiento(this.fechaVencimiento);
cuotaPM.setImporte(this.importe);
cuotaPM.setPagoExtra(this.pagoExtra);
pm.currentTransaction().commit();
}
/**
* getCommandName
*
* @return String
*/
public String getCommandName() {
return this.getClass().getName();
}
/**
* getBarDelimitedParameters
*
* @return String
*/
public String getBarDelimitedParameters() {
return cuota.getFechaVencimiento() + "|" +
cuota.getConcepto() + "|" + cuota.getImporte() + "|" +
cuota.isPagoExtra() + fechaVencimiento + "|" +
concepto + "|" + importe + "|" +
pagoExtra;
}
}