示例#1
0
        public void deleteMsg(Guid id)
        {
            using (EasyFindPropertiesEntities dbCtx = new EasyFindPropertiesEntities())
            {
                UnitOfWork unitOfWork = new UnitOfWork(dbCtx);

                if ((Guid)Session["userId"] != null)
                {
                    var userId = (Guid)Session["userId"];
                    var userTo = unitOfWork.User.Get(userId);

                    var message = unitOfWork.Message.Get(id);

                    if (message != null)
                    {
                        MessageTrash messageTrash = new MessageTrash()
                        {
                            UserID       = userId,
                            MessageID    = id,
                            DateTCreated = DateTime.Now
                        };

                        unitOfWork.MessageTrash.Add(messageTrash);
                        unitOfWork.save();

                        //broadcast the new messages to the recipient
                        DashboardHub.BroadcastUserMessages(userTo.Email);
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        /// deletes all messages from a message thread by retrieving all messages
        /// sent to another user and and received from this same user then
        /// adding this list into the message trash. The messages list is refreshed after
        /// </summary>
        /// <param name="unitOfWork"></param>
        /// <param name="userId"></param>
        /// <param name="messageId"></param>
        public static void deleteMsgsFromMsgThread(UnitOfWork unitOfWork, Guid userId, Guid messageId)
        {
            IEnumerable <Message> messagesToBeDeleted = null;

            messagesToBeDeleted = unitOfWork.Message.GetMsgThreadByMsgID(messageId, userId);

            if (messagesToBeDeleted != null)
            {
                foreach (var msg in messagesToBeDeleted)
                {
                    MessageTrash messageTrash = new MessageTrash()
                    {
                        UserID       = userId,
                        MessageID    = msg.ID,
                        DateTCreated = DateTime.Now
                    };

                    unitOfWork.MessageTrash.Add(messageTrash);
                }

                unitOfWork.save();

                //broadcast the new messages to the user
                var userTo = unitOfWork.User.Get(userId).Email;

                DashboardHub.BroadcastUserMessages(userTo);
            }
        }