public List <Alojamiento> FindAll() { string cadenaFindAll = "SELECT id,tipo FROM Alojamiento"; List <Alojamiento> listaAlojamientos = new List <Alojamiento>(); using (SqlConnection cn = BdSQL.Conectar()) { using (SqlCommand cmd = new SqlCommand(cadenaFindAll, cn)) { cn.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader != null) { while (reader.Read()) { Alojamiento a = new Alojamiento(); a.Load(reader); if (a.Validar()) { listaAlojamientos.Add(a); } } } } } return(listaAlojamientos); }
public Alojamiento FindById(int id) { string cadenaFind = "SELECT Alojamiento.*, Ubicacion.ciudad, Ubicacion.barrio, Ubicacion.dirLinea1, Ubicacion.dirLinea2 FROM Alojamiento, Ubicacion WHERE Alojamiento.idUbicacion = Ubicacion.id AND Alojamiento.id = @id"; SqlConnection cn = BdSQL.Conectar(); List <RangoPrecio> precios_temporada = new List <RangoPrecio>(); Alojamiento unA = null; try { SqlCommand cmd = new SqlCommand(cadenaFind, cn); cmd.Parameters.AddWithValue("@id", id); cn.Open(); SqlDataReader reader = cmd.ExecuteReader(); //traigo alojamiento if (reader != null && reader.Read()) { unA = new Alojamiento(); unA.Load(reader); unA.Id = id; unA.Ubicacion = new Ubicacion { Id = Convert.ToInt32(reader["idUbicacion"].ToString()), Ciudad = reader["ciudad"].ToString(), Barrio = reader["barrio"].ToString(), DireccionLinea1 = reader["dirLinea1"].ToString(), DireccionLinea2 = reader["dirLinea2"].ToString() }; } reader.Close(); //Cargo los elementos de la lista de rango precios cmd.CommandText = "SELECT * FROM RangoPrecio WHERE id_alojamiento = @id"; reader = cmd.ExecuteReader(); while (reader.Read()) { RangoPrecio unR = new RangoPrecio(); unA.loadRangoPrecio(unR, reader); precios_temporada.Add(unR); } unA.Precios_temporada = precios_temporada; reader.Close(); return(unA); } catch (Exception ex) { //mostrar exception BdSQL.LoguearError(ex.Message + "No se pudo cargar el Alojamiento"); unA.Precios_temporada = null; return(unA = null); } finally { cn.Close(); cn.Dispose(); } }
public Habitacion FindById(int id) { string cadenaFind = "SELECT id,banio_privado,camas,cupo_max,precio_base FROM Habitacion WHERE id=@id"; Habitacion h = null; Alojamiento a = null; Servicio s = null; List <Servicio> listaServicios = new List <Servicio>(); List <RangoPrecio> precios_temporada = new List <RangoPrecio>(); using (SqlConnection cn = BdSQL.Conectar()) { using (SqlCommand cmd = new SqlCommand(cadenaFind, cn)) { cmd.Parameters.AddWithValue("@id", id); cn.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader != null && reader.Read()) { // cargo la habitacion h = new Habitacion(); h.Load(reader); reader.Close(); //cargo los servicios //cmd.CommandText = "SELECT id_servicio FROM ServiciosHabitacion WHERE id_habitacion=@id"; cmd.CommandText = "SELECT Servicio.* FROM ServiciosHabitacion, Servicio WHERE ServiciosHabitacion.id_habitacion = @id AND Servicio.id = ServiciosHabitacion.id_servicio"; reader = cmd.ExecuteReader(); if (reader != null) { while (reader.Read()) { s = new Servicio(); s.Load(reader); listaServicios.Add(s); } } h.Servicios = listaServicios; reader.Close(); //cargo el id del alojamiento para esa habitacion cmd.CommandText = "SELECT Habitacion.id_alojamiento FROM Habitacion WHERE Habitacion.id=@id"; reader = cmd.ExecuteReader(); int idAlo = 0; if (reader != null && reader.Read()) { idAlo = Convert.ToInt32(reader["id_alojamiento"].ToString()); } reader.Close(); //cargo todos los datos simples del alojamiento sin el rango precio cmd.CommandText = "SELECT Alojamiento.*, Ubicacion.ciudad, Ubicacion.id as idubi, Ubicacion.barrio, Ubicacion.dirLinea1, Ubicacion.dirLinea2 FROM Alojamiento, Ubicacion WHERE Alojamiento.idUbicacion = Ubicacion.id AND Alojamiento.id = @id"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@id", idAlo); reader = cmd.ExecuteReader(); if (reader != null && reader.Read()) { a = new Alojamiento(); a.Load(reader); a.Id = idAlo; a.Ubicacion = new Ubicacion { Id = Convert.ToInt32(reader["idubi"].ToString()), Ciudad = reader["ciudad"].ToString(), Barrio = reader["barrio"].ToString(), DireccionLinea1 = reader["dirLinea1"].ToString(), DireccionLinea2 = reader["dirLinea2"].ToString() }; } reader.Close(); //Cargo los elementos de la lista de rango precios al alojamiento cmd.CommandText = "SELECT * FROM RangoPrecio WHERE id_alojamiento = @id"; reader = cmd.ExecuteReader(); while (reader.Read()) { RangoPrecio unR = new RangoPrecio(); a.loadRangoPrecio(unR, reader); precios_temporada.Add(unR); } a.Precios_temporada = precios_temporada; h.Alojamiento = a; reader.Close(); } } } return(h); }