Esempio n. 1
0
        /// <summary>
        /// 添加回复
        /// </summary>
        /// <param name="postsId"></param>
        /// <param name="contents"></param>
        /// <returns></returns>
        public bool AddAnswer(int postsId, string contents, string title)
        {
            bool result = false;

            if (!string.IsNullOrEmpty(contents))
            {
                PostsRepository repository = new PostsRepository();
                //
                Entity.m_PostsAnswer model = new Entity.m_PostsAnswer();
                model.CommentsCount = 0;
                model.Contents      = contents;
                model.IsShow        = true;
                model.Plus          = 0;
                model.PostDate      = DateTime.Now;
                model.PostsId       = postsId;
                model.UserId        = Framework.Core.Transform.GetInt(HttpContext.Session.GetString("UserId"), 0);
                //消息实体
                Entity.m_Message message = new Entity.m_Message();
                message.AppendUserId = model.UserId;
                message.Contents     = Common.MessageHtml.GetMessageContent(HttpContext.Session.GetString("NickName"), postsId, title, 10);
                message.IsRead       = false;
                message.MessageType  = 10;
                message.ObjId        = postsId;
                message.PostDate     = DateTime.Now;
                message.UserId       = repository.GetPostsByUserId(postsId);
                //保存
                result = repository.AddAnswer(model, message);
                if (result)
                {
                    Extensions.SignalRCore.PushUserMessage(message.UserId.ToString(), _messageHubContext);
                }
            }
            return(result);
        }
Esempio n. 2
0
        public int AddCommentsPlus(int commentId, int postsId, string title)
        {
            PostsRepository repository = new PostsRepository();

            Entity.m_PostsCommentsRecords model = new Entity.m_PostsCommentsRecords();
            model.CommentId   = commentId;
            model.AppendTime  = DateTime.Now;
            model.RecordsType = 1;
            model.UserId      = Framework.Core.Transform.GetInt(HttpContext.Session.GetString("UserId"), 0);
            //消息通知
            Entity.m_Message message = new Entity.m_Message();
            message.AppendUserId = model.UserId;
            message.Contents     = Common.MessageHtml.GetMessageContent(HttpContext.Session.GetString("NickName"), postsId, title, 14);
            message.IsRead       = false;
            message.MessageType  = 14;
            message.ObjId        = postsId;
            message.PostDate     = DateTime.Now;
            message.UserId       = repository.GetPostsCommentsByUserId(commentId);

            int resultCount = repository.AddCommentsRecordsByPlus(model, message);

            //消息推送
            if (resultCount > 0)
            {
                Extensions.SignalRCore.PushUserMessage(message.UserId.ToString(), _messageHubContext);
            }
            return(resultCount);
        }
Esempio n. 3
0
        public int AddUserPlus(int objectId, string title, int plusType, int toUserId, int id = 0)
        {
            UserRepository repository = new UserRepository();

            Entity.m_UserPlusRecords model = new Entity.m_UserPlusRecords();
            model.ObjectId    = objectId;
            model.AppendTime  = DateTime.Now;
            model.RecordsType = plusType;
            model.UserId      = Framework.Core.Transform.GetInt(HttpContext.Session.GetString("UserId"), 0);
            //
            int messageType = 0;

            switch (model.RecordsType.Value)
            {
            case 1:
                messageType = 12;
                break;

            case 2:
                messageType = 13;
                break;

            case 3:
                messageType = 14;
                break;

            case 4:
                messageType = 20;
                break;

            case 5:
                messageType = 21;
                break;
            }
            //消息通知
            Entity.m_Message message = new Entity.m_Message();
            message.AppendUserId = model.UserId;
            message.Contents     = Common.MessageHtml.GetMessageContent(HttpContext.Session.GetString("NickName"), objectId, title, messageType, id);
            message.IsRead       = false;
            message.MessageType  = messageType;
            message.ObjId        = objectId;
            message.PostDate     = DateTime.Now;
            message.UserId       = toUserId;
            //消息推送
            int resultCount = repository.AddUserPlusRecords(model, message);

            if (resultCount > 0)
            {
                Extensions.SignalRCore.PushUserMessage(message.UserId.ToString(), _messageHubContext);
            }
            return(resultCount);
        }
Esempio n. 4
0
        /// <summary>
        /// 添加帖子内容点赞
        /// </summary>
        /// <param name="model"></param>
        /// <returns>-1 表示取消点赞 1表示增加点赞 0表示异常</returns>
        public int AddPostsRecordsByPlus(Entity.m_PostsRecords model, Entity.m_Message message)
        {
            int result = 0;
            //加载是否已经存在点赞记录
            var queryCount = _dbContext.m_PostsRecords.Where(m => m.PostsId == model.PostsId && m.UserId == model.UserId).Count();

            using (var tran = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    if (queryCount > 0)
                    {
                        //存在则撤回点赞记录
                        _dbContext.MangoRemove <Entity.m_PostsRecords>(m => m.PostsId == model.PostsId && m.UserId == model.UserId);
                        //
                        _dbContext.MangoUpdate <Entity.m_Posts>(m => m.PlusCount == m.PlusCount - 1, m => m.PostsId == model.PostsId);
                        tran.Commit();
                        result = -1;
                    }
                    else
                    {
                        //不存在则新增点赞记录
                        _dbContext.Add(message);
                        _dbContext.SaveChanges();
                        //
                        _dbContext.Add(model);
                        _dbContext.SaveChanges();
                        //
                        _dbContext.MangoUpdate <Entity.m_Posts>(m => m.PlusCount == m.PlusCount + 1, m => m.PostsId == model.PostsId);
                        tran.Commit();
                        result = 1;
                    }
                }
                catch
                {
                    tran.Rollback();
                    result = 0;
                }
            }

            return(result);
        }
Esempio n. 5
0
 /// <summary>
 /// 添加回答评论
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool AddAnswerComments(Entity.m_PostsComments model, Entity.m_Message message)
 {
     using (var tran = _dbContext.Database.BeginTransaction())
     {
         try
         {
             _dbContext.Add(model);
             _dbContext.SaveChanges();
             //
             _dbContext.Add(message);
             _dbContext.SaveChanges();
             //
             _dbContext.MangoUpdate <Entity.m_PostsAnswer>(m => m.CommentsCount == m.CommentsCount + 1, m => m.AnswerId == model.AnswerId);
             tran.Commit();
             return(true);
         }
         catch
         {
             tran.Rollback();
             return(false);
         }
     }
 }
Esempio n. 6
0
        /// <summary>
        /// 添加用户点赞消息
        /// </summary>
        /// <param name="model"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public int AddUserPlusRecords(Entity.m_UserPlusRecords model, Entity.m_Message message)
        {
            //记录类型 1 帖子点赞 2 帖子回答点赞 3 帖子评论点赞 4 文档主题点赞 5 文档点赞
            int result = 0;
            //加载是否已经存在点赞记录
            var queryCount = _dbContext.m_UserPlusRecords.Where(m => m.ObjectId == model.ObjectId && m.UserId == model.UserId && m.RecordsType == model.RecordsType).Count();

            using (var tran = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    if (queryCount > 0)
                    {
                        //存在则撤回点赞记录
                        _dbContext.MangoRemove <Entity.m_UserPlusRecords>(m => m.ObjectId == model.ObjectId && m.UserId == model.UserId && m.RecordsType == model.RecordsType);
                        //
                        switch (model.RecordsType.Value)
                        {
                        case 1:
                            _dbContext.MangoUpdate <Entity.m_Posts>(m => m.PlusCount == m.PlusCount - 1, m => m.PostsId == model.ObjectId);
                            break;

                        case 2:
                            _dbContext.MangoUpdate <Entity.m_PostsAnswer>(m => m.Plus == m.Plus - 1, m => m.AnswerId == model.ObjectId);
                            break;

                        case 3:
                            _dbContext.MangoUpdate <Entity.m_PostsComments>(m => m.Plus == m.Plus - 1, m => m.CommentId == model.ObjectId);
                            break;

                        case 4:
                            _dbContext.MangoUpdate <Entity.m_DocsTheme>(m => m.PlusCount == m.PlusCount - 1, m => m.ThemeId == model.ObjectId);
                            break;

                        case 5:
                            _dbContext.MangoUpdate <Entity.m_Docs>(m => m.PlusCount == m.PlusCount - 1, m => m.DocsId == model.ObjectId);
                            break;
                        }
                        tran.Commit();
                        result = -1;
                    }
                    else
                    {
                        //不存在则新增点赞记录
                        _dbContext.Add(message);
                        _dbContext.SaveChanges();
                        //
                        _dbContext.Add(model);
                        _dbContext.SaveChanges();
                        //
                        switch (model.RecordsType.Value)
                        {
                        case 1:
                            _dbContext.MangoUpdate <Entity.m_Posts>(m => m.PlusCount == m.PlusCount + 1, m => m.PostsId == model.ObjectId);
                            break;

                        case 2:
                            _dbContext.MangoUpdate <Entity.m_PostsAnswer>(m => m.Plus == m.Plus + 1, m => m.AnswerId == model.ObjectId);
                            break;

                        case 3:
                            _dbContext.MangoUpdate <Entity.m_PostsComments>(m => m.Plus == m.Plus + 1, m => m.CommentId == model.ObjectId);
                            break;

                        case 4:
                            _dbContext.MangoUpdate <Entity.m_DocsTheme>(m => m.PlusCount == m.PlusCount + 1, m => m.ThemeId == model.ObjectId);
                            break;

                        case 5:
                            _dbContext.MangoUpdate <Entity.m_Docs>(m => m.PlusCount == m.PlusCount + 1, m => m.DocsId == model.ObjectId);
                            break;
                        }
                        tran.Commit();
                        result = 1;
                    }
                }
                catch
                {
                    tran.Rollback();
                    result = 0;
                }
            }
            return(result);
        }