Esempio n. 1
0
 private void AddMessageinCache(MessageDetail _MessageDetail)
 {
     CurrentMessage.Add(_MessageDetail);
     if (CurrentMessage.Count > 100)
     {
         CurrentMessage.RemoveAt(0);
     }
 }
Esempio n. 2
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 { }
        }
Esempio n. 3
0
        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 { }
        }