private void GetRevisionsQueryString(DocumentDatabase database, DocumentsOperationContext context, out IncludeRevisionsCommand includeRevisions) { includeRevisions = null; var rif = new RevisionIncludeField(); var revisionsByChangeVectors = GetStringValuesQueryString("revisions", required: false); var revisionByDateTimeBefore = GetStringValuesQueryString("revisionsBefore", required: false); if (revisionsByChangeVectors.Count == 0 && revisionByDateTimeBefore.Count == 0) { return; } if (DateTime.TryParseExact(revisionByDateTimeBefore.ToString(), DefaultFormat.DateTimeFormatsToRead, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal, out var dateTime)) { rif.RevisionsBeforeDateTime = dateTime.ToUniversalTime(); } foreach (var changeVector in revisionsByChangeVectors) { rif.RevisionsChangeVectorsPaths.Add(changeVector); } includeRevisions = new IncludeRevisionsCommand(database, context, rif); }
public IncludeRevisionsCommand(DocumentDatabase database, DocumentsOperationContext context, RevisionIncludeField revisionIncludeField) : this(database, context) { _revisionsChangeVectors = revisionIncludeField?.RevisionsChangeVectors ?? new HashSet <string>(StringComparer.OrdinalIgnoreCase); _pathsForRevisionsChangeVectors = revisionIncludeField?.RevisionsChangeVectorsPaths ?? new HashSet <string>(StringComparer.OrdinalIgnoreCase); _revisionsBeforeDateTime = revisionIncludeField?.RevisionsBeforeDateTime ?? new DateTime(); }