Example #1
0
        public int AddPostsPlus(int postsId, string title)
        {
            PostsRepository repository = new PostsRepository();

            Entity.m_PostsRecords model = new Entity.m_PostsRecords();
            model.PostsId     = postsId;
            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, 12);
            message.IsRead       = false;
            message.MessageType  = 12;
            message.ObjId        = postsId;
            message.PostDate     = DateTime.Now;
            message.UserId       = repository.GetPostsByUserId(postsId);
            //消息推送
            int resultCount = repository.AddPostsRecordsByPlus(model, message);

            if (resultCount > 0)
            {
                Extensions.SignalRCore.PushUserMessage(message.UserId.ToString(), _messageHubContext);
            }
            return(resultCount);
        }
Example #2
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);
        }