segun ivar
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class Orden {
private List<DetalleOrden> detalleOrdens = new ArrayList<DetalleOrden>();
public void agregaDetalle(DetalleOrden detalleOrden) {
detalleOrdens.add(detalleOrden);
}
public DetalleOrden getDetalle(int indice) {
DetalleOrden detalleOrden = detalleOrdens.get(indice);
return new DetalleOrden(detalleOrden.getProducto(),
detalleOrden.getPrecio());
}
public int getCantidad() {
return detalleOrdens.size();
}
public double getTotal() {
double total = 0;
for (DetalleOrden detalleOrden : detalleOrdens) {
total = total + detalleOrden.getPrecio();
}
return total;
}
public void setFecha
(Date fecha
) { this.fecha=fecha;
}
}
public class RegistroDeOrden implements CasoDeUso {
private final Orden orden = new Orden();
private final BaseDeDatos baseDeDatos=new BaseDeDatos();
public void agregarDetalle(DetalleOrden detalleOrden) {
if (detalleOrden.getPrecio() < 20) {
throw new ErrorDePrecioMinimo(
"los gerentes no les gustas que los productos que cuesten menos de 20 soles");
}
orden.agregaDetalle(detalleOrden);
}
public void registrar() {
if (orden.getCantidad() < 1 && orden.getCantidad() > 10) {
throw new ErrorDeCantidadDeLineas(
"solo se debe registrar ordenes de entre 1 a 10 lineas");
}
orden.
setFecha(new Date()); baseDeDatos.grabar(orden);
}
}