public override void MessageProcess(Message message, Microsoft.AspNet.SignalR.IHubContext hucontext) { int orgid = -1; int depid = -1; var ids = message.ReceiveId.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); if (ids.Length == 2) { orgid = Convert.ToInt32(ids[0]); depid = Convert.ToInt32(ids[1]); } else { orgid = Convert.ToInt32(ids[0]); } List <Users> groupuser = null; if (depid == -1) { groupuser = userbll.LoadAll(c => c.OrganId == orgid && c.UserId != message.SendId).ToList(); } else { groupuser = userbll.LoadAll(c => c.OrganId == orgid && c.DepartmentId == depid && c.UserId != message.SendId).ToList(); } groupuser.ForEach(c => { if (MyHub.Usermananger.Contains(c.UserId.ToString())) { return; } DepositHelper.ListRightPush(RedisKeyManager.OfflineGroupMessageQueue(c.UserId.ToString()), message); }); hucontext.Clients.Group(message.ReceiveId.ToString()).receive(new { username = message.SendName, avatar = message.SendHeadPath, type = message.MessageType, id = message.ReceiveId, sendid = message.SendId, content = message.MessageContent, mine = false, timestamp = DateTime.Now }); }
public override void MessageProcess(Message message, Microsoft.AspNet.SignalR.IHubContext hubcontext) { var sendUser = user.Get(c => c.UserId == message.SendId); if (MyHub.Usermananger.Contains(message.ReceiveId.ToString())) { var id = Convert.ToInt32(message.ReceiveId); hubcontext.Clients.User(message.ReceiveId.ToString()).receive(new{ username = message.SendName, avatar = message.SendHeadPath, type = message.MessageType, id = message.SendId, content = message.MessageContent, mine = false, timestamp = DateTime.Now }); } else { DepositHelper.ListRightPush(RedisKeyManager.OfflineMessageQueue(message.ReceiveId.ToString()), message); } }