/// <summary> /// Gets the card collection for the specified card. /// </summary> /// <param name="cardViewModel">The card.</param> /// <returns></returns> public IList <PlayingCardViewModel> GetCardCollection(PlayingCardViewModel cardViewModel) { if (Stock.Contains(cardViewModel)) { return(Stock); } if (Waste.Contains(cardViewModel)) { return(Waste); } foreach (var foundation in _foundations.Where(foundation => foundation.Contains(cardViewModel))) { return(foundation); } return(_tableaus.FirstOrDefault(tableau => tableau.Contains(cardViewModel))); }