/// <summary> /// Retrieve an RpcPeerList object to identify all the peers the /// given personID has. If no peers are found then the peers member /// of the returned object will be empty. If the person is not found /// then an empty peers member will be returned. /// </summary> /// <param name="personID">The ID of the person who we are interested in.</param> /// <param name="peerCount">The number of peers to return, if more peers are available only this many will be returned.</param> /// <returns>A new RpcPeerList object which contains the information requested.</returns> public RpcPeerList GetPersonPeers(int personID, int start, int count) { ScoreCollection scores = new ScoreCollection(); RpcPeerList list = new RpcPeerList(); ArrayList peers = new ArrayList(); Score s; int i; // // Load the peers for this person. // scores.LoadBySourcePersonId(personID, 1); // // Make sure we have valid values to work with. // if (start < 0) { start = 0; } if ((start + count) > scores.Count) { count = (scores.Count - start); } // // Walk each peer and add them to our array. // for (i = 0; i < count; i++) { RpcPeer peer = new RpcPeer(); s = scores[i + start]; peer.PersonID = s.TargetPersonId; peer.FullName = new Person(s.TargetPersonId).FullName; peer.Score = s.TotalScore; peer.Trend = s.UpwardTrend; } list.PersonID = personID; list.Peers = (RpcPeer[])peers.ToArray(typeof(RpcPeer)); return(list); }
/// <summary> /// Retrieve an RpcPeerList object to identify all the peers the /// given personID has. If no peers are found then the peers member /// of the returned object will be empty. If the person is not found /// then an empty peers member will be returned. /// </summary> /// <param name="personID">The ID of the person who we are interested in.</param> /// <param name="peerCount">The number of peers to return, if more peers are available only this many will be returned.</param> /// <returns>A new RpcPeerList object which contains the information requested.</returns> public RpcPeerList GetPersonPeers(int personID, int start, int count) { ScoreCollection scores = new ScoreCollection(); RpcPeerList list = new RpcPeerList(); ArrayList peers = new ArrayList(); Score s; int i; // // Load the peers for this person. // scores.LoadBySourcePersonId(personID, 1); // // Make sure we have valid values to work with. // if (start < 0) start = 0; if ((start + count) > scores.Count) count = (scores.Count - start); // // Walk each peer and add them to our array. // for (i = 0; i < count; i++) { RpcPeer peer = new RpcPeer(); s = scores[i + start]; peer.PersonID = s.TargetPersonId; peer.FullName = new Person(s.TargetPersonId).FullName; peer.Score = s.TotalScore; peer.Trend = s.UpwardTrend; } list.PersonID = personID; list.Peers = (RpcPeer[])peers.ToArray(typeof(RpcPeer)); return list; }