Exemplo n.º 1
0
        public int AceptarPeticionAmistad(int pe_peticion)
        {
            /*Codigos de error                          */
            /* 0 --> No existe peticion                    */
            /* -1 --> Ya esta en mi lista de amigos     */
            /* -2 --> Ya esta en mi lista de bloqueados */
            /* 1 --> Petición aceptada                  */
            int       ret   = -1;
            UsuarioCP usuCP = new UsuarioCP();

            try
            { SessionInitializeTransaction();
              UsuarioCAD usuCAD = new UsuarioCAD(session);
              UsuarioCEN usuCEN = new UsuarioCEN(usuCAD);

              PeticionAmistadCEN petCEN   = new PeticionAmistadCEN(new PeticionAmistadCAD(session));
              PeticionAmistadEN  peticion = petCEN.get_IPeticionAmistadCAD().ReadOIDDefault(pe_peticion);


              PeticionAmistadEN petEN = petCEN.DamePeticionAmistadPorOID(pe_peticion);
              UsuarioEN         emiEN = usuCEN.DameUsuarioPorOID(petEN.Emisor.Id);

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

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

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

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

              petCEN.AceptarPeticionAmistad(pe_peticion);

              usuCP.AgregarAmigo(petEN.Emisor.Id, petEN.Receptor.Id);

              SessionCommit(); }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }
            return(ret);
        }
Exemplo n.º 2
0
        /**
         * Comprobar que los amigos existen
         **/
        public int RechazarPeticionAmistad(/*int pe_receptor,*/ int pe_peticion)
        {
            int ret = -1;

            try
            {
                SessionInitializeTransaction();
                UsuarioCAD         usuCAD = new UsuarioCAD(session);
                UsuarioCEN         usuCEN = new UsuarioCEN(usuCAD);
                int                i;
                bool               esta     = false;
                PeticionAmistadCEN petCEN   = new PeticionAmistadCEN(new PeticionAmistadCAD(session));
                PeticionAmistadEN  peticion = petCEN.get_IPeticionAmistadCAD().ReadOIDDefault(pe_peticion);

                esta = false;
                for (i = 0; (i < peticion.Receptor.PeticionesRecibidas.Count && !esta); i++)
                {
                    if (peticion.Receptor.PeticionesRecibidas[i].Equals(peticion.Emisor))
                    {
                        esta = true;
                    }
                }
                if (!esta)
                {
                    peticion.Receptor.PeticionesRecibidas.Remove(peticion);

                    petCEN.BorrarPeticionAmistad(pe_peticion);

                    ret = 0;
                }

                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }
            return(ret);
        }