Example #1
0
        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;
                }
            }
        }
Example #2
0
 public abstract void BulkDelete(DocumentContext context, DocumentTransaction transaction);
Example #3
0
 public abstract void BulkAppend(DocumentContext context, DocumentTransaction transaction);
 public virtual void ReleaseTransaction(DocumentTransaction transaction)
 {
     Monitor.ReleaseTransaction(transaction);
 }