public StructProjectionInfo( ResultProjectionInfo resultProjectionInfo, StructProjectionKind kind) { ResultProjectionInfo = resultProjectionInfo; Kind = kind; }
private Task <ResultNodeModel> BuildNodeAsync( ResultProjectionInfo projectionInfo) { return(Task.Run(() => { var node = BuildNode(projectionInfo); // top level node should be expanded node.IsExpanded = true; return node; })); }
private ResultNodeModel BuildNode( ResultProjectionInfo projectionInfo) { switch (projectionInfo.Kind) { case ResultProjectionKind.Array: { var arrayNode = new ArrayResultNodeModel(projectionInfo); arrayNode.Ordinal = projectionInfo.Index; foreach (var child in projectionInfo.Children) { var childNode = BuildNode(child); arrayNode.Results.Add(childNode); } arrayNode.IsExpanded = projectionInfo.Children.Count <= 10; return(arrayNode); } case ResultProjectionKind.Transaction: { var transactionNode = new TransactionResultNodeModel(projectionInfo); transactionNode.Ordinal = projectionInfo.Index; foreach (var child in projectionInfo.Children) { transactionNode.Results.Add(BuildNode(child)); } transactionNode.IsExpanded = true; return(transactionNode); } case ResultProjectionKind.Error: var errorNode = new ErrorResultNodeModel(projectionInfo); errorNode.Ordinal = projectionInfo.Index; return(errorNode); case ResultProjectionKind.Status: var statusNode = new StatusResultNodeModel(projectionInfo); statusNode.Ordinal = projectionInfo.Index; return(statusNode); case ResultProjectionKind.Key: case ResultProjectionKind.SKey: case ResultProjectionKind.ZKey: case ResultProjectionKind.HKey: var keyNode = new KeyResultNodeModel(projectionInfo); keyNode.Ordinal = projectionInfo.Index; return(keyNode); case ResultProjectionKind.Value: default: var valueNode = new ValueResultNodeModel(projectionInfo); valueNode.Ordinal = projectionInfo.Index; return(valueNode); } }
public KeyResultNodeModel(ResultProjectionInfo projectionInfo) : base(projectionInfo) { Key = AsString(projectionInfo.Value, true); }
public ErrorResultNodeModel(ResultProjectionInfo projectionInfo) : base(projectionInfo) { Error = AsString(projectionInfo.Value); }
public StatusResultNodeModel(ResultProjectionInfo projectionInfo) : base(projectionInfo) { Status = AsString(projectionInfo.Value); }
public ViewStructIntent(ResultProjectionInfo resultProjectionInfo) { ResultProjectionInfo = resultProjectionInfo; }
public TransactionResultNodeModel(ResultProjectionInfo projectionInfo) : base(projectionInfo) { }
public ArrayResultNodeModel(ResultProjectionInfo projectionInfo) : base(projectionInfo) { Length = projectionInfo.Children.Count; }
protected ResultNodeModel(ResultProjectionInfo resultProjectionInfo) { ResultProjectionInfo = resultProjectionInfo; }