/// <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"); }