Ejemplo n.º 1
0
        public ActionResult CreatConversation()
        {
            var iduser = Convert.ToInt32(Session["PasgoID"]);

            if (System.DateTime.Now < System.DateTime.Today.AddHours(8) || System.DateTime.Now > System.DateTime.Today.AddHours(20))
            {
                TempData["Failed"] = "Hệ thống CSKH hiện đang nghỉ, xin vui lòng liên hệ thời gian làm việc 8:00 - 20:00.";
                return(RedirectToAction("Chat", "ManageAccount"));
            }
            if (CheckUserAuthorize() == true)
            {
                //add exception
                var result = db.AddConversation(iduser).ToList().ElementAt(0);
                if (Convert.ToInt32(result) != 0)
                {
                    TempData["Success"] = "Hội thoại đã được thiết lập!";
                    db.SaveMessage(Convert.ToInt32(result), false, "Xin chào, tôi có thể giúp gì cho bạn?");
                }
                else
                {
                    TempData["Failed"] = "Hệ thống quá tải, xin vui lòng thử lại sau!";
                }
                return(RedirectToAction("Chat", "ManageAccount"));
            }
            return(View("Index", "Home"));
        }
Ejemplo n.º 2
0
        //Handle send message event from Staff side
        public void StaffSend(string namesend, string message, string connectionID, string idconversation)
        {
            var idconn = Convert.ToInt32(idconversation);
            var status = db.Conversations.Where(x => x.IdConversation == idconn).FirstOrDefault().Status;

            if (status == true)
            {
                db.NewMessage(idconn, Convert.ToInt32(connectionID), 1);
                db.SaveMessage(idconn, false, message);
                var allconn = db.getAllConn(Convert.ToInt32(connectionID)).ToList();
                foreach (var item in allconn)
                {
                    //JS from Satff side is different from User side / update code later
                    Clients.Client(item.Conn).addNewMessageToPage(namesend, message);
                }
                Clients.Client(Context.ConnectionId).addNotificationToPage("Đã gửi");
            }
            else
            {
                Clients.Client(Context.ConnectionId).addNotificationToPage("4");
            }
        }