private void AddMessageinCache(MessageDetail _MessageDetail) { CurrentMessage.Add(_MessageDetail); if (CurrentMessage.Count > 100) { CurrentMessage.RemoveAt(0); } }
public void SendPrivateMessage(string toUserId, string message) { try { string fromconnectionid = Context.ConnectionId; string strfromUserId = (ConnectedUsers.Where(u => u.ConnectionId == Context.ConnectionId).Select(u => u.UserID).FirstOrDefault()); string _fromUserId; _fromUserId = strfromUserId; string _toUserId; _toUserId = toUserId; List <UserDetail> FromUsers = ConnectedUsers.Where(u => u.UserID == _fromUserId).ToList(); List <UserDetail> ToUsers = ConnectedUsers.Where(x => x.UserID == _toUserId).ToList(); if (FromUsers.Count != 0 && ToUsers.Count() != 0) { foreach (var FromUser in FromUsers) { // send to caller user //Chat Title Clients.Client(FromUser.ConnectionId).sendPrivateMessage(_toUserId, FromUsers[0].UserName, ToUsers[0].UserName, message); } foreach (var ToUser in ToUsers) { // send to //Chat Title Clients.Client(ToUser.ConnectionId).sendPrivateMessage(_fromUserId, FromUsers[0].UserName, FromUsers[0].UserName, message); } // send to caller user //Clients.Caller.sendPrivateMessage(_toUserId.ToString(), FromUsers[0].UserName, message); //ChatDB.Instance.SaveChatHistory(_fromUserId, _toUserId, message); MessageDetail _MessageDeail = new MessageDetail { FromUserID = _fromUserId, FromUserName = FromUsers[0].UserName, ToUserID = _toUserId, ToUserName = ToUsers[0].UserName, Message = message }; AddMessageinCache(_MessageDeail); AddMessageAsync(toUserId, _fromUserId, message); } } catch { } }
public void SendNotifications(string toUserId) { try { string message = ""; string fromconnectionid = Context.ConnectionId; string strfromUserId = (ConnectedUsers.Where(u => u.ConnectionId == Context.ConnectionId).Select(u => u.UserID).FirstOrDefault()); string _fromUserId; _fromUserId = strfromUserId; string _toUserId; _toUserId = toUserId; List <UserDetail> FromUsers = ConnectedUsers.Where(u => u.UserID == _fromUserId).ToList(); List <UserDetail> ToUsers = ConnectedUsers.Where(x => x.UserID == _toUserId).ToList(); if (FromUsers.Count != 0 && ToUsers.Count() != 0) { foreach (var FromUser in FromUsers) { // send to caller user //Chat Title Clients.Client(FromUser.ConnectionId).receiveNotification(_toUserId, FromUsers[0].UserName, ToUsers[0].UserName, message); } foreach (var ToUser in ToUsers) { // send to //Chat Title message = FromUsers[0].UserName + "liked your photo!"; Clients.Client(ToUser.ConnectionId).receiveNotification(_fromUserId, FromUsers[0].UserName, FromUsers[0].UserName, message); } // send to caller user MessageDetail _MessageDeail = new MessageDetail { FromUserID = _fromUserId, FromUserName = FromUsers[0].UserName, ToUserID = _toUserId, ToUserName = ToUsers[0].UserName, Message = message }; AddMessageinCache(_MessageDeail); } } catch { } }