protected DisposableContainer ConditialNewContext(out MainContext context) { if (connectNeed) context = Context == null ? CommonHelper.CreateMainContext() : Context; else context = null; var result = new DisposableContainer(); result.DisposeNeed = connectNeed && Context == null; result.Object = context; return result; }
protected void ConditionalContextSave(DisposableContainer contextContainer) { if (contextContainer.DisposeNeed) CommonHelper.SaveContextChanges(contextContainer.Object as MainContext); }
protected void ConditionalTransactionComplete(DisposableContainer transactionContainer) { if (transactionContainer.DisposeNeed) (transactionContainer.Object as TransactionScope).Complete(); }
protected DisposableContainer ConditialNewTransaction(out TransactionScope transaction) { if (connectNeed) transaction = Transaction == null ? CommonHelper.CreateTransaction() : Transaction; else transaction = null; var result = new DisposableContainer(); result.DisposeNeed = connectNeed && Transaction == null; result.Object = transaction; return result; }