public static TraversalResults Parse(JObject response, IBranch branch) { TraversalResults results = new TraversalResults(); JObject nodesObj = (JObject)response.GetValue("nodes"); foreach (var kv in nodesObj) { string field = kv.Key; JObject nodeObj = (JObject)kv.Value; INode node = (INode)NodeUtil.Node(nodeObj, branch); results.Nodes.Add(node); } JObject associationsObj = (JObject)response.GetValue("associations"); foreach (var kv in associationsObj) { string field = kv.Key; JObject associationObj = (JObject)kv.Value; IAssociation association = (IAssociation)NodeUtil.Node(associationObj, branch); results.Associations.Add(association); } return(results); }
public async Task <TraversalResults> TraverseAsync(JObject traverse) { JObject config = new JObject(); config.Add("traverse", traverse); string uri = URI + "/traverse"; HttpContent content = new StringContent(config.ToString()); JObject response = await Driver.PostAsync(uri, null, content); return(TraversalResults.Parse(response, Branch)); }