public void SetMessageAsRead(string id) { if (ContextInfo == null) { ContextInfo = ContextInfoInitilizer.GetContextInfo(Context.Request.GetHttpContext(), Context.User, Context.QueryString["SessionID"]); } if (ContextInfo.IsUserAuthenticated) { MessageModel messageModel = new MessageModel( );//from ;; this who will recieve read update // MessageModel messageModelTo = new MessageModel();//to ; this how read the message using (MessageBAL messageBAL = new MessageBAL(ContextInfo)) { messageBAL.SetMessageAsRead(id); messageModel.ID = id; messageBAL.GetMessageModel(messageModel, ContextInfo.UserID); // messageBAL.GetMessageModel(messageModelFrom, messageModelTo.FromUserID); //notify the message sender that his message is read by the reader foreach (AspNetUserConnectionModel aspNetUserConnectionModel in messageModel.FromUserModel.AspNetUserConnectionModelList) { Clients.Client(aspNetUserConnectionModel.ConnectionID).ReadMessageUpdated(id); } //notify the reader that the message set as read successfully foreach (AspNetUserConnectionModel aspNetUserConnectionModel in messageModel.ToUserModel.AspNetUserConnectionModelList) { Clients.Client(aspNetUserConnectionModel.ConnectionID).messageSetAsReadSuccessfully(id); Clients.Client(aspNetUserConnectionModel.ConnectionID).updateNotReadCount(messageBAL.GetNotFromMeAndNotReadCountByUserID(messageModel.ToUserID)); } } } }
public MessageModel SendMessage(string toUserID, string messageText) { if (ContextInfo == null) { ContextInfo = ContextInfoInitilizer.GetContextInfo(Context.Request.GetHttpContext(), Context.User, Context.QueryString["SessionID"]); } if (ContextInfo.IsUserAuthenticated) { MessageModel messageModelFrom = new MessageModel(); MessageModel messageModelTo = new MessageModel(); messageModelFrom.ToUserID = toUserID; messageModelFrom.MessageText = messageText; messageModelFrom.FromUserID = ContextInfo.UserID; using (MessageBAL messageBAL = new MessageBAL(ContextInfo)) { messageBAL.Create(messageModelFrom); messageModelTo.ID = messageModelFrom.ID; messageModelFrom.SuccessesList.Clear(); messageBAL.GetMessageModel(messageModelFrom, messageModelFrom.FromUserID); messageBAL.GetMessageModel(messageModelTo, messageModelTo.ToUserID); //notify the sender that the message sent successfully foreach (AspNetUserConnectionModel aspNetUserConnectionModel in messageModelFrom.FromUserModel.AspNetUserConnectionModelList) { Clients.Client(aspNetUserConnectionModel.ConnectionID).messageSentSuccessfully(messageModelFrom); } //notify the reciever that new message sent to him foreach (AspNetUserConnectionModel aspNetUserConnectionModel in messageModelTo.ToUserModel.AspNetUserConnectionModelList) { Clients.Client(aspNetUserConnectionModel.ConnectionID).recieveMessage(messageModelTo); Clients.Client(aspNetUserConnectionModel.ConnectionID).updateNotReadCount(messageBAL.GetNotFromMeAndNotReadCountByUserID(messageModelTo.ToUserID)); } } //this will return to from user return(messageModelFrom); } return(null); }
public JsonResult SendMessage(string toUserID, string messageText) { MessageModel messageModel = new MessageModel(); messageModel.ToUserID = toUserID; messageModel.MessageText = messageText; messageModel.FromUserID = ContextInfo.UserID; using (MessageBAL messageBAL = new MessageBAL(ContextInfo)) { messageBAL.Create(messageModel); messageBAL.GetMessageModel(messageModel, ContextInfo.UserID); } return(Json(new { baseModel = messageModel }, JsonRequestBehavior.AllowGet)); }