public int EnviarPeticionAmistad(int pe_emisor, int pe_receptor, string pe_asunto, string pe_cuerpo)
        {
            /*PROTECTED REGION ID(NuevoInmueblateGenNHibernate.CEN.RedSocial_Usuario_enviarPeticionAmistad) ENABLED START*/
            /*Codigos de error                          */
            /* 0 --> Existe peticion                    */
            /* -1 --> Ya esta en mi lista de amigos     */
            /* -2 --> Ya esta en mi lista de bloqueados */
            /* n --> Id de la peticion creada           */
            UsuarioCEN         usuCEN = new UsuarioCEN();
            PeticionAmistadCEN petCEN = new PeticionAmistadCEN();
            PeticionAmistadEN  petEN  = petCEN.DamePeticionDePara(pe_emisor, pe_receptor);
            UsuarioEN          emiEN  = usuCEN.DameUsuarioPorOID(pe_emisor);

            System.Collections.Generic.IList <UsuarioEN> l_amigos = usuCEN.ObtenerAmigos(pe_receptor, 0, -1);
            System.Collections.Generic.IList <UsuarioEN> l_bloque = usuCEN.ObtenerBloqueadosSP(pe_receptor);

            if (petEN != null)
            {
                return(0);
            }

            if (l_amigos.Contains(emiEN))
            {
                return(-1);
            }

            if (l_bloque.Contains(emiEN))
            {
                return(-2);
            }

            return(petCEN.CrearPeticionAmistad(pe_asunto, pe_cuerpo, Enumerated.RedSocial.EstadoSolicitudAmistadEnum.pendiente, pe_emisor, pe_receptor));


            /*PROTECTED REGION END*/
        }
예제 #2
0
        public int CrearMensaje(bool p_pendienteModeracion, Nullable <DateTime> p_fechaEnvio, string p_asunto, string p_cuerpo, bool p_leido, int p_emisor, int p_receptor)
        {
            /*PROTECTED REGION ID(NuevoInmueblateGenNHibernate.CEN.RedSocial_Mensaje_crearMensaje_customized) ENABLED START*/

            bool ok = false;
            int  oid;

            SuperUsuarioCAD superUsuarioCAD = new SuperUsuarioCAD();
            SuperUsuarioCEN superUsuarioCEN = new SuperUsuarioCEN(superUsuarioCAD);

            UsuarioCEN      usuarioCEN      = new UsuarioCEN();
            InmobiliariaCAD inmobiliariaCAD = new InmobiliariaCAD();
            InmobiliariaCEN inmobiliariaCEN = new InmobiliariaCEN(inmobiliariaCAD);

            SuperUsuarioEN superUsuarioEmisor   = superUsuarioCEN.get_ISuperUsuarioCAD().ReadOIDDefault(p_emisor);
            SuperUsuarioEN superUsuarioReceptor = superUsuarioCEN.get_ISuperUsuarioCAD().ReadOIDDefault(p_receptor);

            // comprobaci�n para conocer de qu� tipo es el SuperUsuario
            if (superUsuarioEmisor.GetType() == typeof(ModeradorEN))
            {
                ok = true;
            }
            else
            {
                if (superUsuarioEmisor.GetType() == typeof(UsuarioEN) && superUsuarioReceptor.GetType() == typeof(UsuarioEN))
                {
                    UsuarioEN usuarioEmisor   = usuarioCEN.DameUsuarioPorOID(p_emisor);
                    UsuarioEN usuarioReceptor = usuarioCEN.DameUsuarioPorOID(p_receptor);
                    if (usuarioCEN.ObtenerAmigosSP(usuarioEmisor.Id).Contains(usuarioReceptor) &&
                        !usuarioCEN.ObtenerBloqueadosSP(usuarioReceptor.Id).Contains(usuarioEmisor))
                    {
                        // TODO investigar si habr�a que hacer las comprobaciones desde el otro lado
                        ok = true;
                    }
                }
            }
            if (superUsuarioEmisor.GetType() == typeof(UsuarioEN) && superUsuarioReceptor.GetType() == typeof(InmobiliariaEN))
            {
                ok = true;
            }
            if (superUsuarioEmisor.GetType() == typeof(InmobiliariaEN) && superUsuarioReceptor.GetType() == typeof(UsuarioEN))
            {
                InmobiliariaEN inmobiliariaEmisor = inmobiliariaCEN.get_IInmobiliariaCAD().ReadOIDDefault(p_emisor);
                UsuarioEN      usuarioReceptor    = usuarioCEN.DameUsuarioPorOID(p_receptor);

                foreach (MensajeEN mensaje in inmobiliariaEmisor.MensajesRecibidos)
                {
                    if (mensaje.Emisor.Equals(superUsuarioReceptor))        // TODO comprobar que esto es correcto
                    {
                        ok = true;
                    }
                }
            }

            if (ok)
            {
                MensajeEN mensajeEN = null;

                //Initialized MensajeEN
                mensajeEN            = new MensajeEN();
                mensajeEN.FechaEnvio = p_fechaEnvio;

                mensajeEN.Asunto = p_asunto;

                mensajeEN.Cuerpo = p_cuerpo;

                mensajeEN.Leido = p_leido;



                if (p_emisor != -1)
                {
                    mensajeEN.Emisor    = new NuevoInmueblateGenNHibernate.EN.RedSocial.SuperUsuarioEN();
                    mensajeEN.Emisor.Id = p_emisor;
                }


                if (p_receptor != -1)
                {
                    mensajeEN.Receptor    = new NuevoInmueblateGenNHibernate.EN.RedSocial.SuperUsuarioEN();
                    mensajeEN.Receptor.Id = p_receptor;
                }

                //Call to MensajeCAD

                oid = _IMensajeCAD.CrearMensaje(mensajeEN);
            }
            else
            {
                oid = -1;
            }

            return(oid);
            /*PROTECTED REGION END*/
        }