public static List <Reserva> ListadoCliente(string nombre_cliente) { List <Reserva> resp = new List <Reserva>(); SqlConnection cnn = new SqlConnection(BaseDeDatos.CONEXION); SqlCommand cmd = new SqlCommand("reservasActivasCliente", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@nombre", nombre_cliente); try { cnn.Open(); SqlDataReader lector = cmd.ExecuteReader(); while (lector.Read()) { Cliente cli = PersistenciaCliente.BuscarCliente((string)lector["nombre_cli"]); Habitacion hab = PersistenciaHabitacion.ObtenerHabitacion((string)lector["nombre_hotel"], (int)lector["numero_hab"]); Reserva r = new Reserva((int)lector["numero"], (DateTime)lector["fecha_inicio"], (DateTime)lector["fecha_final"], (string)lector["estado_reserva"], cli, hab); resp.Add(r); } lector.Close(); } catch (Exception ex) { throw ex; } finally { cnn.Close(); } return(resp); }
public static List <Reserva> ListarPorHabitacion(Habitacion hab, string filtro) { List <Reserva> lstRes = new List <Reserva>(); SqlConnection cnn = new SqlConnection(BaseDeDatos.CONEXION); SqlCommand cmd = new SqlCommand("listadoReservasCronologica", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@numeroHab", Convert.ToInt32(hab.Numero)); cmd.Parameters.AddWithValue("@nombreHotel", hab.Hotel.Nombre); cmd.Parameters.AddWithValue("@filtro", filtro); SqlParameter prmRetorno = new SqlParameter(); prmRetorno.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(prmRetorno); try { cnn.Open(); SqlDataReader lector = cmd.ExecuteReader(); if (prmRetorno.Value != null) { int resp = (int)prmRetorno.Value; if (resp == -1) { throw new Exception("No existen reservas para esta habitación con el filtro seleccionado."); } } while (lector.Read()) { Cliente cliente = PersistenciaCliente.BuscarCliente((string)lector["nombre_cli"]); Habitacion habitacion = PersistenciaHabitacion.ObtenerHabitacion((string)lector["nombre_hotel"], (int)lector["numero_hab"]); Reserva reserva = new Reserva( (int)lector["numero"], (DateTime)lector["fecha_inicio"], (DateTime)lector["fecha_final"], (string)lector["estado_reserva"], cliente, habitacion); lstRes.Add(reserva); } } catch (Exception ex) { throw ex; } finally { cnn.Close(); } return(lstRes); }