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();
 }
Exemple #3
0
 public SlotModelSortableBindingList(ISynchronizeInvoke syncObject)
     : base(syncObject)
 {
     SortComparer = new SlotModelSortComparer();
 }