public void HandleResponses(GetResponse[] responses, ShardStrategy shardStrategy) { var count = responses.Count(x => x.Status == 404); if (count != 0) { throw new InvalidOperationException("There is no index named: " + queryOperation.IndexName + " in " + count + " shards"); } var list = responses .Select(response => SerializationHelper.ToQueryResult((RavenJObject)response.Result, response.GetEtagHeader())) .ToList(); var queryResult = shardStrategy.MergeQueryResults(queryOperation.IndexQuery, list); RequiresRetry = queryOperation.IsAcceptable(queryResult) == false; if (RequiresRetry) { return; } if (afterQueryExecuted != null) { afterQueryExecuted(queryResult); } Result = queryOperation.Complete <T>(); }
public void HandleResponse(GetResponse response) { if (response.Status == 404) { throw new InvalidOperationException("There is no index named: " + queryOperation.IndexName); } var json = RavenJObject.Parse(response.Result); var queryResult = SerializationHelper.ToQueryResult(json, response.Headers["ETag"]); RequiresRetry = queryOperation.IsAcceptable(queryResult) == false; if (RequiresRetry) { return; } if (afterQueryExecuted != null) { afterQueryExecuted(queryResult); } Result = queryOperation.Complete <T>(); }