/// <summary> /// Consulta de vuelos entre dos ciudades con prioridad en las tarifas /// </summary> /// <param name="filtro"></param> /// <returns></returns> public List <VueloDTO> ConsultarVueloTarifas(VueloCiudadFilter filtro) { IVueloRepository vueloRepository = DependencyInjectionContainer.Resolve <IVueloRepository>(); IVueloDomain vueloDomain = DependencyInjectionContainer.Resolve <IVueloDomain>(); return(vueloDomain.ConsultarVueloTarifas(vueloRepository.ConsultarVuelo(filtro))); }
/// <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); }
public void ConsultarEstadosVuelosTest() { VueloApplication target = new VueloApplication(); List <EstadoVueloDTO> vuelos = new List <EstadoVueloDTO>(); VueloCiudadFilter filtro = new VueloCiudadFilter(); filtro.IdOrigen = 6; filtro.IdDestino = 9; vuelos = target.ConsultarEstadosVuelos(filtro); Assert.IsNotNull(vuelos); }
/// <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); }
public IActionResult ConsultarVuelosTarifas([FromQuery] VueloCiudadFilter vueloFiltro) { try { if (vueloFiltro.IdOrigen == 0 || vueloFiltro.IdDestino == 0) { return(BadRequest(BadRequestError)); } List <VueloDTO> vuelos = new VueloApplication().ConsultarVueloTarifas(vueloFiltro); if (!vuelos.Any()) { return(NotFound(NotFoundError)); } return(Ok(vuelos)); } catch (Exception ex) { logger.Error(ex, InternalServerErrorConsultarVuelo); return(StatusCode((int)HttpStatusCode.InternalServerError, InternalServerErrorConsultarVuelo)); } }
/// <summary> /// Consultar estados de los vuelos y la disponibilidad de asientos. /// </summary> /// <param name="filtro"></param> /// <returns></returns> public List <EstadoVueloDTO> ConsultarEstadosVuelos(VueloCiudadFilter filtro) { IVueloRepository vueloRepository = DependencyInjectionContainer.Resolve <IVueloRepository>(); return(vueloRepository.ConsultarEstadosVuelo(filtro)); }