public async Task <IActionResult> Index() { #region ReadJSON //var jsonData = await new StreamReader(Request.Body).ReadToEndAsync(); //return Json(new {speech = jsonData}); #endregion try { var jsonString = await new StreamReader(Request.Body).ReadToEndAsync(); dynamic request = JsonConvert.DeserializeObject(jsonString); try { //Check if cancel request if (request.result.metadata.intentName == "shop.test.api.BuyReq.cancel") { SessionStorageHelper.RemoveAllById(GetMessengerSenderId(request)); return(Json(new{})); } //Buy request if (request.result.resolvedQuery == "test api" || request.result.contexts[0].name == "buystep") { return(await new BuyReqHandler(this, request, _mailContent).Result()); } } catch (Exception e) { // ReSharper disable once PossibleIntendedRethrow return(Json(new { speech = e.Message + e.StackTrace + jsonString })); } return(Json(new { speech = "CutieBot chưa hiểu câu hỏi của bạn. Xin hãy đợi nhân viên chúng mình tiếp nhận để trả lời bạn sớm nhất" })); } catch (Exception e) { return(Json(new { speech = e.InnerException.Message + e.InnerException.StackTrace })); } }
protected ChatHandler(Controller receiver, dynamic request) { Storage = new SessionStorageHelper(this); Receiver = receiver; Request = request; }