示例#1
0
        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);
        }