public IActionResult SendFaqMessage(UserQueryModel userQueryModel) { Authorize(); if (userQueryModel.UserQuery.ToLower() == "noq0") { return(Ok("100")); } ChatViewModel chatViewModel = new ChatViewModel(); string message = Request.Headers["MessageToSend"]; var conversation = new List <ConversatioMessage>(); conversation.Add(new ConversatioMessage { Message = userQueryModel.UserQuery, SendBy = "user" }); #region Store Conversation if (HttpContext.Session.GetObject("conversationCurrent") != null) { string testHist = !string.IsNullOrEmpty(HttpContext.Session.GetObject("conversationCurrent").ToString()) ? HttpContext.Session.GetObject("conversationCurrent").ToString() : string.Empty; testHist = $"{testHist}-{userQueryModel.UserQuery}"; HttpContext.Session.SetObject("conversationCurrent", testHist.ToString()); if (userQueryModel.UserQuery.ToLower() == "noq10" || userQueryModel.UserQuery.ToLower() == "yesq10") { bool createStatus = _conversationHelper.CreateConversation(new ConversationViewModel { TYPE = "OST", CONVERSDATETIME = DateTime.Now.ToString("dd-mm-yyyy hh:MM:tt"), USERID = CurrentUserId, MESSAGE = testHist }); return(createStatus ? Ok("100") : Ok("999")); } } #endregion WatsonChatbotHelper watsonChatbotHelper = new WatsonChatbotHelper(); OutputData response = watsonChatbotHelper.MessageToCovid19Bot(userQueryModel.UserQuery); if (response.Generic.Count > 0) { foreach (var ob in response.Generic) { if (ob.ResponseType.ToLower() == "text") { conversation.Add(new ConversatioMessage { SendBy = "bot", Message = ob.Text, IsOption = 0 }); } if (ob.ResponseType.ToLower() == "option") { if (ob.Title == "Q0") { conversation.Add(new ConversatioMessage { SendBy = "bot", Message = "Are you ready to Take Test? Choose options carefully!!", IsOption = 1, QuestionNo = ob.Title }); } else { conversation.Add(new ConversatioMessage { SendBy = "bot", Message = ob.Text, IsOption = 1, QuestionNo = ob.Title }); } } } } else { conversation.Add(new ConversatioMessage { SendBy = "bot", Message = response.Text.Count > 0 ? response.Text[0] : "" }); } chatViewModel.ChatHistory = conversation; return(Ok(chatViewModel)); }