Example #1
0
        public T[] Complete <T>()
        {
            for (var i = 0; i < includeResults.Length; i++)
            {
                var include = includeResults[i];
                sessionOperations.TrackIncludedDocumnet(include);
            }

            var transformedResults = TransformResults().ToList();
            var finalResults       = transformedResults.Select(ApplyTrackingIfNeeded <T>)
                                     .ToArray();

            for (var i = 0; i < finalResults.Length; i++)
            {
                if (ReferenceEquals(finalResults[i], null))
                {
                    sessionOperations.RegisterMissing(ids[i]);
                }
            }

            var includePaths = includes != null?includes.Select(x => x.Key).ToArray() : null;

            sessionOperations.RegisterMissingIncludes(results.Where(x => x != null).Select(x => x.DataAsJson), includePaths);

            return(finalResults);
        }