Example #1
0
        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));
                    }
                }
            }
        }
Example #2
0
        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));
        }