public void AcceptFriendRequest(FriendRequest f) { try { ServerManager.Instance.ServerInstance.ServerRequestInvoker.AcceptFriendRequest(f); //Get processed requests Post p = new Post("PADIBook de " + f.RequestedUserName, f.RequestingUserName + " ficou seu amigo. O seu endereço é " + f.FromAddress + ":" + f.FromPort); PostList pl = (PostList)ServerManager.Instance.ServerInstance.ReadDomainObject("PostList"); if (pl == null) { pl = new PostList("PostList"); } pl.AddPost(p); ServerManager.Instance.ServerInstance.WriteDomainObject(pl); } catch (ServiceUnavailableException) { throw new ServiceUnavailableException("Não foi possível enviar a resposta."); } catch (RemotingException) { throw new ServiceUnavailableException("Não foi possível enviar o pedido."); } f.FriendRequestState = FriendRequest.RequestState.ACCEPTED; FriendRequestList recvFrdReqs = GetReceivedFriendRequests(); //add friend Friends friends = GetFriendList(); friends.AddFriend(f.RequestingUserName, f.FromAddress, f.FromPort); ServerManager.Instance.ServerInstance.WriteDomainObject(friends); //Remove request from received requests recvFrdReqs.RemoveFriendRequest(f); ServerManager.Instance.ServerInstance.WriteDomainObject(recvFrdReqs); }