public async Task <AddToPileResponse> Patch(string deckId, string pileName, AddToPileRequest request) { var deck = await repository.AddToPileAsync(deckId, pileName, request.CardCodes); var dictionary = new Dictionary <string, ShortPileInfo>(); deck.Piles .ToList() .ForEach(p => dictionary.Add(p.Name, new ShortPileInfo() { Remaining = p.Remaining })); var response = new AddToPileResponse() { DeckId = deck.DeckId, Remaining = deck.Remaining, Piles = dictionary }; return(response); }