Trying my hand at Shuffling...

added klkitchensShufflizer.cs...

public List<int> Shuffle(IEnumerable<int> cards)
{
  var newcards = (from id in cards
                          select new {cardId = id, randOrder = _randgen.Next(1, 100000)}).ToList();

   return newcards.OrderBy(card => card.randOrder).Select(card => card.cardId).ToList();
}

Just gives each card a random number from 1 to 100,000 and then Linq orders on the one assigned.  Randomgenerator is initiated in constructor.