/// <summary>
        /// The quick filter selected.
        /// </summary>
        /// <param name="quickFilter">
        /// The quick filter.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// </exception>
        public void QuickFilterSelected(IQuickFilterViewModel quickFilter)
        {
            if (quickFilter == null) throw new ArgumentNullException("quickFilter");
            
            if (_filterListVm != null)
            {
                SuppressIsSelectedProperty = true;

                foreach (var f in this.QuickFilterList)
                {
                    if (f == quickFilter)
                    {
                        f.IsSelected = true;
                    }
                    else
                    {
                        f.IsSelected = false;
                    }
                }

                SuppressIsSelectedProperty = false;

                _filterListVm.SelectedFilter = quickFilter.FilterViewModel;

                if (quickFilter.FilterViewModel != null)
                    _filterListVm.ApplyFilter(quickFilter.FilterViewModel);
            }
        }
        /// <summary>
        /// The quick filter selected.
        /// </summary>
        /// <param name="quickFilter">The quick filter.</param>
        /// <exception cref="System.ArgumentNullException">quickFilter</exception>
        /// <exception cref="ArgumentNullException"></exception>
        public void QuickFilterSelected(IQuickFilterViewModel quickFilter)
        {
            if (quickFilter == null) throw new ArgumentNullException("quickFilter");

            this.QuickFilter = quickFilter.QuickFilterType;

            foreach (var model in QuickFilterList.Where(x => x.QuickFilterType != QuickFilter && x.IsSelected))
            {
                model.IsSelected = false;
                model.IsEnabled = true;
            }
        }