//RCA 17/08/2017
        public int UpdateBandera(int FolioContrato)
        {
            int IdFolioContrato = 0;

            using (var Conn = new ArrendamientoInmuebleEntities())
            {
                try
                {
                    var oInmueble = (from s in Conn.ContratoArrto
                                     where s.FolioContratoArrto == FolioContrato
                                     select s).FirstOrDefault();
                    if (oInmueble != null)
                    {
                        IdFolioContrato = Convert.ToInt32(oInmueble.Fk_IdContratoArrtoPadre);

                        if (IdFolioContrato != 0)
                        {
                            var oInmueble1 = (from s in Conn.ContratoArrto
                                              where s.IdContratoArrto == IdFolioContrato
                                              select s).FirstOrDefault();

                            oInmueble1.EsPadre = true;
                            oInmueble1.EsRUSP  = false;
                            Conn.SaveChanges();
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("UpdateBandera: ", ex.Message));
                }
            }//using
            return(IdFolioContrato);
        }
Beispiel #2
0
        //metodo para actualizar el campo de QR de las tablas SMOI
        public Boolean ActualizarSMOIQR(string QR, int IdAplicacionSMOI)
        {
            bool ok = false;

            using (var conexion = new ArrendamientoInmuebleEntities())
            {
                try
                {
                    var QRSMOI = (from s in conexion.SelloDigital
                                  where s.Fk_IdRegistroTablaOrigen == IdAplicacionSMOI && s.Fk_IdCatTabla == 1
                                  select s).FirstOrDefault();

                    QRSMOI.QR = QR;

                    conexion.SaveChanges();

                    ok = true;
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("ActualizarSMOIQR:{0}", ex.Message));
                }
            }

            return(ok);
        }
        public bool AutorizarConvenioModificatorio(int IdConvenioModificatorio, string CadOrignal, string Sello, string QR, int IdUsuario, ref string fechaRegistro)
        {
            bool respuesta = false;

            try
            {
                using (ArrendamientoInmuebleEntities aInmueble = new ArrendamientoInmuebleEntities())
                {
                    Convenio_Modificatorio cModificatorio = aInmueble.Convenio_Modificatorio.Where(x => x.IdConvenioModif == IdConvenioModificatorio).FirstOrDefault();

                    if (cModificatorio != null)
                    {
                        using (TransactionScope transaccion = new TransactionScope())
                        {
                            SelloDigital sello = new SelloDigital
                            {
                                Fk_IdCatTabla            = 4,
                                Fk_IdRegistroTablaOrigen = IdConvenioModificatorio,
                                CadenaOriginal           = CadOrignal,
                                SelloDigital1            = Sello,
                                GUID                 = Guid.NewGuid().ToString(),
                                EstatusRegistro      = true,
                                FechaRegistro        = DateTime.Now,
                                Fk_IdUsuarioRegistro = IdUsuario,
                                QR = QR
                            };

                            aInmueble.SelloDigital.Add(sello);
                            aInmueble.SaveChanges();

                            fechaRegistro = sello.FechaRegistro.ToString("d");

                            transaccion.Complete();
                            respuesta = true;
                        }
                    }
                }
            }

            catch (Exception ex)
            {
                throw new Exception(string.Format("GenerarConvenioModificatorio:{0}", ex.Message));
            }

            return(respuesta);
        }
        public static void Elimina(string secuencail)
        {
            using (ArrendamientoInmuebleEntities db = new ArrendamientoInmuebleEntities())
            {
                var item = db.JustipreciacionExt.FirstOrDefault(x => x.Secuencial.Equals(secuencail));

                if (item != null)
                {
                    db.JustipreciacionExt.Remove(item);
                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(string.Format("Elimina: {0}", ex.Message));
                    }
                }
            }
        }
        public static void Actualiza(SolicitudAvaluosExt avaluo)
        {
            using (ArrendamientoInmuebleEntities db = new ArrendamientoInmuebleEntities())
            {
                var item = db.JustipreciacionExt.FirstOrDefault(x => x.Secuencial.Equals(avaluo.NoSecuencial));

                if (item != null)
                {
                    db.Entry <JustipreciacionExt>(item).State = System.Data.Entity.EntityState.Modified;

                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(string.Format("Actualiza: {0}", ex.Message));
                    }
                }
            }
        }
        public int UpdateIdInmuebleByIdInmuebleArrendamiento(int IdInmueble, int IdInmuebleArrendamiento)
        {
            int num = 0;

            using (var oContext = new ArrendamientoInmuebleEntities())
            {
                try
                {
                    var oInmueble = (from s in oContext.InmuebleArrendamiento
                                     where s.IdInmuebleArrendamiento == IdInmuebleArrendamiento
                                     select s).FirstOrDefault();
                    oInmueble.Fk_IdInmueble = IdInmueble;
                    num = oContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("UpdateIdInmuebleByIdInmuebleArrendamiento: ", ex.Message));
                }
            }//using
            return(num);
        }
        public int UpdateRIUFByFolioContrato(string RIUF, int FolioContratoArrendamiento, int Institucion)
        {
            int num = 0;

            using (var oContext = new ArrendamientoInmuebleEntities())
            {
                try
                {
                    var oContrato = (from s in oContext.ContratoArrto
                                     where s.FolioContratoArrto == FolioContratoArrendamiento && s.Fk_IdInstitucion == Institucion
                                     select s).FirstOrDefault();
                    oContrato.RIUF = RIUF;
                    num            = oContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("UpdateRIUFByFolioContrato: {0}", ex.Message));
                }
            }
            return(num);
        }
        public int InsertInmuebleArrto(ModeloNegocios.InmuebleArrto objInmuebleArtto)
        {
            int iAffect;

            using (ArrendamientoInmuebleEntities Conn = new ArrendamientoInmuebleEntities())
            {
                iAffect = Conn.spuInsertInmuebleArrendamiento(
                    objInmuebleArtto.IdInstitucion,
                    //objInmuebleArtto.IdCargo,
                    objInmuebleArtto.NombrePais,
                    objInmuebleArtto.IdPais,
                    objInmuebleArtto.IdTipoInmueble,
                    objInmuebleArtto.IdEstado,
                    objInmuebleArtto.IdMunicipio,
                    objInmuebleArtto.IdLocalidadColonia,
                    objInmuebleArtto.OtraColonia,
                    objInmuebleArtto.IdTipoVialidad,
                    objInmuebleArtto.NombreVialidad,
                    objInmuebleArtto.NumExterior,
                    objInmuebleArtto.NumInterior,
                    objInmuebleArtto.CodigoPostal,
                    objInmuebleArtto.GeoRefLatitud,
                    objInmuebleArtto.GeoRefLongitud,
                    objInmuebleArtto.NombreInmueble,
                    objInmuebleArtto.IdInmueble,
                    objInmuebleArtto.CodigoPostalExtranjero,
                    objInmuebleArtto.EstadoExtranjero,
                    objInmuebleArtto.CiudadExtranjero,
                    objInmuebleArtto.MunicipioExtranjero,
                    objInmuebleArtto.IdUsuarioRegistro,
                    objInmuebleArtto.NombreCargo
                    );

                Conn.SaveChanges();
            }                //using

            return(iAffect); //afectados
        }
        public Boolean Inserta(SolicitudAvaluosExt avaluo)
        {
            bool bandera = true;

            using (ArrendamientoInmuebleEntities db = new ArrendamientoInmuebleEntities())
            {
                try
                {
                    var item = db.JustipreciacionExt.FirstOrDefault(x => x.Secuencial.Equals(avaluo.NoSecuencial));

                    if (item == null)
                    {
                        //RCA 22/08/2017
                        db.JustipreciacionExt.Add(new JustipreciacionExt
                        {
                            Secuencial                      = avaluo.NoSecuencial,
                            NoGenerico                      = avaluo.NoGenerico,
                            FechaDictamen                   = avaluo.FechaDictamen,// los dos son tipo date time
                            UnidadResponsable               = avaluo.UnidadResponsable,
                            TerrenoDictaminado              = avaluo.SuperficieTerrenoDictaminado,
                            Fk_IdUnidadMedidaTerrenoDict    = short.Parse(avaluo.UnidadMedidaTerrenoDictaminado),
                            RentableDictamindo              = avaluo.SuperficieRentableDictaminado,
                            Fk_IdUnidadMedidaRentableDict   = short.Parse(avaluo.UnidadMedidaRentableDictaminado),
                            ConstruidaDictaminado           = avaluo.SuperficieConstruidaDictaminado,
                            Fk_IdUnidadMedidaConstruidaDict = short.Parse(avaluo.UnidadMedidaConstruidaDictaminado),
                            MontoDictaminado                = avaluo.MontoDictaminado,
                            Fk_IdSector                     = (short)avaluo.SectorId,
                            Fk_IdInstitucion                = (short)avaluo.InstitucionId,
                            Calle                = avaluo.Calle,
                            NumExterior          = avaluo.NoExterior,
                            NumInterior          = avaluo.NoInterior,//puede ser nulo
                            Colonia              = avaluo.ColoniaInmueble,
                            CodigoPostal         = avaluo.CP,
                            Fk_IdEstado          = (short)avaluo.EstadoId,
                            Fk_IdMunicipio       = (short)avaluo.MunicipioId,
                            RutaDocumento        = avaluo.RutaDocumento,     //debe de guardar la ruta del documento
                            EstatusRegistro      = true,                     //modificar despues cuando se borre o actualize el dato
                            Fk_IdUsuarioRegistro = avaluo.IdUsuarioRegistro, //poder el usuario de lupita
                            FechaRegistro        = System.DateTime.Now,      //la fecha del servidor
                        });

                        try
                        {
                            db.SaveChanges();
                            //bandera = true;
                        }
                        catch (Exception ex)
                        {
                            throw new Exception(string.Format("Inserta: {0}", ex.Message));
                            //bandera = false;
                        }
                    }
                    else
                    {
                        bandera = false;
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("Inserta metodo: ", ex.Message));
                }
            }//using
            return(bandera);
        }
        //Insert de un Contrato Arrto.
        //Devuelve el Folio de contrato
        public int InsertContratoArrto(ModeloNegocios.ContratoArrto objContratoArrto)
        {
            int FolioContrato = 0;

            System.Data.Entity.Core.Objects.ObjectParameter parametroFolioContrato = new System.Data.Entity.Core.Objects.ObjectParameter("FolioContrato", FolioContrato);

            using (ArrendamientoInmuebleEntities Conn = new ArrendamientoInmuebleEntities())
            {
                try
                {
                    Conn.spuInsertContratoArrto(
                        objContratoArrto.Fk_IdTipoContrato,      //1=Nac, 2=Ext u 3=OtrasFig
                        objContratoArrto.Fk_IdTipoArrendamiento, //Nuevo, Sust o Cont
                        objContratoArrto.Fk_IdTipoContratacion,  //Automatico, Dictamiando
                        objContratoArrto.Fk_IdInmuebleArrendamiento,
                        objContratoArrto.Fk_NumContratoHistorico,
                        objContratoArrto.Fk_IdContratoArrtoPadre,
                        objContratoArrto.Fk_IdTipoUsoInm,    //del BUS
                        objContratoArrto.OtroUsoInmueble,
                        objContratoArrto.Fk_IdTipoOcupacion, //Comodato, Prestamo, Conscesión (aplicable solo a Arrendamiento de Otras Fig.)
                        objContratoArrto.OtroTipoOcupacion,
                        objContratoArrto.Fk_IdTipoMoneda,
                        objContratoArrto.Fk_IdInstitucion,
                        objContratoArrto.NombreInstitucion,
                        objContratoArrto.FechaInicioOcupacion,
                        objContratoArrto.FechaFinOcupacion,
                        objContratoArrto.AreaOcupadaM2,
                        objContratoArrto.MontoPagoMensual,
                        objContratoArrto.MontoPagoPorCajonesEstacionamiento,
                        objContratoArrto.CuotaMantenimiento,
                        objContratoArrto.PtjeImpuesto,
                        objContratoArrto.FolioEmisionOpinion, //se define como atributo y no como objeto, porque solo se 1 dato: el Id
                        objContratoArrto.NumeroDictamenExcepcionFolioSMOI,
                        objContratoArrto.RIUF,
                        objContratoArrto.Observaciones,
                        objContratoArrto.PropietarioInmueble,
                        objContratoArrto.FuncionarioResponsable,
                        objContratoArrto.Fk_IdUsuarioRegistro,
                        objContratoArrto.CargoUsuarioRegistro,
                        //objetos de Persona Referencia
                        //titular del OIC
                        objContratoArrto.PersonaReferenciaTitularOIC.NombreCargo,
                        objContratoArrto.PersonaReferenciaTitularOIC.Nombre,
                        objContratoArrto.PersonaReferenciaTitularOIC.ApellidoPaterno,
                        objContratoArrto.PersonaReferenciaTitularOIC.ApellidoMaterno,
                        objContratoArrto.PersonaReferenciaTitularOIC.Email,
                        //Capturista
                        objContratoArrto.PersonaReferenciaCapturista.NombreCargo,
                        objContratoArrto.PersonaReferenciaCapturista.Nombre,
                        objContratoArrto.PersonaReferenciaCapturista.ApellidoPaterno,
                        objContratoArrto.PersonaReferenciaCapturista.ApellidoMaterno,
                        objContratoArrto.PersonaReferenciaCapturista.Email,
                        //Objeto de Justipreciacion
                        objContratoArrto.JustripreciacionContrato.Secuencial,
                        objContratoArrto.JustripreciacionContrato.SuperficieDictaminada,
                        objContratoArrto.JustripreciacionContrato.FechaDictamen,
                        objContratoArrto.JustripreciacionContrato.MontoDictaminado,
                        objContratoArrto.JustripreciacionContrato.EstatusAtencion,
                        objContratoArrto.JustripreciacionContrato.NoGenerico,
                        objContratoArrto.JustripreciacionContrato.UnidadMedidaSupRentableDictaminada,
                        // apartado de seguridad
                        objContratoArrto.CuentaConDictamen,
                        objContratoArrto.FechaDictamen,
                        //
                        objContratoArrto.CadenaOriginal,
                        objContratoArrto.SelloDigital,
                        objContratoArrto.QR,
                        parametroFolioContrato //parametro ouput
                        );

                    Conn.SaveChanges();

                    if (parametroFolioContrato == null)
                    {
                        throw new InvalidOperationException("No se pudo registrar el Contrato de Arrendamiento, vuelva a intentar o reporte a Sistemas");
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("InsertContratoArrto: {0}", ex.Message));
                }
            }//using

            if (parametroFolioContrato.Value != null)
            {
                FolioContrato = Convert.ToInt32(parametroFolioContrato.Value);
            }

            //parametro de retorno, regresa 0 si no hay insert, o el folio > 0 si se realizo el insert
            return(FolioContrato);
        }
        public bool GenerarConvenioModificatorio(Convenio Convenio, int IdUsuario, JustripreciacionContrato JustripreciacionContrato, ref string msjError, ref string fechaRegistro)
        {
            bool respuesta  = false;
            int  IdConvenio = 0;

            try
            {
                using (ArrendamientoInmuebleEntities aInmuebles = new ArrendamientoInmuebleEntities())
                {
                    Datos.ContratoArrto Contrato = aInmuebles.ContratoArrto.Where(x => x.FolioContratoArrto == Convenio.FolioContrato && x.EstatusRegistro == true).FirstOrDefault();

                    if (Contrato == null)
                    {
                        msjError = "No se encuentra el registro del contrato. Favor de contactar a tu administrador";
                        return(false);
                    }

                    if (Convenio.TieneNvoMonto == 1 && Convenio.ImporteRenta > Constantes.MONTO_MINIMO_SECUENCIAL)
                    {
                        JustipreciacionArrto justipreciacion = aInmuebles.JustipreciacionArrto.Where(x => x.Fk_IdContratoArrto == Contrato.IdContratoArrto && x.EstatusRegistro == true).FirstOrDefault();

                        if (justipreciacion != null)
                        {
                            if (Convenio.Secuencial == justipreciacion.Secuencial)
                            {
                                msjError = "El secuencial no puede ser igual al secuencial del contrato. Favor de validar tus datos";
                                return(false);
                            }

                            List <Convenio_Modificatorio> Lconvenio = aInmuebles.Convenio_Modificatorio.Where(x => x.Fk_IdJustipreciacion == Convenio.Secuencial).ToList();

                            if (Lconvenio != null)
                            {
                                if (Lconvenio.Count > 0)
                                {
                                    msjError = "El secuencial ingresado se encuentra relacionado a otro convenio modificatorio. Favor de validar tus datos";
                                    return(false);
                                }
                            }
                        }
                    }

                    IdConvenio = aInmuebles.Convenio_Modificatorio.Where(x => x.Fk_IdContratoArrto == Contrato.IdContratoArrto).Count();
                    IdConvenio = IdConvenio + 1;

                    using (TransactionScope transaccion = new TransactionScope())
                    {
                        Convenio_Modificatorio convenio = new Convenio_Modificatorio();
                        convenio.Fk_IdContratoArrto = Contrato.IdContratoArrto;
                        convenio.IdConvenio         = (short)IdConvenio;
                        convenio.FechaConvenio      = Convert.ToDateTime(Convenio.descFechaConvenio);
                        convenio.Nombre             = Convenio.NombreOIC;
                        convenio.Primer_Apellido    = Convenio.PApellidoOIC;
                        convenio.Segundo_Apellido   = Convenio.SApellidoOIC;
                        convenio.Nombre_Cargo       = Convenio.CargoOIC;
                        convenio.Email             = Convenio.CorreoOIC;
                        convenio.FechaEfecConvenio = Convert.ToDateTime(Convenio.DescFechaEfectoConvenio);

                        if (Convenio.TieneProrroga == 1)
                        {
                            convenio.FechaTerminacion = Convert.ToDateTime(Convenio.descFechaTermino);
                        }

                        if (Convenio.TieneNvaSuperfice == 1)
                        {
                            convenio.Nueva_Superficie = Convenio.SupM2;
                        }

                        if (Convenio.TieneNvoMonto == 1)
                        {
                            convenio.Importe_Renta = Convenio.ImporteRenta;
                        }



                        if (Convenio.TieneNvoMonto == 1 && Convenio.ImporteRenta > Constantes.MONTO_MINIMO_SECUENCIAL)
                        {
                            convenio.Fk_IdJustipreciacion = Convenio.Secuencial;
                        }

                        convenio.FechaRegistro = DateTime.Now;
                        convenio.Institución_justipreciacion = 1;

                        aInmuebles.Convenio_Modificatorio.Add(convenio);
                        aInmuebles.SaveChanges();
                        fechaRegistro          = convenio.FechaRegistro.ToString("d");
                        Convenio.FechaRegistro = convenio.FechaRegistro;

                        Convenio.IdConvenio          = convenio.IdConvenioModif;
                        Convenio.ConsecutivoConvenio = convenio.IdConvenio;

                        if (Convenio.TieneNvoMonto == 1 && Convenio.ImporteRenta > Constantes.MONTO_MINIMO_SECUENCIAL)
                        {
                            convenio.Fk_IdJustipreciacion = Convenio.Secuencial;
                        }

                        aInmuebles.SaveChanges();

                        transaccion.Complete();
                        respuesta = true;
                    }

                    Convenio.ConsecutivoConvenio = IdConvenio;
                    Convenio.FolioConvenio       = Convenio.FolioContrato + "-" + IdConvenio.ToString().PadLeft(2, '0');
                }
            }

            catch (Exception ex)
            {
                throw new Exception(string.Format("GenerarConvenioModificatorio:{0}", ex.Message));
            }

            return(respuesta);
        }
        //Insert de un Contrato Arrto de Otras Fig. Ocuapacion
        //Devuelve el Folio de contrato
        public int InsertContratoArrtoOtrasFigOcupacion(ModeloNegocios.ContratoArrto objContratoArrto)
        {
            int FolioContrato = 0;

            System.Data.Entity.Core.Objects.ObjectParameter parametroFolioContrato = new System.Data.Entity.Core.Objects.ObjectParameter("FolioContrato", FolioContrato);

            using (ArrendamientoInmuebleEntities Conn = new ArrendamientoInmuebleEntities())
            {
                try
                {
                    Conn.spuInsertContratoOtrasFigurasOcupacion(

                        objContratoArrto.Fk_IdTipoOcupacion,//Comodato, Prestamo, Conscesión (aplicable solo a Arrendamiento de Otras Fig.)
                        objContratoArrto.OtroTipoOcupacion,
                        objContratoArrto.Fk_IdInmuebleArrendamiento,
                        objContratoArrto.Fk_IdTipoUsoInm, //del BUS
                        objContratoArrto.OtroUsoInmueble,
                        objContratoArrto.Fk_IdTipoMoneda,
                        objContratoArrto.Fk_IdInstitucion,
                        objContratoArrto.NombreInstitucion,
                        objContratoArrto.FechaInicioOcupacion,
                        objContratoArrto.FechaFinOcupacion,
                        objContratoArrto.AreaOcupadaM2,
                        objContratoArrto.MontoPagoMensual,
                        objContratoArrto.MontoPagoPorCajonesEstacionamiento,
                        objContratoArrto.CuotaMantenimiento,
                        objContratoArrto.PtjeImpuesto,
                        objContratoArrto.RIUF,
                        objContratoArrto.Observaciones,
                        objContratoArrto.PropietarioInmueble,
                        objContratoArrto.FuncionarioResponsable,
                        objContratoArrto.Fk_IdUsuarioRegistro,
                        objContratoArrto.CargoUsuarioRegistro,
                        //objetos de Persona Referencia (3):
                        //Responsable de la Ocupacion
                        objContratoArrto.PersonaReferenciaResponsableOcupacion.NombreCargo,
                        objContratoArrto.PersonaReferenciaResponsableOcupacion.Nombre,
                        objContratoArrto.PersonaReferenciaResponsableOcupacion.ApellidoPaterno,
                        objContratoArrto.PersonaReferenciaResponsableOcupacion.ApellidoMaterno,
                        objContratoArrto.PersonaReferenciaResponsableOcupacion.Email,
                        //titular del OIC
                        objContratoArrto.PersonaReferenciaTitularOIC.NombreCargo,
                        objContratoArrto.PersonaReferenciaTitularOIC.Nombre,
                        objContratoArrto.PersonaReferenciaTitularOIC.ApellidoPaterno,
                        objContratoArrto.PersonaReferenciaTitularOIC.ApellidoMaterno,
                        objContratoArrto.PersonaReferenciaTitularOIC.Email,
                        //Capturista
                        objContratoArrto.PersonaReferenciaCapturista.NombreCargo,
                        objContratoArrto.PersonaReferenciaCapturista.Nombre,
                        objContratoArrto.PersonaReferenciaCapturista.ApellidoPaterno,
                        objContratoArrto.PersonaReferenciaCapturista.ApellidoMaterno,
                        objContratoArrto.PersonaReferenciaCapturista.Email,
                        // apartado de seguridad
                        objContratoArrto.CuentaConDictamen,
                        objContratoArrto.FechaDictamen,

                        //
                        objContratoArrto.CadenaOriginal,
                        objContratoArrto.SelloDigital,
                        objContratoArrto.QR,
                        parametroFolioContrato //parametro ouput
                        );

                    Conn.SaveChanges();

                    if (parametroFolioContrato == null)
                    {
                        throw new InvalidOperationException("No se pudo registrar el Contrato de Arrendamiento, vuelva a intentar o reporte a Sistemas");
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("InsertContratoArrtoOtrasFigOcupacion: {0}", ex.Message));
                }
            }//using

            if (parametroFolioContrato.Value != null)
            {
                FolioContrato = Convert.ToInt32(parametroFolioContrato.Value);
            }

            //parametro de retorno, regresa 0 si no hay insert, o el folio > 0 si se realizo el insert
            return(FolioContrato);
        }