public int AddAnswerPlus(int answerId, int postsId, string title) { PostsRepository repository = new PostsRepository(); Entity.m_PostsAnswerRecords model = new Entity.m_PostsAnswerRecords(); model.AnswerId = answerId; 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, 13); message.IsRead = false; message.MessageType = 13; message.ObjId = postsId; message.PostDate = DateTime.Now; message.UserId = repository.GetPostsAnswerByUserId(answerId); //消息推送 int resultCount = repository.AddAnswerRecordsByPlus(model, message); if (resultCount > 0) { Extensions.SignalRCore.PushUserMessage(message.UserId.ToString(), _messageHubContext); } return(resultCount); }
/// <summary> /// 添加帖子回答点赞 /// </summary> /// <param name="model"></param> /// <returns>-1 表示取消点赞 1表示增加点赞 0表示异常</returns> public int AddAnswerRecordsByPlus(Entity.m_PostsAnswerRecords model, Entity.m_Message message) { int result = 0; //加载是否已经存在点赞记录 int queryCount = _dbContext.m_PostsAnswerRecords.Where(m => m.AnswerId == model.AnswerId && m.UserId == model.UserId).Count(); using (var tran = _dbContext.Database.BeginTransaction()) { try { if (queryCount > 0) { // _dbContext.MangoRemove <Entity.m_PostsAnswerRecords>(m => m.AnswerId == model.AnswerId && m.UserId == model.UserId); // _dbContext.MangoUpdate <Entity.m_PostsAnswer>(m => m.Plus == m.Plus - 1, m => m.AnswerId == model.AnswerId); tran.Commit(); result = -1; } else { _dbContext.Add(message); _dbContext.SaveChanges(); // _dbContext.Add(model); _dbContext.SaveChanges(); // _dbContext.MangoUpdate <Entity.m_PostsAnswer>(m => m.Plus == m.Plus + 1, m => m.AnswerId == model.AnswerId); tran.Commit(); result = 1; } } catch { tran.Rollback(); result = 0; } } return(result); }