Ejemplo n.º 1
0
        /// <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;
        }
Ejemplo n.º 2
0
        public List<Vuelo> ConsultarVuelosDisponiblesTarifa(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();
            Ciudad cOrigen = new Ciudad();
            cOrigen.Codigo = 1;
            vueloUno.Ciudad1 = cOrigen;

            Ciudad cDestino = new Ciudad();
            cDestino.Codigo = 2;
            vueloUno.Ciudad = cDestino;

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

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

            vuelos.Add(vueloUno);
            vuelos.Add(vueloDos);
            vuelos.Add(vueloTres);
            return vuelos;
        }
Ejemplo n.º 3
0
        /// <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;
        }
Ejemplo n.º 4
0
        public static Vuelo TransformarVueloRequest(VueloRequest request)
        {
            Vuelo vuelo = new Vuelo();
            if (request != null)
            {
                if (request.InformacionVuelo != null)
                {
                    DatosVuelo datosVuelo = request.InformacionVuelo;
                    vuelo.Id = datosVuelo.Id;
                    vuelo.HorarioSalida = datosVuelo.HorarioSalida;
                    vuelo.HorarioLlegada = datosVuelo.HorarioLlegada;
                    vuelo.Estado = datosVuelo.Estado;
                    vuelo.AsientosDisponibles = datosVuelo.AsientosDisponibles;
                    Aerolinea aerolinea = null;
                    if (datosVuelo.Aerolinea != null)
                    {
                        aerolinea = new Aerolinea();
                        aerolinea.Codigo = datosVuelo.Aerolinea.Codigo;
                        aerolinea.Nombre = datosVuelo.Aerolinea.Nombre;
                    }
                    vuelo.Aerolinea1 = aerolinea;
                    Ciudad ciudadOrigen = null;
                    if (datosVuelo.Origen != null)
                    {
                        ciudadOrigen = new Ciudad();
                        ciudadOrigen.Codigo = datosVuelo.Origen.Codigo;
                        ciudadOrigen.Nombre = datosVuelo.Origen.Nombre;
                    }
                    vuelo.Ciudad1 = ciudadOrigen;
                    Ciudad ciudadDestino = null;
                    if(datosVuelo.Destino != null)
                    {
                        ciudadDestino = new Ciudad();
                        ciudadDestino.Codigo = datosVuelo.Destino.Codigo;
                        ciudadDestino.Nombre = datosVuelo.Destino.Nombre;
                    }
                    vuelo.Ciudad = ciudadDestino;

                }
               
            }
            return vuelo;
        }