public void sendToRoomAdmins(int roomid, int senderid, string sender, string msg, string profileImg, int MemberLevelID, int MemberTypeID)
 {
     msg = msg.Replace("<br>", "");
     var resultMsg = new Helper.ChatMessage()
     {
         FromID = senderid,
         ToID = roomid,
         FromName = sender,
         Message = msg,
         MessageDate = DateTime.Now,
         FromProfileImg = profileImg,
         MemberLevel = MemberLevelID,
         MemberTypeID = MemberTypeID
     };
     Clients.Group(GetRoomAdminGroupName(roomid)).getAdminMessage(roomid, resultMsg);
 }
 public void sendPrivateMessage(int toUserId, string message, string profileImg, int MemberTypeID)
 {
     message = message.Replace("<br>", "");
     var toUser = ConnectedUsers.FirstOrDefault(x => x.MemberID == toUserId);
     var fromUser = ConnectedUsers.FirstOrDefault(x => x.ConnectionId == Context.ConnectionId);
     if (toUser != null && fromUser != null)
     {
         var resultMsg = new Helper.ChatMessage()
         {
             FromID = fromUser.MemberID,
             ToID = toUser.MemberID,
             FromName = fromUser.MemberName,
             Message = message,
             MessageDate = DateTime.Now,
             FromProfileImg = profileImg,
             MemberTypeID = MemberTypeID
         };
         // send to
         Clients.Client(toUser.ConnectionId).getPrivateMessage(fromUser.MemberID, resultMsg);
         // send to caller user
         Clients.Caller.getPrivateMessage(toUserId, resultMsg);
     }
     else
     {
         Member friend = new Member();
         friend.LoadByPrimaryKey(toUserId);
         var resultMsg = new Helper.ChatMessage()
         {
             FromName = "",
             Message = "  المستخدم الذى تحاول التحدث معه الان غير موجود اونلاين" + "&nbsp;<a onclick=\"OpenPopup(\'../popuppages/Messages_popup.aspx?t=createmsg&u=" + friend.MemberID.ToString() + "&un=" + friend.UserName + "\',\'الرسائل\');\" class='SendMsg' target='_blank' style='cursor:pointer;'>يمكنك ان ترسل له رساله الان</a>",
             MessageDate = DateTime.Now,
             FromProfileImg = profileImg,
             FromTypeSpecID = 1
         };
         Clients.Caller.getPrivateMessage(toUserId, resultMsg);
     }
 }
        public void sendToRoom(int roomid, int senderid, string sender, string msg, int MemberLevelID, string profileImg, int MemberTypeID, string uniqueID)
        {
            msg = msg.Replace("<br>", "");
            /*RoomMessages messages = new RoomMessages();
            messages.AddNew();
            messages.RoomID = roomid;
            messages.Message = msg;
            messages.MemberID = senderid;
            messages.MessageDate = DateTime.Now;
            messages.MemberLevel = MemberLevelID;
            messages.Save();

            var resultMsg = new Helper.ChatMessage()
            {
                ID = messages.ID,
                FromID = messages.MemberID,
                ToID = messages.RoomID,
                FromName = sender,
                Message = messages.Message,
                MessageDate = messages.MessageDate,
                MemberLevel = MemberLevelID
            };*/

            var resultMsg = new Helper.ChatMessage()
            {
                FromID = senderid,
                ToID = roomid,
                FromName = sender,
                Message = msg,
                MessageDate = DateTime.Now,
                MemberLevel = MemberLevelID,
                FromProfileImg = profileImg,
                MemberTypeID = MemberTypeID
            };
            if (uniqueID.Contains("Room"))
                Clients.Group(roomid.ToString()).getMessage(roomid, resultMsg, uniqueID);
            else if (uniqueID.Contains("Private"))
            {
                var toUser = ConnectedUsers.FirstOrDefault(x => x.MemberID == roomid);
                var fromUser = ConnectedUsers.FirstOrDefault(x => x.ConnectionId == Context.ConnectionId);

                Clients.Client(toUser.ConnectionId).getMessage(roomid, resultMsg, uniqueID);
                Clients.Client(fromUser.ConnectionId).getMessage(roomid, resultMsg, uniqueID);
            }
        }
 public bool SendPrivateMsg(string toIds, string msg)
 {
     string[] ToMembers = toIds.Split(',');
     IHubContext _Rcontext = GlobalHost.ConnectionManager.GetHubContext<ChatRoomHub>();
     try
     {
         var sender = ChatRoomHub.ConnectedUsers.FirstOrDefault(u => u.MemberID == BLL.Member.CurrentMemberID);
         for (int i = 0; i < ToMembers.Length; i++)
         {
             var receipent=ChatRoomHub.ConnectedUsers.FirstOrDefault(u => u.MemberID.ToString() == ToMembers[i]);
             if (receipent == null)
                 continue;
             var resultMsg = new Helper.ChatMessage()
             {
                 FromID = sender.MemberID,
                 ToID = receipent.MemberID,
                 FromName = sender.MemberName,
                 Message = msg,
                 MessageDate = DateTime.Now,
                 FromProfileImg = sender.ProfilePic,
                 MemberTypeID = sender.MemberTypeSpecID
             };
             _Rcontext.Clients.Group(receipent.MemberName).getPrivateMessage(sender.MemberID, resultMsg);
         }
     }
     catch (Exception ex)
     {
         return false;
     }
     return true;
 }