/// <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);
        }
Example #7
0
        /// <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);
        }
Example #8
0
        /// <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);
        }