public async Task <PhraseResult> MakeRequest(string query) { var responseContent = await MakeRequestToLuis(query); var result = _jsonConvert.DeserializeObject <RootObject>(responseContent); string location = null; var date = DateTime.Now; foreach (var item in result.Entities) { if (item.Type == WeatherLocationEntityName && item.Score > MinItemScore) { location = item.EntityType; } if (item.Type == DateTimeEntityName) { date = DateTime.Parse(item.Resolution.Values[0].Value); } } var phraseResult = new PhraseResult { Location = location, Date = date, TopIntent = result.TopScoringIntent.Intent, Score = result.TopScoringIntent.Score }; return(await Task.FromResult(phraseResult)); }
private string BuildResponse(ForecastModel model, PhraseResult phraseResult, string userName) { var result = $"Hey, {userName} {Environment.NewLine}" + $"Weather in {model.Location} {Environment.NewLine}" + $"Date: {phraseResult.Date:dd.MM.yyyy} {Environment.NewLine}" + $"Temperature: {model.Temperature} °C{Environment.NewLine}" + $"Wind speed: {model.WindSpeed} mph{Environment.NewLine} Summary: {model.Summary}"; return(result); }