public async Task <(int wordsAdded, IEnumerable <string> familyMembersNamed)> IncreaseVocabulary(Guid babyId, string transcript) { var babyWords = transcript .Split(' ') .Where(word => !string.IsNullOrEmpty(word)) .ToList(); var uniqueWordsInserted = await _babyRepository.InsertIntoVocabulary(babyId, babyWords); var familyMemberNames = await _babyRepository.GetAllFamilyMemberNames(babyId) ?? new List <string>(); var familyMembersMentioned = babyWords.Where(word => familyMemberNames.Contains(word)); return(uniqueWordsInserted, familyMembersMentioned); }
public async Task <IActionResult> GetBaby( [Required, FromRoute] Guid babyId) { var baby = await _babyRepository.GetBaby(babyId); if (baby == null) { return(NotFound()); } var vocabulary = await _babyRepository.GetVocabulary(babyId); var familyMembers = await _babyRepository.GetAllFamilyMemberNames(babyId); return(Ok(new GetBabyResponse { BabyId = baby.BabyId, Name = baby.Name, Age = baby.Age, Vocabulary = vocabulary, FamilyMembers = familyMembers })); }