private static IImmutableStack <object> GetLogicalOperationStack() { IImmutableStack <object> empty = (IImmutableStack <object>)CallContext.LogicalGetData(LogicalOperation.CallContextDataSlotName); if (empty == null) { empty = ImmutableLogicalOperationStack <object> .Empty; if (LogicalOperation.IsRunningInAdapter) { empty = empty.Push(new object()); } LogicalOperation.UpdateImmutableStack(empty); } return(empty); }
private static void StopLogicalOperation() { LogicalOperation.UpdateImmutableStack(LogicalOperation.GetLogicalOperationStack().Pop()); }
private static void StartLogicalOperation(object data) { LogicalOperation.UpdateImmutableStack(LogicalOperation.GetLogicalOperationStack().Push(data)); }