internal static Comparison <FacebookContact> GetComparison(ContactSortOrder value) { switch (value) { case ContactSortOrder.AscendingByBirthday: return(_ascendingByBirthdayComparison); case ContactSortOrder.AscendingByDisplayName: return(_ascendingByDisplayNameComparison); case ContactSortOrder.AscendingByInterestLevel: return(_ascendingByInterestLevelComparison); case ContactSortOrder.AscendingByLastName: return(_ascendingByLastNameComparison); case ContactSortOrder.AscendingByOnlinePresence: return(_ascendingByOnlinePresenceComparison); case ContactSortOrder.AscendingByRecentActivity: return(_ascendingByRecentActivityComparison); case ContactSortOrder.DescendingByBirthday: return(_descendingByBirthdayComparison); case ContactSortOrder.DescendingByDisplayName: return(_descendingByDisplayNameComparison); case ContactSortOrder.DescendingByInterestLevel: return(_descendingByInterestLevelComparison); case ContactSortOrder.DescendingByLastName: return(_descendingByLastNameComparison); case ContactSortOrder.DescendingByOnlinePresence: return(_descendingByOnlinePresenceComparison); case ContactSortOrder.DescendingByRecentActivity: return(_descendingByRecentActivityComparison); default: Assert.Fail(); return(_defaultComparison); } }
private void _SelectActiveSortOrder() { if (SortOrderMode == SortOrderMode.Contacts) { ContactSortOrder sortOrder = ServiceProvider.ViewManager.ActiveContactSortOrder; foreach (SortControlItem item in SortTabs.ItemsSource) { if (item.ContactSortOrder == sortOrder) { SortTabs.SelectedItem = item; break; } } } else { PhotoAlbumSortOrder sortOrder = ServiceProvider.ViewManager.ActivePhotoAlbumSortOrder; foreach (SortControlItem item in SortTabs.ItemsSource) { if (item.PhotoAlbumSortOrder == sortOrder) { SortTabs.SelectedItem = item; break; } } } }
/// <summary> /// Sorts the items of a sequence according to a key. /// </summary> public static IQueryable <ProjectContact> OrderBy(this IQueryable <ProjectContact> query, ContactSortOrder orderBy) { if (orderBy == ContactSortOrder.Recent) { return(query.OrderByDescending(p => p.ModifiedDate)); } if (orderBy == ContactSortOrder.Name) { return(query.OrderBy(p => p.Email.Name)); } return(query.OrderBy(p => p.Id)); }