GetUniqueEdgesByUser
(
IGraph graph
)
{
Debug.Assert(graph != null);
Dictionary< String, List<IEdge> > oUniqueEdgesByUser =
new Dictionary< String, List<IEdge> >();
// Skip edges that correspond to the same status.
foreach ( IEdge oEdge in EdgeFilter.EnumerateEdgesByUniqueImportedID(
graph.Edges) )
{
String sScreenName = oEdge.Vertex1.Name;
if ( !String.IsNullOrEmpty(sScreenName) )
{
List<IEdge> oUniqueEdgesForUser;
if ( !oUniqueEdgesByUser.TryGetValue(
sScreenName, out oUniqueEdgesForUser) )
{
// This is the first edge for the user.
oUniqueEdgesForUser = new List<IEdge>();
oUniqueEdgesByUser.Add(
sScreenName, oUniqueEdgesForUser);
}
oUniqueEdgesForUser.Add(oEdge);
}
}
return (oUniqueEdgesByUser);
}