public static async Task <cleandata> Clean(LUIS data) { cleandata clean = new cleandata(); try { clean.origin = data.entities.Where(b => b.type == "location::fromlocation").FirstOrDefault().entity; } catch { clean.origin = ""; } try { clean.dest = data.entities.Where(b => b.type == "location::tolocation").FirstOrDefault().entity; } catch { clean.dest = ""; } try { string str = data.entities.Where(b => (b.type == "builtin.datetime.date")).FirstOrDefault().resolution.date.Replace("XXXX", "2017"); clean.date = Convert.ToDateTime(str); } catch { clean.date = null; } try { if (DateTime.TryParseExact(data.entities.Where(b => (b.type == "builtin.datetime.time")).FirstOrDefault().resolution.time.Substring(1), "HH", CultureInfo.InvariantCulture, DateTimeStyles.None, out clean.time)) { } else if (DateTime.TryParseExact(data.entities.Where(b => (b.type == "builtin.datetime.time")).FirstOrDefault().resolution.time.Substring(1), "HH:mm", CultureInfo.InvariantCulture, DateTimeStyles.None, out clean.time)) { } else if (DateTime.TryParseExact(data.entities.Where(b => (b.type == "builtin.datetime.time")).FirstOrDefault().resolution.time.Substring(1), "HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out clean.time)) { } //clean.time = DateTime.ParseExact(data.entities.Where(b => (b.type == "builtin.datetime.time")).FirstOrDefault().resolution.time.Substring(1), "HH", CultureInfo.InvariantCulture); } catch { return(clean); } return(clean); }
private static async Task <LUIS> GetEntityFromLUIS(string Query) { Query = Uri.EscapeDataString(Query); LUIS Data = new LUIS(); using (HttpClient client = new HttpClient()) { string RequestURI = "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/0d2edcc2-6e71-42cd-9ea5-26953a8f2300?subscription-key=f96f048c665e40c0b30a50e790a4de2c&timezoneOffset=0.0&verbose=true&q=" + Query; HttpResponseMessage msg = await client.GetAsync(RequestURI); if (msg.IsSuccessStatusCode) { var JsonDataResponse = await msg.Content.ReadAsStringAsync(); Data = JsonConvert.DeserializeObject <LUIS>(JsonDataResponse); } } return(Data); }