/*public List<Vuelo> Obtenervuelos() * { * List<Vuelo> vuelos = new List<Vuelo>(); * var sentenciaSql = "SELECT * FROM Vuelo"; * var tabla = DBHelper.GetDBHelper().ConsultaSQL(sentenciaSql); * foreach (DataRow fila in tabla.Rows) * { * var vuelo = new Vuelo(); * vuelo.NroVuelo = Convert.ToInt32(fila["NroVuelo"].ToString()); * vuelo.FechaHoraSalida = Convert.ToDateTime(fila["FechaHoraSalida"].ToString()); * vuelo.FechaHoraLlegada = Convert.ToDateTime(fila["FechaHoraLlegada"].ToString()); * vuelo.NroAvion = Convert.ToInt32(fila["NroAvion"].ToString()); * vuelo.IdTipoAvion = fila["IdTipoAvion"].ToString(); * vuelo.IdAeropuerto = Convert.ToInt32(fila["IdAeropuerto"].ToString()); * vuelo.IdAeropuertoDestino = Convert.ToInt32(fila["IdAeropuertoDestino"].ToString()); * vuelo.Estado = Convert.ToInt32(fila["Estado"].ToString()); * * vuelos.Add(vuelo); * } * return vuelos; * * }*/ public List <Vuelo> Obtener(VuelosFiltros filtros) { List <Vuelo> vuelos = new List <Vuelo>(); var sentenciaSql = "SELECT v.*, a.descripcion as avion, ae.domicilio as aeropuerto, " + "es.nombreestado as estado" + "FROM Vuelo v " + //USA LOS ELEMENTOS EN PLURAL ? "LEFT JOIN Avion a ON v.nroavion = a.nroavion " + "LEFT JOIN Aeropuerto ae ON v.idaeropuerto = ae.idaeropuerto " + "LEFT JOIN AeropuertoDestino aed ON v.idaeropuerto = ae.idaeropuerto " + "LEFT JOIN Estado es ON v.idestado = es.idestado " + "WHERE v.nrovuelo like '%%'"; /// ????? if (filtros.FechaDesde.HasValue) //EL FORMATO DE LA FECHA ESTA BIEN ??? { sentenciaSql += $" AND v.FechaHoraSalida > '{filtros.FechaDesde.Value.ToString("yyyy-MM-dd")}'"; } if (filtros.FechaHasta.HasValue) { sentenciaSql += $" AND v.FechaHoraLlegada < '{filtros.FechaHasta.Value.ToString("yyyy-MM-dd")}'"; } if (filtros.NroAvion != 0) { sentenciaSql += $" AND v.NroVuelo = {filtros.NroAvion}"; } if (filtros.IdAeropuerto != 0) { sentenciaSql += $" AND v.IdAeropuerto = {filtros.IdAeropuerto}"; } if (filtros.IdAeropuertoDestino != 0)//ESTA BIEN ? { sentenciaSql += $" AND v.IdAeropuerto = {filtros.IdAeropuertoDestino}"; } if (filtros.IdEstado != 0) { sentenciaSql += $" AND v.IdEstado = {filtros.IdEstado}"; } var tabla = DBHelper.GetDBHelper().ConsultaSQL(sentenciaSql); foreach (DataRow fila in tabla.Rows) { var vuelo = Mapear(fila); vuelos.Add(vuelo); } return(vuelos); }
public List <Vuelo> Obtener(VuelosFiltros filtros) { if (filtros.FechaDesde.HasValue) { filtros.FechaDesde = new DateTime(filtros.FechaDesde.Value.Year, filtros.FechaDesde.Value.Month, filtros.FechaDesde.Value.Day); } if (filtros.FechaHasta.HasValue) { filtros.FechaHasta = new DateTime(filtros.FechaHasta.Value.Year, filtros.FechaHasta.Value.Month, filtros.FechaHasta.Value.Day); } if (filtros.FechaDesde.HasValue && filtros.FechaHasta.HasValue && filtros.FechaDesde > filtros.FechaHasta) { throw new ApplicationException("Fecha Desde no puede ser mayor a Fecha Hasta"); } return(_vuelosRepositorio.Obtener(filtros)); }