/// <summary> /// 发送给指定用户 /// </summary> /// <param name="userId"></param> /// <param name="context"></param> public static void PushUserMessage(string userId, IHubContext <ChatHub> chatHub) { Repository.MessageRepository repository = new Repository.MessageRepository(); int count = repository.GetUserMessageByCount(int.Parse(userId)); //处理发送消息 MessageData messageData = new MessageData(); messageData.MessageBody = ""; messageData.MessageId = Guid.NewGuid().ToString().Replace("-", ""); messageData.MessageType = MessageType.LineReceipt; messageData.MessageSource = MessageSource.PlatformMessage; messageData.SendUserId = "0"; messageData.SendUserHeadUrl = ""; messageData.SendUserNickName = ""; // var userList = ConnectionManager.ConnectionUsers.Where(x => x.UserId == userId).ToList(); messageData.MessageBody = Convert.ToString(count); var sendMsg = JsonConvert.SerializeObject(messageData); foreach (ConnectionUser user in userList) { messageData.ReceiveUserId = user.UserId; chatHub.Clients.Client(user.ConnectionId).SendAsync("ReceiveMessage", sendMsg); } }
internal static Group createGroupFromDALGroup(CarpoolingDAL.Group g) { Group ng = new Group(); ng.Id = g.idGroup; ng.Name = g.name; ng.StartTime = g.startTime; ng.TotalCost = g.totalCost; ng.Type = createGroupTypeFromDALGType(g.GroupType1); Repository.RouteRepository rr = Repository.RouteRepository.getInstanca(); ng.Route = rr.getRouteById(g.route); ng.DestinationRange = new Range(g.destinationRange); ng.StartRange = new Range(g.startRange); foreach (CarpoolingDAL.GroupMember item in g.GroupMembers) { ng.addGroupMember(createGroupMemberFromDALGroupMember(item)); } Repository.MessageRepository mr = MessageRepository.getInstanca(); foreach (CarpoolingDAL.LeaveAMessage item in g.LeaveAMessages) { ng.addMessage(createMessageFromDALMessage(mr.getMessageById(item.idMessage), ng.getGroupMemberById(item.client))); } return(ng); }
/// <summary> /// 发送给指定用户 /// </summary> /// <param name="userId"></param> /// <param name="context"></param> public static void PushUserMessage(string userId, IHubContext <MessageHub> context) { Repository.MessageRepository repository = new Repository.MessageRepository(); int count = repository.GetUserMessageByCount(int.Parse(userId)); // var userList = SignalRUsers.Where(x => x.UserId == userId).ToList(); foreach (SignalRUser user in userList) { context.Clients.Client(user.ConnectionId).SendAsync("ReceiveMessage", count); } }
/// <summary> /// 发送给新访问用户 /// </summary> /// <param name="userId"></param> /// <param name="hub"></param> public static void PushCurrentUserMessage(string userId, MessageHub hub) { //获取需要发送的数据 Repository.MessageRepository repository = new Repository.MessageRepository(); int count = repository.GetUserMessageByCount(int.Parse(userId)); // var userList = SignalRUsers.Where(x => x.UserId == userId).ToList(); foreach (SignalRUser user in userList) { hub.Clients.Client(user.ConnectionId).SendAsync("ReceiveMessage", count); } }
/// <summary> /// 发送给新访问用户 /// </summary> /// <param name="userId"></param> /// <param name="hub"></param> public static void PushCurrentUserMessage(string userId, ChatHub chatHub, MessageData messageData) { //获取需要发送的数据 Repository.MessageRepository repository = new Repository.MessageRepository(); int count = repository.GetUserMessageByCount(int.Parse(userId)); // var userList = ConnectionManager.ConnectionUsers.Where(x => x.UserId == userId).ToList(); messageData.MessageBody = Convert.ToString(count); var sendMsg = JsonConvert.SerializeObject(messageData); foreach (ConnectionUser user in userList) { chatHub.Clients.Client(user.ConnectionId).SendAsync("ReceiveMessage", sendMsg); } }