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;
                    }
                }
            }
        }