package org.salamanca.commands.descuento;
import java.util.Date;
import org.salamanca.domain.Curso;
import org.salamanca.domain.CuotaBasica;
import javax.jdo.PersistenceManager;
import org.salamanca.broker.BrokerServer;
import org.salamanca.commands.MessageException;
import org.salamanca.domain.DescuentoSumaFija;
import org.salamanca.commands.ICommand;
import java.util.Vector;
import org.salamanca.domain.Descuento;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class InsertarDescuentoSumaFija implements ICommand{
DescuentoSumaFija descuentoSumaFija;
public InsertarDescuentoSumaFija(DescuentoSumaFija descuentoSumaFija) {
this.descuentoSumaFija = descuentoSumaFija;
}
/**
* execute
*/
public void execute() throws MessageException {
String filtro = "nombre.startsWith(\"" + descuentoSumaFija.getNombre() +
"\")";
Vector v = BrokerServer.instance().query(Descuento.class, filtro);
if (v.size() > 0) {
throw new MessageException(
"EL nombre del descuento es demasiado parecido a uno ya existente");
}
if (descuentoSumaFija.getNombre().trim().length() == 0) {
throw new MessageException(
"EL nombre del descuento no puede estar vacio");
}
if (descuentoSumaFija.getSumaFija() < 0) {
throw new MessageException(
"No se permiten descuentos negativos");
}
PersistenceManager pm = BrokerServer.instance().getPMF().
getPersistenceManager();
pm.currentTransaction().begin();
pm.makePersistent(descuentoSumaFija);
pm.currentTransaction().commit();
}
//v.size() == 0 ||
/**
* getCommandName
*
* @return String
*/
public String getCommandName() {
return this.getClass().getName();
}
/**
* getBarDelimitedParameters
*
* @return String
*/
public String getBarDelimitedParameters() {
return descuentoSumaFija.getNombre() + "|" +
descuentoSumaFija.getSumaFija();
}
}