public static AsyncObservableCollection <T> GetItems <T>(AsyncObservableCollection <T> collection, DummyItemType collectionType) where T : StoreItem, new() { AsyncObservableCollection <T> items = collection.ToCollection(); items.Sort((x, y) => x.Title.CompareTo(y.Title)); if (collectionType == DummyItemType.NoneType || collectionType == DummyItemType.AllNoneType) { T item = StoreItem.GetDummyItem <T>(DummyItemType.NoneType); items.Insert(0, item); } if (collectionType == DummyItemType.AllType || collectionType == DummyItemType.AllNoneType) { T item = StoreItem.GetDummyItem <T>(DummyItemType.AllType); items.Insert(0, item); } return(items); }
//------------------------------------------------------------------------------------ /// <summary> /// Undoes all changes that are currently queued up to be saved. /// </summary> //------------------------------------------------------------------------------------ public void UndoChanges() { AsyncObservableCollection <StoreItem> changedItems = m_changedItems.ToCollection(); changedItems.Sort((x, y) => StoreItemTypeSort.Compare(x, y)); UndoInProgress = true; foreach (StoreItem item in changedItems) { if (item.IsNew) { m_changedItems.Remove(item); RemoveFromCache(item); } else { item.UndoChanges(); } } UndoInProgress = false; }
public static AsyncObservableCollection <T> GetItems <T>(AsyncObservableCollection <T> collection, DummyItemType collectionType, string sortPropName) where T : StoreItem, new() { AsyncObservableCollection <T> items = collection.ToCollection(); if (collectionType == DummyItemType.NoneType || collectionType == DummyItemType.AllNoneType) { T item = StoreItem.GetDummyItem <T>(DummyItemType.NoneType); items.Add(item); } if (collectionType == DummyItemType.AllType || collectionType == DummyItemType.AllNoneType) { T item = StoreItem.GetDummyItem <T>(DummyItemType.AllType); items.Add(item); } ItemPropertySort <T> itemComparer = new ItemPropertySort <T>(sortPropName, System.ComponentModel.ListSortDirection.Ascending); items.Sort((x, y) => itemComparer.Compare(x, y)); return(items); }
void SortMembersByDisplayName(AsyncObservableCollection <GroupMemberItem> members) { ItemPropertySort <GroupMemberItem> itemComparer = new ItemPropertySort <GroupMemberItem>(StringUtils.GetPropertyName((GroupMemberItem s) => s.DisplayName), System.ComponentModel.ListSortDirection.Ascending); members.Sort((x, y) => itemComparer.Compare(x, y)); }