public async Task <IntentionResult> GetUserIntent(string message) { string apiUri = $"{uri}?subscription-key={apiKey}&verbose=true&timezoneOffset=0&q={HttpUtility.UrlEncode(message)}"; client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = await client.GetAsync(apiUri); if (!response.IsSuccessStatusCode) { throw new ApplicationException("LUIS API didn't answered successfully"); } var json = response.Content.ReadAsStringAsync().Result; var result = JsonConvert.DeserializeObject <LuisResponse>(json); var intention = IntentionFactory.GetInstance(result.TopScoringIntent.Name); var intentionResult = new IntentionResult { Intention = intention }; if (result.Entities.Any()) { intentionResult.Telefono = result.Entities.First().Value; } return(intentionResult); }
public ActionResult IntentionAdd(string description) { if (!string.IsNullOrEmpty(description)) { Intention intention = IntentionFactory.Create(description, CurrentManager.Id, CurrentManager.ParentId != 0 ? CurrentManager.ParentId : CurrentManager.Id); BaseService.SaveIntention(intention); } return(RedirectToAction("IntentionList")); }