/// <summary> /// Add execution group. /// </summary> /// <param name="exectionGroupCallback">Execution group callback.</param> /// <param name="lock">Lock.</param> /// <returns>Command manager.</returns> public IAsyncCommandManager AddGroup(Action <IAsyncCommandGroup> exectionGroupCallback, GroupLockBehavior @lock = GroupLockBehavior.LockAllGroups) { var executionGroup = new ExecutionGroup( commandManager: this, @lock: @lock); exectionGroupCallback(executionGroup); executionGroups.Add(executionGroup); return(this); }
/// <summary> /// Constructor. /// </summary> public ExecutionGroup(AsyncCommandManager commandManager, GroupLockBehavior @lock) { this.commandManager = commandManager; Lock = @lock; }