public ReservasBE CreaReserva(ReservasBE ObjReserva) { try { //validacion de fecha if (ObjReserva.D_FecRegistro < Convert.ToDateTime(DateTime.Now.ToShortDateString())) { throw new FaultException("La fecha no puede ser inferior a la fecha actual"); } //validacion de fecha if (ObjReserva.N_IdHorarioIni > ObjReserva.N_IdHorarioFin) { throw new FaultException("La hora inicial no puede ser mayor que la hora final"); } //validacion maximo tres horas if ((ObjReserva.N_IdHorarioFin - ObjReserva.N_IdHorarioIni + 1) > 3) { throw new FaultException("No se puede reservar mas de tres horas"); } //validacion maximo de reservas y hora no disponible string valor; valor = ObjReservaDAO.ValidaReserva(ObjReserva); if (valor == "PASO_MAXIMO") { throw new FaultException("No puede hacer mas de una reserva por el mismo espacio"); } else if (valor == "HORA_NO_DISPONIBLE") { throw new FaultException("La reserva no se aplica para ese horario , ya que esta ocupado"); } else return ObjReservaDAO.CrearReserva(ObjReserva); } catch (Exception ex) { throw new FaultException(ex.Message); } }
public ReservasBE CrearReserva(ReservasBE ObjReserva) { try { objconeccion = new SqlConnection(CadenaConexionSQL); SqlCommand objcomand = new SqlCommand("INSERTAR_RESERVAS", objconeccion); objcomand.CommandType = CommandType.StoredProcedure; objcomand.Parameters.Add("@N_IdResidente", SqlDbType.Int); objcomand.Parameters["@N_IdResidente"].Value = ObjReserva.N_IdResidente; objcomand.Parameters.Add("@N_IdHorarioIni ", SqlDbType.Int); objcomand.Parameters["@N_IdHorarioIni "].Value = ObjReserva.N_IdHorarioIni; objcomand.Parameters.Add("@N_IdHorarioFin ", SqlDbType.Int); objcomand.Parameters["@N_IdHorarioFin "].Value = ObjReserva.N_IdHorarioFin; objcomand.Parameters.Add("@N_IdEspacioComun", SqlDbType.Int); objcomand.Parameters["@N_IdEspacioComun"].Value = ObjReserva.N_IdEspacioComun; objcomand.Parameters.Add("@D_FecRegistro", SqlDbType.Date); objcomand.Parameters["@D_FecRegistro"].Value = ObjReserva.D_FecRegistro; objcomand.Parameters.Add("@B_Estado", SqlDbType.Bit); objcomand.Parameters["@B_Estado"].Value = ObjReserva.B_Estado; objconeccion.Open(); int id; id = Convert.ToInt32(objcomand.ExecuteScalar()); objconeccion.Close(); ObjReserva.N_IdReserva = id; return ObjReserva; } catch (Exception ex) { if (objconeccion.State == ConnectionState.Open) objconeccion.Close(); throw new FaultException(ex.Message); } }
public string ValidaReserva(ReservasBE ObjReserva) { try { objconeccion = new SqlConnection(CadenaConexionSQL); SqlCommand objcomand = new SqlCommand("VALIDAR_RESERVAS", objconeccion); objcomand.CommandType = CommandType.StoredProcedure; objcomand.Parameters.Add("@N_IdResidente", SqlDbType.Int); objcomand.Parameters["@N_IdResidente"].Value = ObjReserva.N_IdResidente; objcomand.Parameters.Add("@N_IdHorarioIni ", SqlDbType.Int); objcomand.Parameters["@N_IdHorarioIni "].Value = ObjReserva.N_IdHorarioIni; objcomand.Parameters.Add("@N_IdHorarioFin ", SqlDbType.Int); objcomand.Parameters["@N_IdHorarioFin "].Value = ObjReserva.N_IdHorarioFin; objcomand.Parameters.Add("@N_IdEspacioComun", SqlDbType.Int); objcomand.Parameters["@N_IdEspacioComun"].Value = ObjReserva.N_IdEspacioComun; objcomand.Parameters.Add("@D_FecRegistro", SqlDbType.Date); objcomand.Parameters["@D_FecRegistro"].Value = ObjReserva.D_FecRegistro; objconeccion.Open(); string valor; valor = Convert.ToString(objcomand.ExecuteScalar()); objconeccion.Close(); return valor; } catch (Exception ex) { if (objconeccion.State == ConnectionState.Open) objconeccion.Close(); throw new FaultException(ex.Message); } }