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); }
/** * 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); }