/// <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); }
public bool AddAnswer(Entity.m_PostsAnswer 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_Posts>(m => m.AnswerCount == m.AnswerCount + 1, m => m.PostsId == model.PostsId); tran.Commit(); return(true); } catch { tran.Rollback(); return(false); } } }