private void OnReorderSubreddit(ReorderSubredditMessage message) { var redditVMs = PivotItems.Select(piv => piv is RedditViewModel ? piv as RedditViewModel : null); for (int i = Subreddits.Count - 1; i >= 0; i--) { var pivot = redditVMs.FirstOrDefault(rvm => rvm.Heading == Subreddits[i].Data.DisplayName); if (pivot != null) { PivotItems.Remove(pivot); PivotItems.Insert(0, pivot); } } }
private void OnReorderSubreddit(ReorderSubredditMessage message) { if (PivotItems != null && Subreddits != null) { _suspendSaving = true; var redditVMs = PivotItems.Select(piv => piv is RedditViewModel ? piv as RedditViewModel : null).ToArray(); for (int i = Subreddits.Count - 1; i >= 0; i--) { if (redditVMs.Length > i && Subreddits[i].Data != null && redditVMs[i].Heading == Subreddits[i].Data.DisplayName) continue; else { var pivot = redditVMs.FirstOrDefault(rvm => Subreddits[i].Data != null && rvm.Heading == Subreddits[i].Data.DisplayName); if (pivot != null) { PivotItems.Remove(pivot); PivotItems.Insert(0, pivot); } } } _suspendSaving = false; _subreddits_CollectionChanged(null, null); } }