private Timex ParseAndParse(string json) { dynamic obj = JsonParser.Parse(json); if (!TimexParser.TryParse(obj, out Timex timex)) { throw new Exception("Not parsed"); } return(timex); }
private async Task UpdateUpdaterState(RecognizerResult luisResult, ITurnContext turnContext) { try { if (luisResult.Entities != null && luisResult.Entities.HasValues) { var updaterState = await updaterStateAccessor.GetAsync(turnContext, () => new UpdaterState()); var entities = luisResult.Entities; if (entities["push_action"] != null) { updaterState.Action = entities["push_action"][0][0].ToString(); } if (entities["push_detalization"] != null) { updaterState.Detalization = entities["push_detalization"][0][0].ToString(); } if (entities["datetime"] != null) { dynamic dt = entities["datetime"]; if (TimexParser.TryParse(dt, out Timex.Timex timex)) { updaterState.UpdateDateTime = timex; } else { await turnContext.SendActivityAsync($"Can't parse timex expression: {dt}"); } } } } catch (Exception ex) { await turnContext.SendActivityAsync("Error: " + ex.Message); } }