private void RemoveCardsIfNeeded() { // Remove cards that no longer have an associated account // This is to protected against a user signing out of an account in the menu // And then trying to take action on a card var removableViewModels = CardViewModels.Where(vm => vm.ListItemType == ListItemType.Default); var cardsToRemove = new List <IListItem> (); if (_twitterHelper.GetAccount() == null) { var tViewModels = removableViewModels.Where(vm => ((BaseContentCardViewModel)vm).SocialType == SocialType.Twitter); cardsToRemove.AddRange(tViewModels); } if (_facebookHelper.GetAccount() == null) { var fViewModels = removableViewModels.Where(vm => ((BaseContentCardViewModel)vm).SocialType == SocialType.Facebook); cardsToRemove.AddRange(fViewModels); } CardViewModels.RemoveRange(cardsToRemove); }