protected override async void SetActionCommandsAsync() { if (this.CanEdit) { if (this._CurrentEnumStep == EnumSteps.Start) { this.ActionCommands = new ObservableCollection<ActionCommand> { new ActionCommand { Parameter = EnumSteps.Add.ToString(), Command = new Add() }, }; } else if (this._CurrentEnumStep == EnumSteps.SelectGroup) { if (this.SelectedGroup == null || this.SelectedGroup.IsNewGroup) { this.ActionCommands = new ObservableCollection<ActionCommand> { new ActionCommand { Parameter = EnumSteps.Add.ToString(), Command = new Add() }, }; } else { this.ActionCommands = new ObservableCollection<ActionCommand> { new ActionCommand { Parameter = EnumSteps.Add.ToString(), Command = new Add() }, new ActionCommand { Parameter = EnumSteps.Edit.ToString(), Command = new Edit() }, new ActionCommand { Parameter = EnumSteps.Copy.ToString(), Command = new Copy() }, }; } } if (this.Edit.IsCheckedOut) { if (CurrentStep != EnumSteps.PermissionsState) { ActionCommand cmd = this.Edit.ActionCommands.FirstOrDefault(d => d.Parameter == EditGroupViewModel.EnumSteps.ResetPermissions.ToString()); this.Edit.ActionCommands.Remove(cmd); } else { ActionCommand cmd = this.Edit.ActionCommands.FirstOrDefault(d => d.Parameter == EditGroupViewModel.EnumSteps.ResetPermissions.ToString()); ActionCommand cmdError = this.Edit.ActionCommands.FirstOrDefault(d => d.Parameter == EditGroupViewModel.EnumSteps.Error.ToString()); ActionCommand cmd1 = new ActionCommand { Parameter = EditGroupViewModel.EnumSteps.ResetPermissions.ToString(), Command = new ResetPermissions() }; if (cmd == null) { int position = this.Edit.ActionCommands.IndexOf(cmdError); if (position != -1) { this.Edit.ActionCommands.Insert(position, cmd1); } else { this.Edit.ActionCommands.Add(cmd1); } } } } } }
protected override async void SetActionCommandsAsync() { if (this._CurrentEnumStep == EnumSteps.Start) { AssignmentToolbar assignmentFilter = new AssignmentToolbar(); assignmentFilter.DataContext = this.ActiveViewModel; assignmentFilter.SetSelectedItem = ItemsAssignmentFilter.FirstOrDefault(d => d.Id == (int)EnumQueueFilter.None); _currentAssignmentFilterCommand = new ActionCommand { Parameter = EnumSteps.AssignmentFilter.ToString(), Command = assignmentFilter, CommandType = ActionCommadType.Custom }; this.ActionCommands = new ObservableCollection<ActionCommand> { new ActionCommand { Parameter = EnumSteps.Refresh.ToString(), Command = new Refresh() }, _currentAssignmentFilterCommand }; } else { if (this.CanEdit) { //var permission = Security.Authorisation.GetPermission(Components.Collections, Forms.CollectionsQueueAssignment); switch (this._CurrentEnumStep) { case EnumSteps.SelectQueue: this.ActionCommands = new ObservableCollection<ActionCommand> { new ActionCommand { Parameter = EnumSteps.Edit.ToString(), Command = new Edit()}, new ActionCommand { Parameter = EnumSteps.Previous.ToString(), Command = new Previous()}, new ActionCommand { Parameter = EnumSteps.Next.ToString(), Command = new Next() } }; int index = this.FilteredItems.IndexOf(this.SelectedQueue); // Hidden Previous command when selected Item is the first item. if (index == 0) { var previous = this.ActionCommands.Where(item => string.Equals(item.Parameter, EnumSteps.Previous.ToString())).Select(item => item).FirstOrDefault(); if (previous != null) { this.ActionCommands.Remove(previous); } } // Hidden Next command when selected Item is the last item. if (index == this.FilteredItems.Count - 1) { var next = this.ActionCommands.Where(item => string.Equals(item.Parameter, EnumSteps.Next.ToString())).Select(item => item).FirstOrDefault(); if (next != null) { this.ActionCommands.Remove(next); } } break; } } else { switch (this._CurrentEnumStep) { case EnumSteps.SelectQueue: this.ActionCommands = new ObservableCollection<ActionCommand>(); break; } } } }