public override void Run() { IRunTimeCommandRigister cmdRegister = this.Owner as IRunTimeCommandRigister; ProjectTaskController mainController = cmdRegister.ControllerFinder.FindController <ProjectTaskController>(string.Empty); if (mainController.SelectedObject == null) { return; } cmdRegister.ClearOldCommand(this.Parameter); string groupName = this.Parameter; BaseController baseController = cmdRegister.ControllerFinder.FindController <BaseController>("BaseControllerList"); Guid? projectId = baseController.GetSelectedProjectId(); IEnumerable <LookupListItem <Guid?> > iterations = mainController.GetProjectIterationsForMenu(projectId); foreach (var iteration in iterations) { MoveTaskToIterationCommand action = new MoveTaskToIterationCommand(); action.Parameter = iteration.Value.ToString(); cmdRegister.AddRunTimeCommand(groupName, iteration.DisplayName, string.Empty, action, iteration.IsDeafult); } }
/// <summary> /// dynamic command init /// </summary> /// <param name="commandId"></param> /// <param name="source"></param> /// <param name="checkForViewId"></param> /// <param name="item"></param> /// <param name="action"></param> /// <param name="groupName"></param> public UICommand(string commandId, CommandSources source, BarSubItem item, ICommand action, IEnumerable <ICondition> conditions, string groupName, IRunTimeCommandRigister cmdRegister, IControllerFinder finder) { this._conditions = new List <ICondition>(); this._commandId = commandId; this._ribbonPath = string.Empty; this._source = source; this._checkForViewId = string.Empty; this._ribbonPath = string.Empty; this._barItem = item; this._actionCommand = action; this.BarItem.ItemClick += _barItem_ItemClick; this._groupName = groupName; this._conditions.AddRange(conditions); this._runTimeCommandRigister = cmdRegister; this._controllerFinder = finder; }