private void HandleResponse(GetDocumentResult loadResult) { _loadOperation.SetResult(loadResult); if (RequiresRetry == false) { Result = _loadOperation.GetDocuments <T>(); } }
public void SetResult(GetDocumentResult result) { foreach (BlittableJsonReaderObject document in result.Results) { var newDocumentInfo = DocumentInfo.GetNewDocumentInfo(document); _session.DocumentsById.Add(newDocumentInfo); _returnedIds.Add(newDocumentInfo.Id); } }
public void SetResult(GetDocumentResult result) { if (result == null) { return; } _session.RegisterIncludes(result.Includes); foreach (BlittableJsonReaderObject document in result.Results) { if (document == null) { continue; } var newDocumentInfo = DocumentInfo.GetNewDocumentInfo(document); _session.DocumentsById.Add(newDocumentInfo); } _session.RegisterMissingIncludes(result.Results, result.Includes, _includes); }
public static T[] ParseResultsArray <T>(InMemoryDocumentSessionOperations session, GetDocumentResult transformedResult) { return(transformedResult.Results.Select(x => { if (x == null) { return null; } BlittableJsonReaderArray values; if (((BlittableJsonReaderObject)x).TryGet("$values", out values) == false) { throw new InvalidOperationException("Transformed document must have a $values property"); } var elementType = typeof(T).GetElementType(); var array = values.Select(value => session.DeserializeFromTransformer(elementType, null, value as BlittableJsonReaderObject)).ToArray(); var newArray = Array.CreateInstance(elementType, array.Length); Array.Copy(array, newArray, array.Length); return newArray; }) .Cast <T>() .ToArray()); }
public static IEnumerable <T> ParseResults <T>(InMemoryDocumentSessionOperations session, GetDocumentResult transformedResult) { foreach (BlittableJsonReaderObject result in transformedResult.Results) { if (result == null) { yield return(default(T)); continue; } BlittableJsonReaderArray values; if (result.TryGet("$values", out values) == false) { throw new InvalidOperationException("Transformed document must have a $values property"); } foreach (var value in ParseValuesFromBlittableArray <T>(session, values)) { yield return(value); } } }