protected async Task <string> sendNotificationEnlishVoca(List <int> listIdWord, string messID) { //ChatfuelJson jsonMessenger = new ChatfuelJson(); //MessJson messExplaintion = new MessJson(); //MessJson messPron = new MessJson(); //MessJson messVietnamese = new MessJson(); //AttachmentJson sound = new AttachmentJson(); // jsonMessenger.recipient.id = messID; // bool isCheck = false; foreach (var idWord in listIdWord) { isCheck = true; JsonMessengerText jsonTextMessenger = new JsonMessengerText(); MessJson messExplaintion = new MessJson(); jsonTextMessenger.recipient.id = messID; JsonMessengerText jsonSoundMessenger = new JsonMessengerText(); jsonSoundMessenger.recipient.id = messID; AttachmentJson sound = new AttachmentJson(); var tempWord = _dictCache.GetById(idWord); var infoVoca = _dictCache.findWordCache(tempWord.VocaID); messExplaintion.text = infoVoca.VocaID; messExplaintion.text += "\r\n" + infoVoca.Pron; messExplaintion.text += "\r\n" + infoVoca.MeanEn; messExplaintion.text += "\r\n" + infoVoca.MeanVi; sound.attachment.payload.url = infoVoca.SoundUrl; // jsonTextMessenger.message = messExplaintion; jsonSoundMessenger.message = sound; // string temp = JsonConvert.SerializeObject(jsonTextMessenger); temp = JsonConvert.SerializeObject(jsonSoundMessenger); PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); PostRaw("", JsonConvert.SerializeObject(jsonSoundMessenger)); } if (isCheck) { FBPostNoti newNoti = new FBPostNoti(); newNoti.recipient.id = messID; newNoti.message.attachment.payload.text = "Luyện tập nào !"; NotiButton button = new NotiButton(); button.title = "Start"; button.payload = "LUYENTAP"; newNoti.message.attachment.payload.buttons.Add(button); PostRaw("", JsonConvert.SerializeObject(newNoti)); } //HttpClient client = new HttpClient(); //client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); //if (isCheck) // await client.PostAsync("https://api.chatfuel.com/bots/59a43f64e4b03a25b73c0ebd/users/" + messID + "/" + "send?chatfuel_token=vnbqX6cpvXUXFcOKr5RHJ7psSpHDRzO1hXBY8dkvn50ZkZyWML3YdtoCnKH7FSjC&chatfuel_block_id=5a3fc60de4b037186c58ec99", null); return(""); }
public async Task <string> ToeicQues(string content, string idmessenger) { ChatfuelJson result = new ChatfuelJson(); MessJson messPron = new MessJson(); MessJson messPron2 = new MessJson(); var userMakeQues = _service.listUserID().Where(x => x.Id_Messenger == idmessenger).ToList(); if (userMakeQues.Count != 0) { Post newPost = new Model.Post(); newPost.Content = content; newPost.DatePost = DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds.ToString(); newPost.Id_User = userMakeQues.FirstOrDefault().Id; newPost.Id_Type = 8; // TOIEC //Send lên nhóm fb { //post to fb toiec //Gửi cho admin trước khi dc duyệt // //var IdPost = await _fbService.PostingToGroupFB(newPost.Content); // newPost.Id_PostFB = IdPost.id; } _postService.Add(newPost); _postService.Save(); await NotifyForAdminToApprove(newPost.Id); //Send notify List <ApplicationUser> userSubQues = getNormalUserBasedOnType(newPost); foreach (var itemUser in userSubQues) { await sendNofityToMessenger(newPost, itemUser); HaveSendQuestion haveSendQues = new HaveSendQuestion(); haveSendQues.QuesID = newPost.Id; haveSendQues.UserID = itemUser.Id; haveSendQues.Status = false; haveSendQues.Protected = false; _haveSendQuesService.Add(haveSendQues); _haveSendQuesService.Save(); } messPron.text = "Câu hỏi của bạn đã được gửi đi cho mọi người !"; result.messages.Add(messPron); // messPron2.text = "https://www.facebook.com/" + newPost.Id_PostFB; //result.messages.Add(messPron2); return(JsonConvert.SerializeObject(result)); } else { messPron.text = "Hình như bạn chưa có tài khoản trên Olympus English"; result.messages.Add(messPron); return(JsonConvert.SerializeObject(result)); } }
public static void sendTextMeg(string idMess, string contain) { MessJson messExplaintionDict = new MessJson(); messExplaintionDict.text = contain; JsonMessengerText jsonTextMessenger = new JsonMessengerText(); jsonTextMessenger.recipient.id = idMess; jsonTextMessenger.message = messExplaintionDict; sendRequest(JsonConvert.SerializeObject(jsonTextMessenger)); }
public async Task <string> replayDirectly(string idques, string ketqua, string idmessenger) { // ChatfuelJson result = new ChatfuelJson(); MessJson messPron = new MessJson(); // bool checkGio = false; int idQuestion = int.Parse(idques); var currentPost = _postService.GetById(idQuestion); var userId = _service.listUserID().Where(x => x.Id_Messenger == idmessenger).FirstOrDefault().Id; //Kiem tra xem con thoi gian tra loi hay ko var sendQues = _haveSendQuesService.GetAll().Where(x => x.QuesID == idQuestion && x.UserID == userId).ToList().FirstOrDefault(); if (sendQues != null) { int tempMinute = TimeSetting.LimitMinuteForPost(); var timePost = sendQues.CreatedDate.Value.AddMinutes(tempMinute).Ticks; var timeCurrent = DateTime.Now.AddMinutes(-5).Ticks; if (timePost < timeCurrent) { checkGio = true; } else { currentPost.Post_Status = 10; Comment comment = new Comment(); comment.Corrected = false; comment.Content = ketqua; comment.Id_User = userId; comment.Id_Post = idQuestion; comment.DateComment = DateTime.Now.Ticks.ToString(); _commentOfPost.Add(comment); _commentOfPost.Save(); _postService.Update(currentPost); _postService.Save(); messPron.text = "Cám ơn bạn đã phản hồi"; result.messages.Add(messPron); await notifyForUserAboutQues(idQuestion); return(JsonConvert.SerializeObject(result)); } } // // currentPost.Post_Status = 1; // _postService.Update(currentPost); //_postService.Save(); // DateTime messPron.text = "Hết hạn trả lời, cảm ơn bạn đã quan tâm"; result.messages.Add(messPron); return(JsonConvert.SerializeObject(result)); }
public string verifyToken() { try { MessJson messPron = new MessJson(); var userInfo = _service.GetUserById(User.Identity.GetUserId()); messPron.text = userInfo.LastName + " " + userInfo.FirstName; return(JsonConvert.SerializeObject(messPron)); } catch { return(""); } }
public async Task <string> ApprovedQuestion(string idques) { ChatfuelJson result = new ChatfuelJson(); MessJson messPron = new MessJson(); result.messages.Add(messPron); var currentPost = _postService.GetById(int.Parse(idques)); var IdPost = await _fbService.PostingToGroupFB(currentPost.Content); currentPost.Id_PostFB = IdPost.id; _postService.Update(currentPost); _postService.Save(); //Notify for user, this question is approved by admin await NotifyForUser(currentPost.Id); // messPron.text = "Thành công"; return(JsonConvert.SerializeObject(result)); }
//make question directly from Messenger public async Task <string> IeltsQues(string content, string messengerid) { ChatfuelJson result = new ChatfuelJson(); MessJson messPron = new MessJson(); var userMakeQues = _service.listUserID().Where(x => x.Id_Messenger == messengerid).ToList(); if (userMakeQues.Count != 0) { Post newPost = new Model.Post(); newPost.Content = content; newPost.DatePost = DateTime.Now.Ticks.ToString(); newPost.Id_User = userMakeQues.FirstOrDefault().Id; newPost.Id_Type = 9; // TOIEC _postService.Add(newPost); _postService.Save(); //Send notify List <ApplicationUser> userSubQues = getNormalUserBasedOnType(newPost); foreach (var itemUser in userSubQues) { await sendNofityToMessenger(newPost, itemUser); HaveSendQuestion haveSendQues = new HaveSendQuestion(); haveSendQues.QuesID = newPost.Id; haveSendQues.UserID = itemUser.Id; haveSendQues.Status = false; haveSendQues.Protected = false; _haveSendQuesService.Add(haveSendQues); _haveSendQuesService.Save(); } messPron.text = "Câu hỏi của bạn đã được gửi đi cho mọi người"; result.messages.Add(messPron); return(JsonConvert.SerializeObject(result)); } else { messPron.text = "Hình như bạn chưa có tài khoản trên Olympus English"; result.messages.Add(messPron); return(JsonConvert.SerializeObject(result)); } }
public string busyNotReplay(string idques, string idmessenger) { ChatfuelJson result = new ChatfuelJson(); MessJson messPron = new MessJson(); // bool isHetGio = false; int idQuestion = int.Parse(idques); var currentPost = _postService.GetById(idQuestion); var userId = _service.listUserID().Where(x => x.Id_Messenger == idmessenger).FirstOrDefault().Id; //Kiem tra xem con thoi gian tra loi hay ko var sendQues = _haveSendQuesService.GetAll().Where(x => x.QuesID == idQuestion && x.UserID == userId).ToList().FirstOrDefault(); if (sendQues != null && currentPost.Post_Status != 10) { var timePost = sendQues.CreatedDate.Value.AddMinutes(TimeSetting.LimitMinuteForPost()).Ticks; var timeCurrent = DateTime.Now.Ticks; if (timePost < timeCurrent) { isHetGio = true; } } else { messPron.text = "Câu hỏi không tồn tại hoặc đã trả lời"; result.messages.Add(messPron); return(JsonConvert.SerializeObject(result)); } if (!isHetGio) { messPron.text = "Bạn đã bỏ qua câu hỏi số :" + idques; currentPost.CreatedDate = DateTime.Now.AddMinutes(-TimeSetting.LimitMinuteForPost()); _postService.Update(currentPost); _postService.Save(); result.messages.Add(messPron); return(JsonConvert.SerializeObject(result)); } messPron.text = "Hết giờ hoặc đã trả lời"; result.messages.Add(messPron); return(JsonConvert.SerializeObject(result)); }
public ActionResult ReceivePost(BotRequest data) { try { string strResult = data.entry.FirstOrDefault().messaging.FirstOrDefault().message.quick_reply.payload; string idMess = data.entry.FirstOrDefault().messaging.FirstOrDefault().sender.id; if (strResult == "True") { try { JsonMessengerText jsonTextMessenger = new JsonMessengerText(); jsonTextMessenger.recipient.id = idMess; MessJson messExplaintion = new MessJson(); messExplaintion.text = "Chính xác"; jsonTextMessenger.message = messExplaintion; PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); //isContinue = 2; //Update status UpdateLiteDb(jsonTextMessenger.recipient.id, 2); } catch { } } else if (strResult == "False") { try { JsonMessengerText jsonTextMessenger = new JsonMessengerText(); jsonTextMessenger.recipient.id = idMess; MessJson messExplaintion = new MessJson(); messExplaintion.text = "Sai rồi, bạn vui lòng làm lại nha!"; jsonTextMessenger.message = messExplaintion; PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); // isContinue = 1; UpdateLiteDb(jsonTextMessenger.recipient.id, 1); } catch { } } } catch { //try //{ // if (data.entry.FirstOrDefault().messaging.FirstOrDefault().message == null) // { // JsonMessengerText jsonTextMessenger = new JsonMessengerText(); // jsonTextMessenger.recipient.id = data.entry.FirstOrDefault().messaging.FirstOrDefault().sender.id; // MessJson messExplaintion = new MessJson(); // messExplaintion.text = "Có lỗi xay ra, mong bạn thông cảm !"; // jsonTextMessenger.message = messExplaintion; // PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); // isContinue = 1; // } //} //catch //{ //} } return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public async Task <string> multiplechoiceOnline(string id) { try { int numberTrue = 0; int numberFalse = 0; MessJson messExplaintion = new MessJson(); messExplaintion.text = ""; //create using (var db = new LiteDatabase(System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/OneData.db"))) { var items = db.GetCollection <Item>("items"); var item = items.FindOne(i => i.Id_Messenger == id); //Create new item if (item == null) { Item newItem = new Item(); newItem.Id_Messenger = id; newItem.Status = 0; items.Insert(newItem); } } // List <int> randDomPost = randomPosition(); List <TracNghiem> dataTracNghiem = new List <TracNghiem>(); List <int> listIDWord = new List <int>(); var currentUser = _service.listUserID().Where(x => x.Id_Messenger == id.ToString()).FirstOrDefault(); listIDWord = _detailOutWordService.listIdOutWord(currentUser.Id, -1); foreach (var idWord in listIDWord) { dataTracNghiem.Add(RandomTracNghiemChoVoca(idWord)); } int m_countQues = 0; bool isBreak = false; //Gửi đi từng question while (true) { UpdateLiteDb(id, 0); JsonMessengerText jsonMessenger = new JsonMessengerText(); jsonMessenger.recipient.id = id; //tao 1 cau trac nghiem gui cho messenger MessageQuick messQuick = new MessageQuick(); try { messQuick.text = dataTracNghiem[m_countQues].Question; } catch { isBreak = true; break; } for (int i = 0; i < 4; i++) { QuickReplyMess replay = new QuickReplyMess(); replay.payload = dataTracNghiem[m_countQues].ABCD[i].Checked.ToString(); replay.title = ToTitleCase(dataTracNghiem[m_countQues].ABCD[i].Contain); messQuick.quick_replies.Add(replay); } jsonMessenger.message = messQuick; //send di var temp = JsonConvert.SerializeObject(jsonMessenger); PostRaw("", JsonConvert.SerializeObject(jsonMessenger)); int countTime = 0; int isContinue = 0; while (isContinue == 0) { Task.WaitAll(Task.Delay(1000)); using (var db = new LiteDatabase(System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/OneData.db"))) { // Get a collection (or create, if not exits) var col = db.GetCollection <Item>("items"); isContinue = col.FindOne(x => x.Id_Messenger == id).Status; } //Dap an sai if (isContinue == 1) { _detailOutWordService.SetNextTime(dataTracNghiem[m_countQues].IdWord, 15, 5); //m_countQues++; numberFalse++; // isContinue = 0; break; } //Dap an dung else if (isContinue == 2) { m_countQues++; numberTrue++; if (m_countQues > dataTracNghiem.Count()) { isBreak = true; } break; } //het gio if (countTime > 10) { //Update status UpdateLiteDb(id, 0); // m_countQues = dataTracNghiem.Count; countTime = 0; break; // m_countQues--; } countTime++; } if (isBreak) { break; } } JsonMessengerText jsonTextMessenger = new JsonMessengerText(); jsonTextMessenger.recipient.id = id; messExplaintion.text = "Hết giờ! Chúc bạn học tốt!!! " + "\r\n" + "Số câu đúng: " + numberTrue.ToString() + "\r\n" + "Số câu sai: " + numberFalse.ToString(); jsonTextMessenger.message = messExplaintion; PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); // return(""); } catch (Exception e) { return(e.Message); } }
public async Task <string> searchDictViaBot(string contain, string id = "1554844547918927", string userid = null) { bool multiLetters = false; contain = contain.ToString().ToLower().Trim(); //Tim trong cache nếu ko có thì request crawler var dictTemp = _dictCache.findWordCache(contain); //post // bool isSaveCached = true; DictCache cacheDict = new DictCache(); OxfordDict dict = new OxfordDict(); GoogleTrans googleTransJson = new GoogleTrans(); GoogleTrans detailVietnamese = new GoogleTrans(); //Explain main of letter MessJson messExplaintion = new MessJson(); //Pron MessJson messPron = new MessJson(); //Vietnamese MessJson messVietnamese = new MessJson(); // ChatfuelJson hello = new ChatfuelJson(); AttachmentJson sound = new AttachmentJson(); sound.attachment.type = "audio"; Attachment2 attach = new Attachment2(); //Json is returned Customer AttachmentJson soundDic = new AttachmentJson(); MessJson messExplaintionDict = new MessJson(); MessJson resultGoogle = new MessJson(); // JsonMessengerText jsonTextMessenger = new JsonMessengerText(); jsonTextMessenger.recipient.id = id; JsonMessengerText jsonSoundMessenger = new JsonMessengerText(); jsonSoundMessenger.recipient.id = id; messExplaintionDict.text += "*" + ToTitleCase(contain) + "*"; Payload2 payload = new Payload2(); // if (dictTemp != null) { messPron.text = dictTemp.Pron; messExplaintion.text = dictTemp.MeanEn; messVietnamese.text = dictTemp.MeanVi; sound.attachment.payload.url = dictTemp.SoundUrl; // messExplaintionDict.text += "\r\n" + dictTemp.Pron; messExplaintionDict.text += "\r\n" + dictTemp.MeanEn; messExplaintionDict.text += "\r\n" + dictTemp.MeanVi; soundDic.attachment.payload.url = dictTemp.SoundUrl; } else { int size = contain.Split(' ').Length; if (size > 1) { multiLetters = true; googleTransJson = await _clientDictionaryService.startGoogleTrans(contain); foreach (var sentence in googleTransJson.sentences) { messExplaintion.text += sentence.trans; resultGoogle.text += sentence.trans; } // resultGoogle.text = googleTransJson.sentences[0].trans; //messExplaintionDict.text +="\r\n" + googleTransJson.sentences[0].trans; } else { try { dict = await _clientDictionaryService.startCrawlerOxford(contain); messPron.text = dict.m_Pron; messExplaintion.text = dict.m_Explanation.First().m_UseCase; // messExplaintionDict.text += "\r\n" + dict.m_Pron; messExplaintionDict.text += "\r\n" + dict.m_Explanation.First().m_UseCase; } catch { isSaveCached = false; messExplaintion.text = contain; messExplaintionDict.text += "\r\n" + contain; } try { detailVietnamese = await _clientDictionaryService.startGoogleDetailTrans(contain); } catch { detailVietnamese = null; } try { messVietnamese.text = detailVietnamese.dict.First().pos + ": "; foreach (var item in detailVietnamese.dict.First().terms) { messVietnamese.text += item + ", "; } messExplaintionDict.text += "\r\n" + messVietnamese.text; } catch { isSaveCached = false; messVietnamese.text = detailVietnamese.sentences.FirstOrDefault().trans; messExplaintionDict.text += "\r\n" + detailVietnamese.sentences.FirstOrDefault().trans; } } sound.attachment.payload.url = dict.m_SoundUrl; soundDic.attachment.payload.url = dict.m_SoundUrl; //Add database cacheDict = new DictCache(); cacheDict.VocaID = contain; cacheDict.Pron = messPron.text; cacheDict.MeanEn = messExplaintion.text; cacheDict.MeanVi = messVietnamese.text; cacheDict.SoundUrl = dict.m_SoundUrl; _dictCache.Add(cacheDict); if (isSaveCached) { _dictCache.Save(); } dictTemp = cacheDict; } //DetailOurWord detailWord = _detailOutWordService.findDetailOurWord(userid, dictTemp.Id); //if (detailWord == null) //{ // hello.Selected = false; //} //else //{ // hello.Selected = true; //} hello.messages.Add(messPron); hello.messages.Add(messVietnamese); hello.messages.Add(messExplaintion); hello.messages.Add(sound); try { hello.strVoca = ToTitleCase(contain); ApplicationUser currentUser = _service.listUserID().Where(x => x.Id_Messenger == id).FirstOrDefault(); NotificationHub.sendNoti(currentUser.Email, JsonConvert.SerializeObject(hello)); } catch { } if (multiLetters) { jsonTextMessenger.message = messExplaintionDict; jsonSoundMessenger.message = resultGoogle; PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); PostRaw("", JsonConvert.SerializeObject(jsonSoundMessenger)); return(""); } jsonTextMessenger.message = messExplaintionDict; jsonSoundMessenger.message = soundDic; PostRaw("", JsonConvert.SerializeObject(jsonTextMessenger)); PostRaw("", JsonConvert.SerializeObject(jsonSoundMessenger)); return(JsonConvert.SerializeObject(hello)); }
public async Task <string> getDictToExtension(string contain) { bool isVN = false; string userid = User.Identity.GetUserId(); contain = contain.ToString().ToLower().Trim(); DictCache dictTemp = new DictCache(); //Tim trong cache nếu ko có thì request crawler try { dictTemp = _dictCache.findWordCache(contain); } catch (Exception e) { } //post // bool isSaveCached = true; DictCache cacheDict; OxfordDict dict = new OxfordDict(); GoogleTrans googleTransJson = new GoogleTrans(); GoogleTrans detailVietnamese = new GoogleTrans(); //Explain main of letter MessJson messExplaintion = new MessJson(); //Pron MessJson messPron = new MessJson(); //Vietnamese MessJson messVietnamese = new MessJson(); // ChatfuelJson hello = new ChatfuelJson(); AttachmentJson sound = new AttachmentJson(); sound.attachment.type = "audio"; Attachment2 attach = new Attachment2(); if (contain.LastOrDefault() == '.') { messPron.text = ""; hello.messages.Add(messPron); return(JsonConvert.SerializeObject(hello)); } Payload2 payload = new Payload2(); // if (dictTemp != null) { messPron.text = dictTemp.Pron; messExplaintion.text = dictTemp.MeanEn; messVietnamese.text = dictTemp.MeanVi; sound.attachment.payload.url = dictTemp.SoundUrl; } else { int size = contain.Split(' ').Length; if (size > 1) { isSaveCached = false; googleTransJson = await _clientDictionaryService.startGoogleTrans(contain); hello.strVietnamese = googleTransJson.src; if (googleTransJson.src == "vi") { isVN = true; } messExplaintion.text = googleTransJson.sentences[0].trans; } else { try { dict = await _clientDictionaryService.startCrawlerOxford(contain); messPron.text = dict.m_Pron; messExplaintion.text = dict.m_Explanation.First().m_UseCase; } catch { isSaveCached = false; messExplaintion.text = contain; } detailVietnamese = await _clientDictionaryService.startGoogleDetailTrans(contain); hello.strVietnamese = detailVietnamese.src; if (detailVietnamese.src == "vi") { isVN = true; } try { messVietnamese.text = detailVietnamese.dict.First().pos + ": "; foreach (var item in detailVietnamese.dict.First().terms) { messVietnamese.text += item + ", "; } } catch { isSaveCached = false; messVietnamese.text = detailVietnamese.sentences.FirstOrDefault().trans; } } sound.attachment.payload.url = dict.m_SoundUrl; //Add database cacheDict = new DictCache(); cacheDict.VocaID = contain; cacheDict.Pron = messPron.text; cacheDict.MeanEn = messExplaintion.text; cacheDict.MeanVi = messVietnamese.text; cacheDict.SoundUrl = dict.m_SoundUrl; _dictCache.Add(cacheDict); if (isSaveCached) { _dictCache.Save(); } dictTemp = cacheDict; } DetailOurWord detailWord = _detailOutWordService.findDetailOurWord(userid, dictTemp.Id); if (detailWord == null) { hello.Selected = false; } else { hello.Selected = true; } hello.messages.Add(messPron); hello.messages.Add(messVietnamese); hello.messages.Add(messExplaintion); hello.messages.Add(sound); if (isVN) { return(null); } return(JsonConvert.SerializeObject(hello)); }
public async Task <string> callChatBot(string contain, string id, string userid) { contain = contain.ToString().ToLower().Trim(); //Tim trong cache nếu ko có thì request crawler var dictTemp = _dictCache.findWordCache(contain); //post // bool isSaveCached = true; DictCache cacheDict = new DictCache(); OxfordDict dict = new OxfordDict(); GoogleTrans googleTransJson = new GoogleTrans(); GoogleTrans detailVietnamese = new GoogleTrans(); //Explain main of letter MessJson messExplaintion = new MessJson(); //Pron MessJson messPron = new MessJson(); //Vietnamese MessJson messVietnamese = new MessJson(); // ChatfuelJson hello = new ChatfuelJson(); AttachmentJson sound = new AttachmentJson(); sound.attachment.type = "audio"; Attachment2 attach = new Attachment2(); if (contain.LastOrDefault() == '.') { messPron.text = ""; hello.messages.Add(messPron); return(JsonConvert.SerializeObject(hello)); } Payload2 payload = new Payload2(); // if (dictTemp != null) { messPron.text = dictTemp.Pron; messExplaintion.text = dictTemp.MeanEn; messVietnamese.text = dictTemp.MeanVi; sound.attachment.payload.url = dictTemp.SoundUrl; } else { int size = contain.Split(' ').Length; if (size > 1) { googleTransJson = await _clientDictionaryService.startGoogleTrans(contain); messExplaintion.text = googleTransJson.sentences[0].trans; } else { try { dict = await _clientDictionaryService.startCrawlerOxford(contain); messPron.text = dict.m_Pron; messExplaintion.text = dict.m_Explanation.First().m_UseCase; } catch { isSaveCached = false; messExplaintion.text = contain; } detailVietnamese = await _clientDictionaryService.startGoogleDetailTrans(contain); try { messVietnamese.text = detailVietnamese.dict.First().pos + ": "; foreach (var item in detailVietnamese.dict.First().terms) { messVietnamese.text += item + ", "; } } catch { isSaveCached = false; messVietnamese.text = detailVietnamese.sentences.FirstOrDefault().trans; } } sound.attachment.payload.url = dict.m_SoundUrl; //Add database cacheDict = new DictCache(); cacheDict.VocaID = contain; cacheDict.Pron = messPron.text; cacheDict.MeanEn = messExplaintion.text; cacheDict.MeanVi = messVietnamese.text; cacheDict.SoundUrl = dict.m_SoundUrl; _dictCache.Add(cacheDict); if (isSaveCached) { _dictCache.Save(); } dictTemp = cacheDict; } DetailOurWord detailWord = _detailOutWordService.findDetailOurWord(userid, dictTemp.Id); if (detailWord == null) { hello.Selected = false; } else { hello.Selected = true; } hello.messages.Add(messPron); hello.messages.Add(messVietnamese); hello.messages.Add(messExplaintion); hello.messages.Add(sound); try { hello.strVoca = ToTitleCase(contain); ApplicationUser currentUser = _service.listUserID().Where(x => x.Id_Messenger == id).FirstOrDefault(); NotificationHub.sendNoti(currentUser.Email, JsonConvert.SerializeObject(hello)); } catch { } return(JsonConvert.SerializeObject(hello)); }