public PaisBE ConsultaMaximoMigrantesNacionalidad(string codPaisNacimiento)
        {
            //Pais al han migrado más las personas de cierto pais

            AerolineaEntities MiAerolinea = new AerolineaEntities();
            PaisBE objPaisBE = new PaisBE();

            try
            {
                var lCodsPasajeros = MiAerolinea.PASAJERO
                    .Where(x => x.COD_PAIS == codPaisNacimiento)
                    .Select(x=>x.COD_PASAJERO)
                    .ToList();
                var lCodVuelos = MiAerolinea.RESERVACION
                    .Where(x => lCodsPasajeros.Contains(x.COD_PASAJERO))
                    .Where(y => y.TOMO_VUELO == true)
                    .Select(m => m.COD_VUELO)
                    .ToList();
                var lCodPaisCant = MiAerolinea.VUELO
                    .Where(x => lCodVuelos.Contains(x.COD_VUELO))
                    .Where(y => y.RUTA.TIPO_RUTA == "INTERNACIONAL")
                    .GroupBy(m => m.RUTA.LUGAR.COD_PAIS)
                    .Select(g => new
                    {
                        CodPais = g.Key,
                        Cantidad = g.Count()
                    })
                    .ToList()
                    .OrderByDescending(n => n.Cantidad)
                    .First();

                var pais = MiAerolinea.PAIS
                    .Where(x => x.COD_PAIS == lCodPaisCant.CodPais)
                    .Select(p => new
                    {
                        CodPais = p.COD_PAIS,
                        NomPais = p.NOMBRE_PAIS,
                        Idioma = p.IDIOMA,
                        Moneda = p.MONEDA,
                        CantVuelos = lCodPaisCant.Cantidad
                    })
                    .First();

                objPaisBE.CodPais = pais.CodPais;
                objPaisBE.NomPais = pais.NomPais;
                objPaisBE.Idioma = pais.Idioma;
                objPaisBE.Moneda = pais.Moneda;
                objPaisBE.CantVuelos = pais.CantVuelos;
            }

            catch (Exception ex)
            {
                throw ex;
            }
            return objPaisBE;
        }
        public List<PaisBE> ListaPaisesMigrantes(string codPais, DateTime fecIni, DateTime fecFin)
        {
            AerolineaEntities MiAerolinea = new AerolineaEntities();
            List<PaisBE> paises = new List<PaisBE>();

            try
            {
                var query = MiAerolinea.RESERVACION
                    .Where(x =>
                    x.PASAJERO.COD_PAIS == codPais &&
                    x.VUELO.RUTA.LUGAR.COD_PAIS != codPais &&
                    x.VUELO.FECHA_LLEGADA > fecIni &&
                    x.VUELO.FECHA_LLEGADA < fecFin)
                    .Select(y => y.VUELO.RUTA.LUGAR.PAIS)
                    .GroupBy(z => z)
                    .Select(g => new
                    {
                        CodPais = g.Key.COD_PAIS,
                        NomPais = g.Key.NOMBRE_PAIS,
                        Idioma = g.Key.IDIOMA,
                        Moneda = g.Key.MONEDA,
                        CantidadVuelos = g.Count()
                    })
                    .OrderByDescending(h => h.CantidadVuelos);

                foreach (var item in query)
                {
                    PaisBE objBE = new PaisBE();
                    objBE.CodPais = item.CodPais;
                    objBE.NomPais = item.NomPais;
                    objBE.Idioma = item.Idioma;
                    objBE.Moneda = item.Moneda;
                    objBE.CantVuelos = item.CantidadVuelos;

                    paises.Add(objBE);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return paises;
        }
        public List<PaisBE> ListaPaises()
        {
            AerolineaEntities MiAerolinea = new AerolineaEntities();
            List<PaisBE> objListaPais = new List<PaisBE>();

            try
            {
                var query = MiAerolinea.PAIS.ToList();

                foreach (var resultado in query)
                {
                    PaisBE objPaisBE = new PaisBE();

                    objPaisBE.CodPais = resultado.COD_PAIS;
                    objPaisBE.NomPais = resultado.NOMBRE_PAIS;

                    objListaPais.Add(objPaisBE);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return objListaPais;
        }