//Acuse de Registro de Contrato: Nacional, Extranjero ó OtrasFigOcupacion
        public AcuseContrato ObtenerAcuseContrato(int IdFolioContrato)
        {
            AcuseContrato objAcuseContrato;

            using (ArrendamientoInmuebleEntities Conn = new ArrendamientoInmuebleEntities())
            {
                try
                {
                    objAcuseContrato = Conn.spuSelectAcuseContrato(IdFolioContrato)
                                       .Select(RegistroBD => new ModeloNegocios.AcuseContrato
                    {
                        //Re- mapear propiedades del objeto del entity framework al objeto de negocio
                        Folio                  = RegistroBD.FolioContratoArrto,
                        FechaRegistro          = RegistroBD.FechaRegistro,
                        HoraRegistro           = RegistroBD.HoraRegistro,
                        IdUsuarioRegistro      = RegistroBD.Fk_IdUsuarioRegistro,
                        InstitucionSolicitante = RegistroBD.NombreInstitucion,
                        FolioSAEF              = RegistroBD.FolioSAEF,

                        //objeto de negocio embedido, crear para poblar propiedades
                        ContratoArrto = new ModeloNegocios.ContratoArrto
                        {
                            NombreInstitucion                  = RegistroBD.NombreInstitucion,
                            Fk_NumContratoHistorico            = RegistroBD.Fk_NumContratoHistorico,
                            Fk_IdContratoArrtoPadre            = RegistroBD.Fk_IdContratoArrtoPadre,
                            DescripcionTipoOcupacion           = RegistroBD.DescripcionTipoOcupacion,
                            OtroTipoOcupacion                  = RegistroBD.OtroTipoOcupacion,
                            Fk_IdTipoMoneda                    = RegistroBD.Fk_IdTipoMoneda,
                            FechaInicioOcupacion               = RegistroBD.FechaInicioOcupacion,
                            FechaFinOcupacion                  = RegistroBD.FechaFinOcupacion,
                            AreaOcupadaM2                      = RegistroBD.AreaOcupadaM2,
                            MontoPagoMensual                   = RegistroBD.MontoPagoMensual,
                            MontoPagoPorCajonesEstacionamiento = RegistroBD.MontoPagoPorCajonesEstacionamiento,
                            CuotaMantenimiento                 = RegistroBD.CuotaMantenimiento,
                            PtjeImpuesto = RegistroBD.PtjeImpuesto,
                            NumeroDictamenExcepcionFolioSMOI = RegistroBD.NumeroDictamenExcepcionFolioSMOI,
                            RIUF = RegistroBD.RIUF,
                            PropietarioInmueble          = RegistroBD.PropietarioInmueble,
                            FuncionarioResponsable       = RegistroBD.FuncionarioResponsable,
                            DescripcionTipoContrato      = RegistroBD.DescripcionTipoContrato,
                            DescripcionTipoArrendamiento = RegistroBD.DescripcionTipoArrendamiento,
                            DescripcionTipoContratacion  = RegistroBD.DescripcionTipoContratacion,
                            FolioEmisionOpinion          = RegistroBD.FolioOpinion,


                            InmuebleArrto = new InmuebleArrto
                            {
                                //IdInmueble = RegistroBD.fk_i IdInmueble, //PK
                                IdPais = RegistroBD.Fk_IdPais,
                                //IdTipoInmueble = RegistroBD.Fk_IdTipoInmueble,
                                IdEstado           = RegistroBD.Fk_IdEstado,
                                IdMunicipio        = RegistroBD.Fk_IdMunicipio,
                                IdLocalidadColonia = 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.CPExtranjero,
                                EstadoExtranjero       = RegistroBD.EstadoExtranjero,
                                CiudadExtranjero       = RegistroBD.CiudadExtranjero,
                                MunicipioExtranjero    = RegistroBD.MpoExtranjero,
                                RIUFInmueble           = RegistroBD.RIUF
                            }
                        },

                        //objeto de negocio embedido, crear para poblar propiedades
                        JustripreciacionContrato = new JustripreciacionContrato
                        {
                            Secuencial            = RegistroBD.Secuencial,
                            SuperficieDictaminada = RegistroBD.SuperficieDictaminada,
                            FechaDictamen         = RegistroBD.FechaDictamen,
                            MontoDictaminado      = RegistroBD.MontoDictaminado
                        },

                        CadenaOriginal    = RegistroBD.CadenaOriginal,
                        SelloDigital      = RegistroBD.SelloDigital,
                        LeyendaAnio       = RegistroBD.LeyendaAnio,
                        QR                = RegistroBD.QR,
                        Leyenda           = RegistroBD.leyenda,
                        FechaAutorizacion = RegistroBD.fechautorizacion
                    }).FirstOrDefault();
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("ObtenerAcuseContrato: {0}", ex.Message));
                }
            }//using
            return(objAcuseContrato);
        }