// methods public async Task <WriteConcernResult> ExecuteAsync(IChannelHandle channel, CancellationToken cancellationToken) { Ensure.IsNotNull(channel, "channel"); var requests = _documentSource.GetRemainingItems().Select(d => { if (d == null) { throw new ArgumentException("Batch contains one or more null documents."); } return(new InsertRequest(new BsonDocumentWrapper(d, _serializer))); }); var operation = new BulkInsertOperation(_collectionNamespace, requests, _messageEncoderSettings) { IsOrdered = !_continueOnError, MaxBatchCount = _maxBatchCount, MaxBatchLength = _maxMessageSize, // ReaderSettings = ? WriteConcern = _writeConcern, // WriteSettings = ? }; BulkWriteOperationResult bulkWriteResult; MongoBulkWriteOperationException bulkWriteException = null; try { bulkWriteResult = await operation.ExecuteAsync(channel, cancellationToken).ConfigureAwait(false); } catch (MongoBulkWriteOperationException ex) { bulkWriteResult = ex.Result; bulkWriteException = ex; } var converter = new BulkWriteOperationResultConverter(); if (bulkWriteException != null) { throw converter.ToWriteConcernException(channel.ConnectionDescription.ConnectionId, bulkWriteException); } else { if (_writeConcern.IsAcknowledged) { return(converter.ToWriteConcernResult(bulkWriteResult)); } else { return(null); } } }
// methods public async Task <WriteConcernResult> ExecuteAsync(IConnectionHandle connection, TimeSpan timeout = default(TimeSpan), CancellationToken cancellationToken = default(CancellationToken)) { Ensure.IsNotNull(connection, "connection"); var requests = _documentSource.GetRemainingItems().Select(d => { if (d == null) { throw new ArgumentException("Batch contains one or more null documents."); } return(new InsertRequest(new BsonDocumentWrapper(d, _serializer))); }); var operation = new BulkInsertOperation(_collectionNamespace, requests, _messageEncoderSettings) { IsOrdered = !_continueOnError, MaxBatchCount = _maxBatchCount ?? 0, // ReaderSettings = ? WriteConcern = _writeConcern, // WriteSettings = ? }; BulkWriteOperationResult bulkWriteResult; BulkWriteOperationException bulkWriteException = null; try { bulkWriteResult = await operation.ExecuteAsync(connection, timeout, cancellationToken); } catch (BulkWriteOperationException ex) { bulkWriteResult = ex.Result; bulkWriteException = ex; } var converter = new BulkWriteOperationResultConverter(); if (bulkWriteException != null) { throw converter.ToWriteConcernException(bulkWriteException); } else { if (_writeConcern.IsAcknowledged) { return(converter.ToWriteConcernResult(bulkWriteResult)); } else { return(null); } } }
// methods public async Task <WriteConcernResult> ExecuteAsync(IConnectionHandle connection, TimeSpan timeout = default(TimeSpan), CancellationToken cancellationToken = default(CancellationToken)) { Ensure.IsNotNull(connection, "connection"); var limit = _isMulti ? 0 : 1; var requests = new[] { new DeleteRequest(_criteria) { Limit = limit } }; var operation = new BulkDeleteOperation(_collectionNamespace, requests, _messageEncoderSettings) { WriteConcern = _writeConcern }; BulkWriteOperationResult bulkWriteResult; BulkWriteOperationException bulkWriteException = null; try { bulkWriteResult = await operation.ExecuteAsync(connection, timeout, cancellationToken); } catch (BulkWriteOperationException ex) { bulkWriteResult = ex.Result; bulkWriteException = ex; } var converter = new BulkWriteOperationResultConverter(); if (bulkWriteException != null) { throw converter.ToWriteConcernException(bulkWriteException); } else { if (_writeConcern.IsAcknowledged) { return(converter.ToWriteConcernResult(bulkWriteResult)); } else { return(null); } } }
// methods public async Task <WriteConcernResult> ExecuteAsync(IChannelHandle channel, CancellationToken cancellationToken) { Ensure.IsNotNull(channel, "channel"); var requests = new[] { _request }; var operation = new BulkUpdateOperation(_collectionNamespace, requests, _messageEncoderSettings) { IsOrdered = true, WriteConcern = _writeConcern }; BulkWriteOperationResult bulkWriteResult; MongoBulkWriteOperationException bulkWriteException = null; try { bulkWriteResult = await operation.ExecuteAsync(channel, cancellationToken).ConfigureAwait(false); } catch (MongoBulkWriteOperationException ex) { bulkWriteResult = ex.Result; bulkWriteException = ex; } var converter = new BulkWriteOperationResultConverter(); if (bulkWriteException != null) { throw converter.ToWriteConcernException(channel.ConnectionDescription.ConnectionId, bulkWriteException); } else { if (_writeConcern.IsAcknowledged) { return(converter.ToWriteConcernResult(bulkWriteResult)); } else { return(null); } } }
private WriteConcernResult CreateResultOrThrow(IChannelHandle channel, BulkWriteOperationResult result, MongoBulkWriteOperationException exception) { var converter = new BulkWriteOperationResultConverter(); if (exception != null) { throw converter.ToWriteConcernException(channel.ConnectionDescription.ConnectionId, exception); } else { if (_writeConcern.IsAcknowledged) { return(converter.ToWriteConcernResult(result)); } else { return(null); } } }
// methods public async Task<WriteConcernResult> ExecuteAsync(IChannelHandle channel, CancellationToken cancellationToken) { Ensure.IsNotNull(channel, "channel"); var requests = new[] { _request }; var operation = new BulkUpdateOperation(_collectionNamespace, requests, _messageEncoderSettings) { IsOrdered = true, WriteConcern = _writeConcern }; BulkWriteOperationResult bulkWriteResult; MongoBulkWriteOperationException bulkWriteException = null; try { bulkWriteResult = await operation.ExecuteAsync(channel, cancellationToken).ConfigureAwait(false); } catch (MongoBulkWriteOperationException ex) { bulkWriteResult = ex.Result; bulkWriteException = ex; } var converter = new BulkWriteOperationResultConverter(); if (bulkWriteException != null) { throw converter.ToWriteConcernException(channel.ConnectionDescription.ConnectionId, bulkWriteException); } else { if (_writeConcern.IsAcknowledged) { return converter.ToWriteConcernResult(bulkWriteResult); } else { return null; } } }
private WriteConcernResult CreateResultOrThrow(IChannelHandle channel, BulkWriteOperationResult result, MongoBulkWriteOperationException exception) { var converter = new BulkWriteOperationResultConverter(); if (exception != null) { throw converter.ToWriteConcernException(channel.ConnectionDescription.ConnectionId, exception); } else { if (_writeConcern.IsAcknowledged) { return converter.ToWriteConcernResult(result); } else { return null; } } }
// methods public async Task<WriteConcernResult> ExecuteAsync(IConnectionHandle connection, TimeSpan timeout = default(TimeSpan), CancellationToken cancellationToken = default(CancellationToken)) { Ensure.IsNotNull(connection, "connection"); var requests = new[] { _request }; var operation = new BulkUpdateOperation(_collectionNamespace, requests, _messageEncoderSettings) { IsOrdered = true, WriteConcern = _writeConcern }; BulkWriteOperationResult bulkWriteResult; BulkWriteOperationException bulkWriteException = null; try { bulkWriteResult = await operation.ExecuteAsync(connection, timeout, cancellationToken); } catch (BulkWriteOperationException ex) { bulkWriteResult = ex.Result; bulkWriteException = ex; } var converter = new BulkWriteOperationResultConverter(); if (bulkWriteException != null) { throw converter.ToWriteConcernException(bulkWriteException); } else { if (_writeConcern.IsAcknowledged) { return converter.ToWriteConcernResult(bulkWriteResult); } else { return null; } } }