public virtual void SubmitChanges(DocumentContext context, DocumentTransaction transaction) { if (context.HasDocuments) { Logger?.Debug(ScopeType.Engine, $"Document write"); try { if (context.Operation == OperationType.Append) { BulkAppend(context, transaction); } else if (context.Operation == OperationType.Merge) { BulkMerge(context, transaction); } else if (context.Operation == OperationType.Create) { BulkCreate(context, transaction); } else if (context.Operation == OperationType.Delete) { BulkDelete(context, transaction); } transaction.AddOperation(context); } catch (Exception ex) { Logger?.Fatal(ex); throw ex; } } }