Ejemplo n.º 1
0
        /*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);
        }
Ejemplo n.º 2
0
 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));
 }