Beispiel #1
0
        /// <summary>
        /// Sorts the error list.
        /// </summary>
        /// <param name="order">Order to sort the error list by.</param>
        /// <param name="bAscending">Ascending or descending order.</param>
        public void Sort(ErrorListSortOrder order, bool bAscending)
        {
            IOrderedEnumerable <BaseErrorListItemViewModel> items = null;

            switch (order)
            {
            case ErrorListSortOrder.Description:
                if (bAscending)
                {
                    items = this.DisplayedErrorList.OrderBy <BaseErrorListItemViewModel, string>((x) => (x.Description));
                }
                else
                {
                    items = this.DisplayedErrorList.OrderByDescending <BaseErrorListItemViewModel, string>((x) => (x.Description));
                }
                break;

            case ErrorListSortOrder.Category:
                if (bAscending)
                {
                    items = this.DisplayedErrorList.OrderBy <BaseErrorListItemViewModel, ErrorListItemCategory>((x) => (x.Category));
                }
                else
                {
                    items = this.DisplayedErrorList.OrderByDescending <BaseErrorListItemViewModel, ErrorListItemCategory>((x) => (x.Category));
                }
                break;

            case ErrorListSortOrder.Number:
                if (bAscending)
                {
                    items = this.DisplayedErrorList.OrderBy <BaseErrorListItemViewModel, int>((x) => (x.Number));
                }
                else
                {
                    items = this.DisplayedErrorList.OrderByDescending <BaseErrorListItemViewModel, int>((x) => (x.Number));
                }
                break;

            case ErrorListSortOrder.SourceDisplayName:
                if (bAscending)
                {
                    items = this.DisplayedErrorList.OrderBy <BaseErrorListItemViewModel, string>((x) => (x.SourceDisplayName));
                }
                else
                {
                    items = this.DisplayedErrorList.OrderByDescending <BaseErrorListItemViewModel, string>((x) => (x.SourceDisplayName));
                }
                break;

            default:
                throw new NotSupportedException();
            }

            ObservableCollection <BaseErrorListItemViewModel> temp = new ObservableCollection <BaseErrorListItemViewModel>();

            foreach (BaseErrorListItemViewModel item in items)
            {
                temp.Add(item);
            }

            this.displayedErrorListItems   = temp;
            this.displayedErrorListItemsRO = new ReadOnlyObservableCollection <BaseErrorListItemViewModel>(this.displayedErrorListItems);
            OnPropertyChanged("DisplayedErrorList");
        }
        /// <summary>
        /// Sorts the error list.
        /// </summary>
        /// <param name="order">Order to sort the error list by.</param>
        /// <param name="bAscending">Ascending or descending order.</param>
        public void Sort(ErrorListSortOrder order, bool bAscending)
        {
            IOrderedEnumerable<BaseErrorListItemViewModel> items = null;
            switch (order)
            {
                case ErrorListSortOrder.Description:
                    if (bAscending)
                        items = this.DisplayedErrorList.OrderBy<BaseErrorListItemViewModel, string>((x) => (x.Description));
                    else
                        items = this.DisplayedErrorList.OrderByDescending<BaseErrorListItemViewModel, string>((x) => (x.Description));
                    break;

                case ErrorListSortOrder.Category:
                    if (bAscending)
                        items = this.DisplayedErrorList.OrderBy<BaseErrorListItemViewModel, ErrorListItemCategory>((x) => (x.Category));
                    else
                        items = this.DisplayedErrorList.OrderByDescending<BaseErrorListItemViewModel, ErrorListItemCategory>((x) => (x.Category));
                    break;

                case ErrorListSortOrder.Number:
                    if (bAscending)
                        items = this.DisplayedErrorList.OrderBy<BaseErrorListItemViewModel, int>((x) => (x.Number));
                    else
                        items = this.DisplayedErrorList.OrderByDescending<BaseErrorListItemViewModel, int>((x) => (x.Number));
                    break;

                case ErrorListSortOrder.SourceDisplayName:
                    if (bAscending)
                        items = this.DisplayedErrorList.OrderBy<BaseErrorListItemViewModel, string>((x) => (x.SourceDisplayName));
                    else
                        items = this.DisplayedErrorList.OrderByDescending<BaseErrorListItemViewModel, string>((x) => (x.SourceDisplayName));
                    break;

                default:
                    throw new NotSupportedException();
            }

            ObservableCollection<BaseErrorListItemViewModel> temp = new ObservableCollection<BaseErrorListItemViewModel>();
            foreach (BaseErrorListItemViewModel item in items)
                temp.Add(item);

            this.displayedErrorListItems = temp;
            this.displayedErrorListItemsRO = new ReadOnlyObservableCollection<BaseErrorListItemViewModel>(this.displayedErrorListItems);
            OnPropertyChanged("DisplayedErrorList");
        }