public UnifiedListIndexesOperation Build(string targetCollectionId, BsonDocument arguments) { var collection = _entityMap.GetCollection(targetCollectionId); var listIndexesOptions = new ListIndexesOptions(); IClientSessionHandle session = null; if (arguments != null) { foreach (var argument in arguments) { switch (argument.Name) { case "batchSize": listIndexesOptions.BatchSize = argument.Value.ToInt32(); break; case "session": session = _entityMap.GetSession(argument.Value.AsString); break; default: throw new FormatException($"Invalid {nameof(UnifiedListIndexesOperation)} argument name: '{argument.Name}'."); } } } return(new UnifiedListIndexesOperation(collection, listIndexesOptions, session)); }
public UnifiedListIndexesOperation( IMongoCollection <BsonDocument> collection, ListIndexesOptions listIndexesOptions, IClientSessionHandle session) { _collection = Ensure.IsNotNull(collection, nameof(collection)); _listIndexesOptions = listIndexesOptions; // can be null _session = session; }
public Task <IAsyncCursor <BsonDocument> > ListAsync(IClientSessionHandle session, ListIndexesOptions options = null, CancellationToken cancellationToken = default) { return(Task.FromResult(List(session, options, cancellationToken))); }
public Task <IAsyncCursor <BsonDocument> > ListAsync(ListIndexesOptions options, CancellationToken cancellationToken = default) { return(Task.FromResult(List(options, cancellationToken))); }
public IAsyncCursor <BsonDocument> List(IClientSessionHandle session, ListIndexesOptions options = null, CancellationToken cancellationToken = default) { return(new FakeAsyncCursor <BsonDocument>(indexes.Values)); }
public IAsyncCursor <BsonDocument> List(ListIndexesOptions options, CancellationToken cancellationToken = default) { return(List(null, options, cancellationToken)); }