private void AddMessageinCache(MessageDetail _MessageDetail) { CurrentMessage.Add(_MessageDetail); if (CurrentMessage.Count > 100) { CurrentMessage.RemoveAt(0); } }
public void sendPrivateFile(string toUserId, string message) { try { string fromconnectionid = Context.ConnectionId; string strfromUserId = (ConnectedUsers.Where(u => u.ConnectionId == Context.ConnectionId).Select(u => u.UserID).FirstOrDefault()).ToString(); int _fromUserId = 0; int.TryParse(strfromUserId, out _fromUserId); int _toUserId = 0; int.TryParse(toUserId, out _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 ToUser in ToUsers) { // send to //Chat Title Clients.Client(ToUser.ConnectionId).sendPrivateFile(_fromUserId.ToString(), FromUsers[0].UserName, FromUsers[0].UserName, message); } foreach (var FromUser in FromUsers) { // send to caller user //Chat Title Clients.Client(FromUser.ConnectionId).sendPrivateFile(_toUserId.ToString(), FromUsers[0].UserName, ToUsers[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); } } catch { } }