public List <ModeloNegocios.Inmueble> ObtenerInmuebles(int IdPais, int IdEstado, int IdMunicipio, string RIUF, string Direccion, ModeloNegocios.InmuebleArrto oInmuebleArrendamiento = null)
        {
            List <ModeloNegocios.Inmueble> ListInmuebles;

            AccesoDatos.InmuebleDAL Conn = new AccesoDatos.InmuebleDAL();
            //obtener informacion de la BD
            ListInmuebles = Conn.ObtenerInmuebles(IdPais, IdEstado, IdMunicipio, RIUF);

            //recorrer la lista de objetos y obtener sus correspondientes valores de catalo: llave-valor
            foreach (ModeloNegocios.Inmueble ObjList in ListInmuebles)
            {
                //*** Re-mapear Id-Bus con el BUS para obtener descripciones correspondientes  ***
                //obtener nombre de usuario
                //ObjList.UsuarioRegistroDescripcion = AdministradorCatalogos.ObtenerNombreUsuarioSSO(ObjList.IdUsuarioRegistro);
                //obtener nombre del pais
                ObjList.PaisDescripcion = Negocio.AdministradorCatalogos.ObtenerNombrePais(ObjList.IdPais);
                //obtener nombre del tipo de  vialidad
                ObjList.TipoVialidadDescripcion = Negocio.AdministradorCatalogos.ObtenerNombreTipoVialidad(ObjList.IdTipoVialidad);

                if (QuitarAcentosTexto(ObjList.PaisDescripcion.ToUpper()) == "MEXICO")
                {
                    //obtener nombre de la ent. fed
                    ObjList.EstadoDescripcion = Negocio.AdministradorCatalogos.ObtenerNombreEstado(ObjList.IdEstado.Value);
                    //obtener nombre de los mpos (pasar IdEstado y IdMpo)
                    ObjList.MunicipioDescripcion = Negocio.AdministradorCatalogos.ObtenerNombreMunicipio(ObjList.IdEstado.Value, ObjList.IdMunicipio.Value);
                    if (ObjList.IdLocalidad != null)
                    {
                        //obtener nombre de las localidades (pasar IdMpo y IdLocalidad)
                        ObjList.LocalidadDescripcion = Negocio.AdministradorCatalogos.ObtenerNombreLocalidad(ObjList.IdPais, ObjList.IdEstado.Value, ObjList.IdMunicipio.Value, ObjList.IdLocalidad.Value);
                    }
                    else
                    {
                        ObjList.LocalidadDescripcion = ObjList.OtraColonia;
                    }
                }
            }

            if (oInmuebleArrendamiento == null)
            {
                if (Direccion.Trim() != "")
                {
                    ListInmuebles = ListInmuebles.Where(c => c.DireccionCompleta.Contains(Direccion)).ToList();
                }
                if (RIUF.Trim() != "")
                {
                    ListInmuebles = ListInmuebles.Where(c => c.RIUF.RIUF1.Contains(RIUF.Trim())).ToList();
                }

                return(ListInmuebles);
            }
            else
            {
                if (oInmuebleArrendamiento.IdLocalidadColonia != null)
                {
                    return(ListInmuebles.Where(c => (c.DireccionCompleta.Contains(oInmuebleArrendamiento.NombreVialidad) || c.DireccionCompleta.Contains(oInmuebleArrendamiento.NombreLocalidadColonia))).ToList());
                }
                else
                {
                    return(ListInmuebles.Where(c => (c.DireccionCompleta.Contains(oInmuebleArrendamiento.NombreVialidad) || c.DireccionCompleta.Contains(oInmuebleArrendamiento.OtraColonia))).ToList());
                }
            }
        }
        //Obtener la lista Contrato. registrados
        public List <ModeloNegocios.Inmueble> ObtenerInmuebles(int?IdPais, int?IdEstado, int?IdMunicipio, string RIUF)
        {
            List <ModeloNegocios.Inmueble> ListInmuebles;

            using (ArrendamientoInmuebleEntities Conn = new ArrendamientoInmuebleEntities())
            {
                try
                {
                    ListInmuebles = Conn.spuSelectInmuebles().Select(RegistroBD => new ModeloNegocios.Inmueble
                    {
                        IdInmueble             = RegistroBD.IdInmueble, //PK
                        IdPais                 = RegistroBD.Fk_IdPais,
                        IdTipoInmueble         = RegistroBD.Fk_IdTipoInmueble,
                        IdEstado               = RegistroBD.Fk_IdEstado,
                        IdMunicipio            = RegistroBD.Fk_IdMunicipio,
                        IdLocalidad            = RegistroBD.Fk_IdLocalidad,
                        OtraColonia            = RegistroBD.OtraColonia,
                        IdTipoVialidad         = RegistroBD.Fk_IdTipoVialidad,
                        NombreVialidad         = RegistroBD.NombreVialidad,
                        NumExterior            = RegistroBD.NumExterior,
                        NumInterior            = RegistroBD.NumInterior,
                        CodigoPostal           = RegistroBD.CodigoPostal,
                        GeoRefLatitud          = RegistroBD.GeoRefLatitud,
                        GeoRefLongitud         = RegistroBD.GeoRefLongitud,
                        NombreInmueble         = RegistroBD.NombreInmueble,
                        CodigoPostalExtranjero = RegistroBD.CodigoPostalExtranjero,
                        EstadoExtranjero       = RegistroBD.EstadoExtranjero,
                        CiudadExtranjero       = RegistroBD.CiudadExtranjero,
                        MunicipioExtranjero    = RegistroBD.MunicipioExtranjero,
                        IdRIUF                 = RegistroBD.Fk_IdRIUF,
                        EstatusRegistro        = RegistroBD.EstatusRegistro,
                        RIUF = new ModeloNegocios.RIUF
                        {
                            IdRIUF            = (RegistroBD.IdRIUF) == null ? 0 : RegistroBD.IdRIUF,
                            IdEstadoRIUF      = (RegistroBD.Fk_IdEstadoRIUF) == null ? 0 : RegistroBD.Fk_IdEstadoRIUF,
                            RIUF1             = (RegistroBD.RIUF1) == null ? "" : RegistroBD.RIUF1,
                            Digitoverificador = (RegistroBD.DigitoVerificador) == null ? 0 : RegistroBD.DigitoVerificador,
                            Consecutivo       = (RegistroBD.Consecutivo) == null ? 0 : RegistroBD.Consecutivo
                        }
                    }).ToList();
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("ObtenerInmuebles: ", ex.Message));
                }
            }//using

            List <ModeloNegocios.Inmueble> oLista;

            //if (RIUF != "")
            //{
            //    oLista = ListInmuebles.Where(
            //        tc => tc.EstatusRegistro == true
            //    && tc.RIUF.RIUF1.ToString() == RIUF.ToString()).ToList();
            //}
            //else
            //{
            if (IdPais != 165)
            {
                oLista = ListInmuebles.Where(
                    tc => tc.EstatusRegistro == true &&
                    tc.IdPais == IdPais).ToList();
            }
            else
            {
                if (IdMunicipio != 0)
                {
                    oLista = ListInmuebles.Where(
                        tc => tc.EstatusRegistro == true &&
                        tc.IdEstado == IdEstado &&
                        tc.IdMunicipio == IdMunicipio).ToList();
                }
                else
                {
                    if (IdEstado != 0)
                    {
                        oLista = ListInmuebles.Where(
                            tc => tc.EstatusRegistro == true &&
                            tc.IdEstado == IdEstado).ToList();
                    }
                    else
                    {
                        oLista = ListInmuebles.Where(
                            tc => tc.EstatusRegistro == true &&
                            tc.IdPais == IdPais).ToList();
                    }
                }
            }
            // }
            return(oLista);
        }