public List<Vuelo> ConsultarVuelosDisponiblesTarifa(Ciudad ciudadOrigen, Ciudad ciudadDestino)
        {
            List<Vuelo> vuelos = new List<Vuelo>();

            Vuelo vueloUno = new Vuelo();
            vueloUno.Id = 1;
            vueloUno.Estado = "SALIO";
            vueloUno.Origen = 1;
            vueloUno.Destino = 2;
            vueloUno.HorarioSalida = new DateTime();
            vueloUno.HorarioLlegada = new DateTime();

            Vuelo vueloDos = new Vuelo();
            vueloDos.Id = 2;
            vueloDos.Estado = "ARRIBO";
            vueloDos.Origen = 1;
            vueloDos.Destino = 2;
            vueloDos.HorarioSalida = new DateTime();
            vueloDos.HorarioLlegada = new DateTime();

            Vuelo vueloTres= new Vuelo();
            vueloTres.Id = 3;
            vueloTres.Estado = "ARRIBO";
            vueloTres.Origen = 1;
            vueloTres.Destino = 2;
            vueloTres.HorarioSalida = new DateTime();
            vueloDos.HorarioLlegada = new DateTime();

            vuelos.Add(vueloUno);
            vuelos.Add(vueloDos);
            vuelos.Add(vueloTres);
            return vuelos;
        }
        public List<Vuelo> ConsultarVuelosDisponiblesHorarios(Ciudad ciudadOrigen, Ciudad ciudadDestino)
        {
            if (ciudadOrigen.Codigo == 3)
            {
                return new List<Vuelo>();
            }

            List<Vuelo> vuelos = new List<Vuelo>();

            Vuelo vueloUno = new Vuelo();
            vueloUno.Id = 1;
            vueloUno.Estado = "SALIO";
            vueloUno.Origen = 1;
            vueloUno.Destino = 2;
            vueloUno.HorarioSalida = new DateTime();
            vueloUno.HorarioLlegada = new DateTime();

            Vuelo vueloDos = new Vuelo();
            vueloDos.Id = 2;
            vueloDos.Estado = "SALIO";
            vueloDos.Origen = 1;
            vueloDos.Destino = 2;
            vueloDos.HorarioSalida = new DateTime();
            vueloDos.HorarioLlegada = new DateTime();

            vuelos.Add(vueloUno);
            vuelos.Add(vueloDos);
            return vuelos;
        }
        /// <summary>
        /// Mètodo encargado de validar si el usuario tiene un vuelo reservado para esa misma hora
        /// </summary>
        /// <param name="vuelo">vuelo que se va a reservar</param>
        /// <returns>true si si puede realizar la reserva,de lo contrario false</returns>
        public bool PuedeReservarVuelo(Vuelo vuelo)
        {
            Boolean puedeReservar = false;
            //Consulto en la base de datos los vuelos que esten a la misma hora
            var vuelosReservados = from r in vuelosContext.Reserva
                                   join v in vuelosContext.Vuelo on r.Vuelo equals v.Id
                                   where (v.HorarioSalida == vuelo.HorarioSalida) &&
                                   (v.HorarioLlegada == vuelo.HorarioLlegada)
                                   select v;
            if (vuelosReservados.Count() > 0){
                puedeReservar = false;
            }else{
                puedeReservar = true;
            }

            return puedeReservar;
        }
        /// <summary>
        /// Mètodo encargado de realizar una reserva para el usuario
        /// </summary>
        /// <param name="vuelo"></param>
        /// <param name="username"></param>
        /// <returns>true si se realizò la reserva,de lo contrario false</returns>
        public bool RealizarReserva(Vuelo vuelo, string username)
        {
            Boolean reservaExitosa = false;
            //Valido si el usuario es mayor de edad,si lo es,realizo la reserva
            Boolean esMayorEdad = AdminUsuarios.EsMayorDeEdad(username);
            if (esMayorEdad)
            {
                //Valido si ya hay un vuelo reservado para esa hora.
                Boolean puedeReservar = PuedeReservarVuelo(vuelo);
                if (puedeReservar)
                {
                    //Si puede reservar,reservo el asiento y agrego la reserva
                    int asientosDispVuelo = vuelo.AsientosDisponibles;
                    asientosDispVuelo = asientosDispVuelo - 1;
                    vuelo.AsientosDisponibles = asientosDispVuelo;
                    vuelosContext.Database.ExecuteSqlCommand("UPDATE Vuelo SET AsientosDisponibles =@asiento WHERE " +
                    "Id=@id ", new SqlParameter("asiento", asientosDispVuelo), new SqlParameter("id", vuelo.Id));
                    //Creo la resuerva
                    Usuario usuarioReserva = AdminUsuarios.ConsultarUsuario(username);
                    Reserva reserva = new Reserva();
                    reserva.Codigo = "RSVV-" + vuelo.Id;
                    reserva.Usuario = usuarioReserva.Codigo;
                    reserva.Vuelo = vuelo.Id;
                    vuelosContext.Reserva.Add(reserva);
                    vuelosContext.SaveChanges();
                    reservaExitosa = true;
                }
            }

            return reservaExitosa;
        }