public async Task <IEnumerable <Card> > PopulateDecklist(string[] CardNames) { var DeckList = new List <Card>(); foreach (string card in CardNames) { int quantity; string cardName; string setCode = ""; var splitName = card.Split(' '); quantity = int.Parse(splitName[0][0].ToString()); cardName = splitName[1]; if (splitName.Length == 3) { setCode = splitName[2]; } var localDbCard = await localDbReader.GetCard(cardName, setCode); var convertedResult = CardConverter.LocalDBDataToCard(localDbCard); for (int i = 0; i < quantity; i++) { DeckList.Add(convertedResult); } } return(DeckList); }