public static Respuesta ObtenerJustipreciacionSecuencial(string secuencial, int IdPais, int IdEstado, int IdMunicipio, int IdInmueble)
        {
            Respuesta      Respuesta        = new Respuesta();
            ControladorBUS cBus             = new ControladorBUS();
            string         SupRentable      = null;
            string         MontoDictaminado = null;
            NG_Inmueble    nInm             = new NG_Inmueble();
            bool           valCP            = false;

            try
            {
                List <SolicitudAvaluos> LsolAvaluos = cBus.ObtenerJustipreciacionAvaluos(secuencial);

                ModeloNegocios.InmuebleArrto Inmueble = new NG_InmuebleArrto().ObtenerInmuebleArrto(System.Convert.ToInt32(IdInmueble));

                if (Inmueble.IdPais != Constantes.IdMexico)
                {
                    Respuesta.Mensaje   = "El secuencial de justipreciación debe ser para un inmueble nacional. Favor de validar tus datos";
                    Respuesta.respuesta = false;
                    return(Respuesta);
                }

                if (LsolAvaluos == null)
                {
                    Respuesta.respuesta = false;
                    Respuesta.Mensaje   = "No se encontró ningun resultado en la busqueda del secuencial. Favor de validar tus datos";
                    return(Respuesta);
                }

                if (LsolAvaluos.Count == 0)
                {
                    Respuesta.respuesta = false;
                    Respuesta.Mensaje   = "No se encontró ningun resultado en la busqueda del secuencial. Favor de validar tus datos";
                    return(Respuesta);
                }

                SolicitudAvaluos solAvaluos = LsolAvaluos.FirstOrDefault();

                if (solAvaluos.Estatus.ToUpper() == "CANCELADO")
                {
                    Respuesta.respuesta = false;
                    Respuesta.Mensaje   = "El estatus de la justipreciación es cancelado";
                    return(Respuesta);
                }

                if (nInm.QuitarAcentosTexto(solAvaluos.EstadoDescripcion.Replace(" ", "").ToUpper()) == nInm.QuitarAcentosTexto(Inmueble.NombreEstado.Replace(" ", "").ToUpper()) && nInm.QuitarAcentosTexto(solAvaluos.MunicipioDescripcion.Replace(" ", "").ToUpper()) == nInm.QuitarAcentosTexto(Inmueble.NombreMunicipio.Replace(" ", "").ToUpper()))
                {
                    valCP = true;

                    if (!string.IsNullOrEmpty(solAvaluos.CP))
                    {
                        var res  = solAvaluos.CP.Trim().Replace(" ", "").PadLeft(5, '0');
                        var res1 = Inmueble.CodigoPostal.Trim().Replace(" ", "").PadLeft(5, '0');

                        if (res != res1)
                        {
                            valCP = false;
                        }
                    }

                    if (!valCP)
                    {
                        Respuesta.respuesta = false;
                        Respuesta.Mensaje   = "El secuencial de justipreciación proporcionado no corresponde con el código postal  de la dirección del inmueble. Favor de validar tus datos";
                        return(Respuesta);
                    }
                }

                else
                {
                    Respuesta.respuesta = false;
                    Respuesta.Mensaje   = "El secuencial de justipreciación proporcionado no corresponde con la entidad federativa y municipio en la dirección del inmueble. Favor de validar tus datos";
                    return(Respuesta);
                }

                if (solAvaluos.SuperficieRentableDictaminado != null || solAvaluos.SuperficieRentable != null)
                {
                    if ((solAvaluos.SuperficieRentableDictaminado != null) && (solAvaluos.SuperficieRentableDictaminado > 0))
                    {
                        SupRentable = solAvaluos.SuperficieRentableDictaminado.Value.ToString("0.00");
                    }
                    if ((solAvaluos.SuperficieRentable != null) && (solAvaluos.SuperficieRentable > 0))
                    {
                        SupRentable = solAvaluos.SuperficieRentable.Value.ToString("0.00");
                    }
                }

                if (solAvaluos.MontoDictaminado != null)
                {
                    MontoDictaminado = solAvaluos.MontoDictaminado.Value.ToString("0.00");
                }

                if ((SupRentable == null && MontoDictaminado == null) || (Convert.ToDecimal(SupRentable) == 0 || Convert.ToDecimal(MontoDictaminado) == 0))
                {
                    string msjError = "El secuencial de justipreciación proporcionado con estatus de atención: " + solAvaluos.Estatus.ToUpper() + ", aun no cuenta con: <br/> * Monto dictaminado <br/> * Superficie rentable dictaminado ó capturada por el promovente en la solicitud de avalúo <br/> Es necesario que se cuente con esta información para poder registrarlo al contrato, por favor contacte al Indaabin";

                    if (solAvaluos.Estatus.ToUpper() != "CONCLUIDO")
                    {
                        msjError = "El secuencial de justipreciación proporcionado con estatus de atención: " + solAvaluos.Estatus.ToUpper() + ", aun no cuenta con: <br/> * Monto dictaminado <br/> * Superficie rentable dictaminado ó capturada por el promovente en la solicitud de avalúo <br/> Es necesario que se cuente con esta información para poder registrarlo al contrato, por favor contacte al Indaabin";
                    }

                    Respuesta.Mensaje   = msjError;
                    Respuesta.respuesta = false;
                    return(Respuesta);
                }

                DateTime?fechaDictamen = null;

                if (string.IsNullOrEmpty(solAvaluos.FechaDictamen.ToString()) == false)
                {
                    fechaDictamen = Convert.ToDateTime(solAvaluos.FechaDictamen.Substring(0, 10));
                }


                JustripreciacionContrato justipreciacion = new JustripreciacionContrato
                {
                    MontoDictaminado      = Convert.ToDecimal(MontoDictaminado),
                    SuperficieDictaminada = SupRentable,
                    UnidadMedidaSupRentableDictaminada = solAvaluos.UnidadMedidaRentable,
                    EstatusAtencion            = solAvaluos.Estatus,
                    NoGenerico                 = solAvaluos.NoGenerico,
                    FechaDictamen              = fechaDictamen,
                    descFechaDictamen          = fechaDictamen == null ? "" : fechaDictamen.Value.ToString("d"),
                    Secuencial                 = secuencial,
                    InstitucionJustipreciacion = solAvaluos.InstitucionDescripcion,
                };

                Respuesta.Justipreciacion = justipreciacion;
                Respuesta.respuesta       = true;
                Respuesta.Mensaje         = string.Empty;
            }

            catch (Exception ex)
            {
                Respuesta.respuesta = false;
                Respuesta.Mensaje   = "Hubo un problema al realizar la búsqueda del secuencial. Favor de contactar a tu administrador";
            }

            return(Respuesta);
        }
Ejemplo n.º 2
0
        // Lista de Inmuebles
        private Boolean PoblarRejillaDirecciones(ModeloNegocios.InmuebleArrto oInmuebleArrendamiento = null)
        {
            Boolean Ok = false;
            List <ModeloNegocios.Inmueble> ListInmuebles = null;
            int    IdPais_Busq    = 0;
            int    IdEstado_Busq  = 0;
            int    IdMpo_Busq     = 0;
            string RIUF_Busq      = "";
            string Direccion_Busq = "";

            try
            {
                this.GridViewResult.DataSource = null;
                this.GridViewResult.DataBind();

                if (this.DropDownListPais.SelectedItem.Text != "--")
                {
                    IdPais_Busq = Convert.ToInt16(this.DropDownListPais.SelectedValue);
                }

                if (IdPais_Busq > 0 && IdPais_Busq == 165)
                {
                    if (this.DropDownListEdo.SelectedItem.Text != "--")
                    {
                        IdEstado_Busq = Convert.ToInt16(this.DropDownListEdo.SelectedValue);
                    }

                    if (this.DropDownListEdo.SelectedItem.Text != "--")
                    {
                        if (this.DropDownListMpo.SelectedItem.Text != "--")
                        {
                            IdMpo_Busq = Convert.ToInt16(this.DropDownListMpo.SelectedValue);
                        }
                    }
                }

                if (this.TextBoxRIUF.Text.Trim() != "")
                {
                    RIUF_Busq = this.TextBoxRIUF.Text.Trim();
                }

                if (this.TextBoxDireccion.Text.Trim() != "")
                {
                    Direccion_Busq = this.TextBoxDireccion.Text.Trim();
                }

                //Se recupera la lista de inmuebles por los filtros seleccionados
                ListInmuebles = new NG_Inmueble().ObtenerInmuebles(IdPais_Busq, IdEstado_Busq, IdMpo_Busq, RIUF_Busq, Direccion_Busq, oInmuebleArrendamiento);

                //si existe el objeto y tiene contenido
                if (ListInmuebles != null)
                {
                    this.pnlGrivView.Visible = true;
                    if (ListInmuebles.Count > 0)
                    {
                        //poblar la rejilla
                        this.GridViewResult.DataSource = ListInmuebles;
                        this.GridViewResult.DataBind();
                        Session[this.lblTableName.Text] = ListInmuebles;

                        //if (GridViewResult.Rows.Count > 0)
                        if (ListInmuebles.Count > 0)
                        {
                            //this.ButtonExportarExcel.Visible = true;
                            Msj = "Se encontraron: [" + ListInmuebles.Count.ToString() + "] dirección(es) registrada(s) al Estado/Municpio seleccionado";
                            this.LabelInfoGridResult.Text = "<div class='alert alert-info'><strong> Información: </strong>" + Msj + "</div>";
                            this.MostrarMensajeJavaScript(Msj);
                            Ok = true;
                        }
                    }
                    else
                    {
                        Msj = "No se encontraron direcciones de arrendamiento";
                        //this.LabelInfo.Text = "<div class='alert alert-warning'><strong> ¡Precaución! </strong> " + Msj + "</div>";
                        this.LabelInfoGridResult.Text = "<div class='alert alert-info'><strong> Información: </strong>" + Msj + "</div>";
                        this.LabelInfoGridResult.Text = Msj;
                        this.MostrarMensajeJavaScript(Msj);
                        Ok = true;
                    }
                }
                return(Ok);
            }
            catch (Exception ex)
            {
                Msj = "Ha ocurrido un error y no fue posible exponer las direcciones de los inmuebles. Contacta al área de sistemas.";
                this.LabelInfoGridResult.Text = "<div class='alert alert-danger'> " + Msj + "</div>";
                MostrarMensajeJavaScript(Msj);

                BitacoraExcepcion BitacoraExcepcionAplictivo = new BitacoraExcepcion
                {
                    CadenaconexionBD = System.Configuration.ConfigurationManager.ConnectionStrings["cnArrendamientoInmueble"].ConnectionString,
                    Aplicacion       = "ContratosArrto",
                    Modulo           = MethodInfo.GetCurrentMethod().DeclaringType.ToString() + ".aspx",
                    Funcion          = MethodBase.GetCurrentMethod().Name + "()",
                    DescExcepcion    = ex.InnerException == null ? ex.Message : ex.InnerException.Message,
                    Usr = ((SSO)Session["Contexto"]).UserName.ToString()
                };
                BitacoraExcepcionAplictivo.RegistrarBitacoraExcepcion();
                BitacoraExcepcionAplictivo = null;

                return(false);
            }
        }