Esempio n. 1
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
            }
        }
Esempio n. 4
0
        /// <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);
            }
        }
Esempio n. 5
0
        /// <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);
            }
        }