/// <summary> /// Consulta de vuelos entre dos ciudades. /// </summary> /// <param name="filtro"></param> /// <returns></returns> public List <VueloDTO> ConsultarVuelo(VueloCiudadFilter filtro) { List <VueloDTO> listaVuelos = new List <VueloDTO>(); using (AerolineaTnsEntities context = new AerolineaTnsEntities()) { var vuelos = context.Vuelo.Where(vuelo => vuelo.IdOrigen == filtro.IdOrigen && vuelo.IdDestino == filtro.IdDestino); listaVuelos = vuelos.Select(vuelo => new VueloDTO() { Aerolinea = vuelo.Aerolinea.Nombre, AeropuertoDestino = vuelo.Destino.Aeropuerto, AeropuertoOrigen = vuelo.Origen.Aeropuerto, CiudadDestino = vuelo.Destino.Ciudad.NombreCiudad, CiudadOrigen = vuelo.Origen.Ciudad.NombreCiudad, IdAerolinea = vuelo.IdAerolinea, IdDestino = vuelo.IdDestino, IdOrigen = vuelo.IdOrigen, IdVuelo = vuelo.IdVuelo, Fecha = vuelo.Fecha, IdEstado = vuelo.IdEstado, NombreEstado = vuelo.EstadoVuelo.NombreEstado, Tarifas = vuelo.Tarifa.Select(tarifa => new TarifaDTO() { IdTipoAsiento = tarifa.IdTipoAsiento, IdVuelo = vuelo.IdVuelo, TipoAsiento = tarifa.TipoAsiento.Nombre, ValorTiquete = tarifa.ValorTiquete }).ToList(), }).ToList(); } return(listaVuelos); }
/// <summary> /// Registrar un nuevo usuario en la base de datos. /// </summary> /// <param name="usuario"></param> public void RegistrarUsuario(Usuario usuario) { using (AerolineaTnsEntities context = new AerolineaTnsEntities()) { context.Set <Usuario>().Add(usuario); context.SaveChanges(); } }
/// <summary> /// Reservar Vuelo. /// </summary> /// <param name="reservaVuelo"></param> public void ReservarVuelo(Reserva reserva) { using (AerolineaTnsEntities context = new AerolineaTnsEntities()) { //Crear una reserva de un vuelo con los pasajeros especificados. context.Set <Reserva>().Add(reserva); context.SaveChanges(); } }
/// <summary> /// Consultar Reservas de un usuario por fecha. /// </summary> /// <param name="idUsuario"></param> /// <param name="fecha"></param> /// <returns></returns> public List <Reserva> ConsultarReservas(int idUsuario, DateTime fecha) { List <Reserva> reservas = null; using (AerolineaTnsEntities context = new AerolineaTnsEntities()) { reservas = context.Reserva.Where(reserva => reserva.Vuelo.Fecha == fecha && reserva.IdUsuario == idUsuario).ToList(); } return(reservas); }
/// <summary> /// Consultar usuario por id. /// </summary> /// <returns></returns> public Usuario ConsultarUsuario(int idUsuario) { Usuario usuarioValido = null; using (AerolineaTnsEntities context = new AerolineaTnsEntities()) { usuarioValido = context.Set <Usuario>() .Where(usuario => usuario.IdUsuario == idUsuario).FirstOrDefault(); } return(usuarioValido); }
/// <summary> /// Consultar usuario por cedula. /// </summary> /// <returns></returns> public Usuario ConsultarUsuario(string cedula) { Usuario usuarioValido = null; using (AerolineaTnsEntities context = new AerolineaTnsEntities()) { usuarioValido = context.Set <Usuario>() .Where(usuario => usuario.Cedula.Trim().ToUpper() == cedula.Trim().ToUpper()).FirstOrDefault(); } return(usuarioValido); }
/// <summary> /// Obtener el listado de destinos de las aerolíneas. /// </summary> /// <returns></returns> public List <CiudadOrigenDTO> ConsultarOrigenes() { var ciudadesOrigen = new List <CiudadOrigenDTO>(); using (AerolineaTnsEntities context = new AerolineaTnsEntities()) { ciudadesOrigen = context.Origen.Where(item => item.Activo).Select(destino => new CiudadOrigenDTO() { IdCiudad = destino.IdCiudad, Ciudad = destino.Ciudad.NombreCiudad, IdOrigen = destino.IdOrigen, Aeropuerto = destino.Aeropuerto }).ToList(); } return(ciudadesOrigen); }
/// <summary> /// Obtener el listado de orígenes de las aerolíneas. /// </summary> /// <returns></returns> public List <CiudadDestinoDTO> ConsultarDestinos() { var ciudadesDestino = new List <CiudadDestinoDTO>(); using (AerolineaTnsEntities context = new AerolineaTnsEntities()) { ciudadesDestino = context.Destino.Where(item => item.Activo).Select(destino => new CiudadDestinoDTO() { IdCiudad = destino.IdCiudad, Ciudad = destino.Ciudad.NombreCiudad, IdDestino = destino.IdDestino, Aeropuerto = destino.Aeropuerto }).ToList(); } return(ciudadesDestino); }
/// <summary> /// Consultar Reservas de un usuario que estén activas, es decir que la fecha del vuela sea hoy o superior. /// </summary> /// <param name="idUsuario"></param> /// <param name="fecha"></param> /// <returns></returns> public List <ReservaDTO> ConsultarReservas(int idUsuario) { List <ReservaDTO> reservasUsuario = null; using (AerolineaTnsEntities context = new AerolineaTnsEntities()) { var reservas = context.Reserva.Where(reserva => reserva.Vuelo.Fecha >= DateTime.Now && reserva.IdUsuario == idUsuario).ToList(); reservasUsuario = reservas.Select(reserva => new ReservaDTO() { Aerolinea = reserva.Vuelo.Aerolinea.Nombre, CiudadDestino = reserva.Vuelo.Destino.Ciudad.NombreCiudad, CiudadOrigen = reserva.Vuelo.Origen.Ciudad.NombreCiudad, FechaReserva = reserva.FechaReserva, FechaVuelo = reserva.Vuelo.Fecha, IdDestino = reserva.Vuelo.IdDestino, IdOrigen = reserva.Vuelo.IdOrigen, IdReserva = reserva.IdReserva, IdUsuario = reserva.IdUsuario, IdVuelo = reserva.IdVuelo, Usuario = reserva.Usuario.Nombre.Trim() + reserva.Usuario.Apellido.Trim(), ValorTotalReserva = reserva.ValorTotalReserva, Pasajeros = reserva.TiquetePasajero.Select(tiquetePasajero => new PasajeroDTO() { Apellido = tiquetePasajero.Pasajero.Apellido, Cedula = tiquetePasajero.Pasajero.Cedula, Celular = tiquetePasajero.Pasajero.Celular, Correo = tiquetePasajero.Pasajero.Correo, Direccion = tiquetePasajero.Pasajero.Direccion, IdPasajero = tiquetePasajero.IdPasajero, Nombre = tiquetePasajero.Pasajero.Nombre, Sexo = tiquetePasajero.Pasajero.Sexo, Telefono = tiquetePasajero.Pasajero.Telefono }).ToList() }).ToList(); return(reservasUsuario); } }
/// <summary> /// Consultar el estados de los vuelos entre dos ciudades. /// </summary> /// <param name="filtro"></param> /// <returns></returns> public List <EstadoVueloDTO> ConsultarEstadosVuelo(VueloCiudadFilter filtro) { List <EstadoVueloDTO> listaVuelos = new List <EstadoVueloDTO>(); using (AerolineaTnsEntities context = new AerolineaTnsEntities()) { var vuelos = context.Vuelo.Where(vuelo => vuelo.IdOrigen == filtro.IdOrigen && vuelo.IdDestino == filtro.IdDestino); listaVuelos = vuelos.Select(vuelo => new EstadoVueloDTO() { Aerolinea = vuelo.Aerolinea.Nombre, AeropuertoDestino = vuelo.Destino.Aeropuerto, AeropuertoOrigen = vuelo.Origen.Aeropuerto, CiudadDestino = vuelo.Destino.Ciudad.NombreCiudad, CiudadOrigen = vuelo.Origen.Ciudad.NombreCiudad, IdAerolinea = vuelo.IdAerolinea, IdDestino = vuelo.IdDestino, IdOrigen = vuelo.IdOrigen, IdVuelo = vuelo.IdVuelo, Fecha = vuelo.Fecha, IdEstado = vuelo.IdEstado, NombreEstado = vuelo.EstadoVuelo.NombreEstado, AsientosDisponibles = vuelo.Avion.Asiento .Where(asiento => !(vuelo.Reserva.Where(item => item.IdVuelo == vuelo.IdVuelo).FirstOrDefault().TiquetePasajero.Select(tiquete => tiquete.Asiento.IdAsiento).ToList()).Contains(asiento.IdAsiento)) .Select(asientodto => new AsientoDTO() { Codigo = asientodto.Codigo, IdAsiento = asientodto.IdAsiento, IdTipoAsiento = asientodto.IdTipoAsiento, SalidaEmergencia = asientodto.SalidaEmergencia, TipoAsiento = asientodto.TipoAsiento.Nombre }).ToList(), }).ToList(); } return(listaVuelos); }
/// <summary> /// Validar usuario y clave de un cliente especifico. /// </summary> /// <param name="login"></param> /// <returns></returns> public UsuarioDTO ValidarUsuario(LoginFilter filtro) { var usuarioValido = new UsuarioDTO(); using (AerolineaTnsEntities context = new AerolineaTnsEntities()) { var usuario = context.Set <Usuario>() .Where(item => item.Login == filtro.Login && item.Clave == filtro.Clave); usuarioValido = usuario.Select(usuarioDto => new UsuarioDTO() { Apellido = usuarioDto.Apellido, Cedula = usuarioDto.Cedula, IdUsuario = usuarioDto.IdUsuario, Login = usuarioDto.Login, Nombre = usuarioDto.Nombre, FechaNacimiento = usuarioDto.FechaNacimiento }).FirstOrDefault(); } return(usuarioValido); }