package casarural;
/**
* @author Grupo 2
*/
import java.rmi.Naming;
import java.rmi.RMISecurityManager;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.sql.Date;
import java.sql.SQLException;
import java.util.Vector;
import excepciones.NoSePuedeReservarException;
/**
* @author kdreamer
*/
public class ClaseFachada extends UnicastRemoteObject implements InterfazFachada {
/**
* @uml.property name="elGestorCasasRurales"
* @uml.associationEnd
*/
GestorCasasRurales elGestorCasasRurales=GestorCasasRurales.getInstance();
/**
* @uml.property name="elGestorReservas"
* @uml.associationEnd
*/
GestorReservas elGestorReservas;
/**
* @uml.property name="elGestorOfertas"
* @uml.associationEnd
*/
GestorOfertas elGestorOfertas;
Login elGestorLogin;
public ClaseFachada() throws RemoteException, InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException
{
elGestorReservas=GestorReservas.getInstance();
elGestorOfertas=GestorOfertas.getInstance();
elGestorLogin= Login.getInstance();
}
/*
public Float calcular(Float op1, Float op2) throws RemoteException {
// TODO Ap�ndice de m�todo generado autom�ticamente
return null;
}
public void setConfiguracion(InterfazConfiguracion inConf) throws RemoteException {
// TODO Ap�ndice de m�todo generado autom�ticamente
}
public Vector seleccionarReservas(Date diaIni, Date diaFin, int numCasa) throws RemoteException, NoSePuedeReservarException {
// TODO Ap�ndice de m�todo generado autom�ticamente
return null;
}
public void transaccionDeReserva(Vector reservasTotales, String numReserva, String numTfnoReserva, float PrecioTotal) throws RemoteException {
// TODO Ap�ndice de m�todo generado autom�ticamente
}
public Propietario seleccionarPropietario(int numCasa) throws RemoteException {
// TODO Ap�ndice de m�todo generado autom�ticamente
return null;
}
public Vector getCodigosCasas(String cuentaSistema) throws RemoteException {
return elGestorCasasRurales.getCodigosCasas(cuentaSistema);
}
public Vector seleccionarCasas(String cuentaSistema) throws RemoteException {
// TODO Ap�ndice de m�todo generado autom�ticamente
return null;
}
public Vector seleccionarOfertas(Date diaIni, Date diaFin, int numCasa) throws RemoteException {
// TODO Ap�ndice de m�todo generado autom�ticamente
return null;
}
public void transaccionDeOfertas(Vector todasLasOfertasIncluidas, Date diaIni, Date diaFin, String numOfePrimera, String numOfeUltima, float precio, int numCasa) throws RemoteException {
// TODO Ap�ndice de m�todo generado autom�ticamente
}
public void setTantoPorCientoAPagar(int porcentaje) throws RemoteException {
// TODO Ap�ndice de m�todo generado autom�ticamente
}
public int getTantoPorCientoAPagar() throws RemoteException {
// TODO Ap�ndice de m�todo generado autom�ticamente
return 0;
}
public void setNumDiasAPagar(int numDias) throws RemoteException {
// TODO Ap�ndice de m�todo generado autom�ticamente
}
public int getNumDiasAPagar() throws RemoteException {
// TODO Ap�ndice de m�todo generado autom�ticamente
return 0;
}
public InterfazConfiguracion getConfiguracion() throws RemoteException {
// TODO Ap�ndice de m�todo generado autom�ticamente
return null;
}
*/
/**Obtiene el codigo de las casas vinculadas a una cuenta
*@param Numero de cuenta
*@return Vector de codigos de casa
*/
public Vector getCodigosCasas(String cuentaSistema) throws RemoteException {
return elGestorCasasRurales.getCodigosCasas(cuentaSistema);
}
/**Obtiene las ofertas entre las fechas indicadas para un numero de casa
*@param Numero de casa, Fecha de inicio y fecha de fin
*@return Vector de objetos de la clase Oferta
*/
public Oferta obtenerMejorOferta (Date diaIni,Date diaFin, int habitaciones, int banos, String criterio) throws RemoteException, Exception
{
return elGestorOfertas.obtenerMejorOferta(diaIni, diaFin, habitaciones, banos, criterio);
}
/**Asigna la oferta a la casa determinada
*@param El codigo de la casa, dia de inicio, dia de fin y el precio
*@return Ninguno
*/
public void asignarOferta(int numCasa, Date diaIni, Date diaFin, float precio) throws RemoteException, Exception {
elGestorOfertas.asignarOferta(numCasa, diaIni, diaFin, precio);
}
/**Devuelve la reserva vinculada a los parametros de entrada
*@param El codigo de la casa, dia de inicio, dia de fin y el numero de telefono
*@return La reserva
*/
public Reserva reservar(Date diaIni, Date diaFin, int numCasa, String numTfnoReserva) throws RemoteException, NoSePuedeReservarException {
return elGestorReservas.reservar(diaIni, diaFin, numCasa, numTfnoReserva);
}
/**Devuelve el numero de cuenta corriente asociada a la casa
*@param El codigo de la casa
*@return El numero de cuenta
*/
public String getNumCuentaCorriente(int numCasa) throws RemoteException {
return elGestorCasasRurales.getNumCuentaCorriente(numCasa);
}
//////////////////////////////////////////////////////////////////////////////
// A�adido por nosotros
/**Obtiene las ofertas entre las fechas indicadas para un numero de casa
*@param Numero de casa, Fecha de inicio y fecha de fin
*@return Vector de objetos de la clase Oferta
*/
public OfertasEnMemoriaPrincipal obtenerOfertas (int numCasa,java.sql.Date diaIni,java.sql.Date diaFin) throws RemoteException,Exception {
return elGestorOfertas.obtenerOfertas(numCasa, diaIni, diaFin);
}
/**
M�todo que anula una reserva y con ella todas las ofertas relacionadas, adem�s de devolver el Precio total.
*
* @param Numero
* de Reserva.
* @return PrecioTotal
*/
public float anularReserva(Integer numReserva)throws RemoteException, SQLException{
return elGestorReservas.anularReserva(numReserva);
}
public Vector buscarOfertas(Date diaIni, Date diaFin, Float precioMax, int diasMin, int dormitorios, int banos, boolean orden) throws RemoteException, Exception {
return elGestorOfertas.buscarOfertas(diaIni, diaFin, precioMax,
diasMin, dormitorios, banos, orden);
}
public Boolean hacerLogin(String pAlias, String pPassword)throws RemoteException,Exception {
return elGestorLogin.identificarse(pAlias, pPassword);
}
}