public void CloseCommandsEdit() { this.ActiveViewModel = this; if (this.ActionCommands != null) { this.ActionCommands.Clear(); } AssignmentToolbar assignmentFilter = new AssignmentToolbar(); assignmentFilter.DataContext = this.ActiveViewModel; assignmentFilter.SetSelectedItem = ItemsAssignmentFilter.FirstOrDefault(d => d.Id == (int)EnumQueueFilter.None); this.ActionCommands = new ObservableCollection<ActionCommand> { new ActionCommand { Parameter = EnumSteps.Refresh.ToString(), Command = new Refresh() }, _currentAssignmentFilterCommand, }; }
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; } } } }