private void ContentService_Saving(IContentService sender, SaveEventArgs <IContent> e) { var textAnalyticsService = new TextAnalyticsService(_textAnalyticsApiKey); foreach (IContent content in e.SavedEntities.Where(a => a.ContentType.Alias == "comment")) { var request = new TextAnalyticsRequestDocument { Id = Guid.NewGuid().ToString(), Text = content.GetValue <string>("text") }; var analyticsResponse = AsyncHelpers.RunSync(() => textAnalyticsService.TextAnalyticsRequestAsync(request, TextAnalyticsFeature.Languages)); string isoLanguageCode = analyticsResponse.DetectedLanguages.First().Iso6391Name; var analyticsSentimentResponse = AsyncHelpers.RunSync(() => textAnalyticsService.TextAnalyticsRequestAsync(request, TextAnalyticsFeature.Sentiment)); double sentimentScore = analyticsSentimentResponse.Score; var analyticsKeyPhrasesResponse = AsyncHelpers.RunSync(() => textAnalyticsService.TextAnalyticsRequestAsync(request, TextAnalyticsFeature.KeyPhrases)); string keyPhrases = string.Join("\n", analyticsKeyPhrasesResponse.KeyPhrases); content.SetValue("language", isoLanguageCode); content.SetValue("sentiment", Math.Round(sentimentScore, 2)); content.SetValue("keyPhrases", keyPhrases); } }