private ICollection <SlotModel> SortSlots(ICollection <SlotModel> slots) { string sortColumn = _prefs.Get <string>(Preference.FormSortColumn); if (String.IsNullOrWhiteSpace(sortColumn)) { return(slots); } var property = TypeDescriptor.GetProperties(typeof(SlotModel)).OfType <PropertyDescriptor>().FirstOrDefault(x => x.Name == sortColumn); if (property == null) { return(slots); } var direction = _prefs.Get <ListSortDirection>(Preference.FormSortOrder); var sortComparer = new SlotModelSortComparer { OfflineClientsLast = _prefs.Get <bool>(Preference.OfflineLast) }; sortComparer.SetSortProperties(property, direction); return(slots.OrderBy(x => x, sortComparer).ToList()); }
public SlotModelSortableBindingList() { SortComparer = new SlotModelSortComparer(); }
public SlotModelSortableBindingList(ISynchronizeInvoke syncObject) : base(syncObject) { SortComparer = new SlotModelSortComparer(); }