示例#1
0
 // private methods
 private Type1CommandMessageSection <BsonDocument> CreateSubject(
     string identifier = null,
     IBatchableSource <BsonDocument> documents         = null,
     IBsonSerializer <BsonDocument> documentSerializer = null)
 {
     identifier         = identifier ?? "identifier";
     documents          = documents ?? new BatchableSource <BsonDocument>(new List <BsonDocument>(), canBeSplit: false);
     documentSerializer = documentSerializer ?? new BsonDocumentSerializer();
     return(new Type1CommandMessageSection <BsonDocument>(identifier, documents, documentSerializer));
 }
 // private methods
 private Type1CommandMessageSection CreateSubject(
     string identifier = null,
     IBatchableSource <BsonDocument> documents         = null,
     IBsonSerializer <BsonDocument> documentSerializer = null,
     IElementNameValidator elementNameValidator        = null,
     int?maxBatchCount   = null,
     int?maxDocumentSize = null)
 {
     identifier           = identifier ?? "identifier";
     documents            = documents ?? new BatchableSource <BsonDocument>(new List <BsonDocument>(), canBeSplit: false);
     documentSerializer   = documentSerializer ?? new BsonDocumentSerializer();
     elementNameValidator = elementNameValidator ?? NoOpElementNameValidator.Instance;
     return(new Type1CommandMessageSection <BsonDocument>(identifier, documents, documentSerializer, elementNameValidator, maxBatchCount, maxDocumentSize));
 }
示例#3
0
 // constructors
 /// <summary>
 /// Initializes a new instance of the <see cref="Type1CommandMessageSection{TDocument}" /> class.
 /// </summary>
 /// <param name="identifier">The identifier.</param>
 /// <param name="documents">The documents.</param>
 /// <param name="documentSerializer">The document serializer.</param>
 /// <param name="elementNameValidator">The element name validator.</param>
 /// <param name="maxBatchCount">The maximum batch count.</param>
 /// <param name="maxDocumentSize">Maximum size of the document.</param>
 public Type1CommandMessageSection(
     string identifier,
     IBatchableSource <object> documents,
     IBsonSerializer documentSerializer,
     IElementNameValidator elementNameValidator,
     int?maxBatchCount,
     int?maxDocumentSize)
 {
     _identifier           = Ensure.IsNotNull(identifier, nameof(identifier));
     _documents            = Ensure.IsNotNull(documents, nameof(documents));
     _documentSerializer   = Ensure.IsNotNull(documentSerializer, nameof(documentSerializer));
     _elementNameValidator = Ensure.IsNotNull(elementNameValidator, nameof(elementNameValidator));
     _maxBatchCount        = Ensure.IsNullOrGreaterThanZero(maxBatchCount, nameof(maxBatchCount));
     _maxDocumentSize      = Ensure.IsNullOrGreaterThanZero(maxDocumentSize, nameof(maxDocumentSize));
 }
示例#4
0
 private bool BatchEquals(IBatchableSource <object> x, IBatchableSource <object> y)
 {
     return
         (x.Count == y.Count &&
          x.Items.Skip(x.Offset).Take(x.Count).SequenceEqual(y.Items.Skip(y.Offset).Take(y.Count)));
 }
 // constructors
 /// <summary>
 /// Initializes a new instance of the <see cref="Type1CommandMessageSection{TDocument}" /> class.
 /// </summary>
 /// <param name="identifier">The identifier.</param>
 /// <param name="documents">The documents.</param>
 /// <param name="documentSerializer">The document serializer.</param>
 public Type1CommandMessageSection(string identifier, IBatchableSource <object> documents, IBsonSerializer documentSerializer)
 {
     _identifier         = Ensure.IsNotNull(identifier, nameof(identifier));
     _documents          = Ensure.IsNotNull(documents, nameof(documents));
     _documentSerializer = Ensure.IsNotNull(documentSerializer, nameof(documentSerializer));
 }