/// <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; }
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; }
/// <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; }
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; }