public async Task <ActionResult <WatsonResponse> > PostWatsonPayload(WatsonPayload watsonPayload) { // _context.WatsonPayload.Add(watsonPayload); // await _context.SaveChangesAsync(); WatsonResponse response = new WatsonResponse(); NewsAPIClient newsAPI = new NewsAPIClient(_appSettings); switch (watsonPayload.Action) { case WatsonAction.News_Highlights: response.articles = await newsAPI.FindNewsHighlights(watsonPayload); response.status = true; break; case WatsonAction.News_Keyphrase: response.articles = await newsAPI.FindNewsKeyphrase(watsonPayload); response.status = true; break; default: response.status = false; break; } return(response); }
public override async Task UpdateWithResults(RatedComment comment, WatsonResponse watsonResponse) { var cacheClearTask = ClearFromCache(comment); var dbUpdateTask = base.UpdateWithResults(comment, watsonResponse); _logger.LogInformation($"Message id {comment.UniqueID} updating flushing from cache"); await Task.WhenAll(cacheClearTask, dbUpdateTask); }
public virtual async Task UpdateWithResults(RatedComment comment, WatsonResponse watsonResponse) { var filter = Builders <RatedComment> .Filter.Eq(AppConstants.DbKeyField, comment.UniqueID); var updates = Builders <RatedComment> .Update.Combine(new[] { Builders <RatedComment> .Update.Set(AppConstants.WatsonResponseField, watsonResponse), Builders <RatedComment> .Update.Set(AppConstants.WatsonStatusField, ResponseStatus.Complete) }); await _mongoCollection.Value.UpdateOneAsync(filter, updates); _logger.LogInformation($"Document ID - {comment.UniqueID}, updated with watson results"); }