コード例 #1
0
ファイル: ChatHub.cs プロジェクト: leorrose/College-portal
        public void Send(string userId, string message)
        {
            string connectionId = MyUsers.FirstOrDefault(x => x.Value == userId).Key;
            string userIdFromDict;

            MyUsers.TryGetValue(Context.ConnectionId, out userIdFromDict);

            if (userId == "" || message == "")
            {
                return;
            }
            if (userIdFromDict.Equals(userId))
            {
                Clients.Client(connectionId).appendMessage(userIdFromDict, message);
                return;
            }
            using (ChatDal chatdb = new ChatDal())
            {
                Message newMsg = new Message();
                newMsg.ID         = 1;
                newMsg.senderId   = userIdFromDict;
                newMsg.receiverId = userId;
                newMsg.message    = message;
                newMsg.sendTime   = DateTime.Now.TimeOfDay;
                newMsg.SendDate   = DateTime.Now;
                chatdb.messages.Add(newMsg);
                chatdb.SaveChanges();
            }

            if (connectionId == null)
            {
                return;
            }
            Clients.Client(connectionId).appendMessage(userIdFromDict, message);
        }
コード例 #2
0
 public ActionResult getChats(string senderID, string recieverID)
 {
     /* get all chats between receiver and sender */
     using (ChatDal chatDb = new ChatDal())
     {
         var msgs = chatDb.messages.Where(x => (x.senderId.Equals(senderID) && x.receiverId.Equals(recieverID)) || (x.senderId.Equals(recieverID) && x.receiverId.Equals(senderID))).OrderBy(y =>
                                                                                                                                                                                             y.sendTime).ThenBy(z => z.SendDate).ToList();
         return(Json(msgs, JsonRequestBehavior.AllowGet));
     }
 }