public FullReplyInfo GetReplyDetailList(string replyID) { var mappper = Common.GetMapper(); ReplyDao dao = new ReplyDao(mappper); NotifyDao notifyDao = new NotifyDao(mappper); var current = dao.QueryFullReplyInfo(new ReplyQueryForm { ID = replyID }).FirstOrDefault(); var replies = new List <ReplyWithChild>(); if (current.ReplyID == "0") { replies = dao.QueryFullReplyInfo(new ReplyQueryForm { ReplyID = replyID, OrderByColumn = "CreateTime", OrderBy = OrderBy.DESC }); } else { current = dao.QueryFullReplyInfo(new ReplyQueryForm { ID = current.ReplyID }).FirstOrDefault(); replies = dao.QueryFullReplyInfo(new ReplyQueryForm { ReplyID = current.ID, OrderByColumn = "CreateTime", OrderBy = OrderBy.DESC }); } var replyids = (from r in replies select r.ID).Distinct().ToList(); notifyDao.Update(new NotifyUpdateForm { Entity = new Notify { IsRead = 1 }, QueryForm = new NotifyQueryForm { ReplyIDs = replyids }, }); if (current != null) { current.Children = new List <ReplyWithChild>(); current.Children.AddRange(replies); } return(current); }
public PaginationEntity <ReplyWithChild> GetReplies(ReplyQueryForm form) { PaginationEntity <ReplyWithChild> paging = new PaginationEntity <ReplyWithChild>(); var mapper = Common.GetMapper(); ReplyDao replydao = new ReplyDao(mapper); var firstReplies = replydao.QueryFullReplyInfo(form); var replyids = (from r in firstReplies select r.ID).ToList(); var chilren = replydao.QueryFullReplyInfo(new ReplyQueryForm { ReplyIDs = replyids, Enabled = true, OrderByColumn = "CreateTime", OrderBy = OrderBy.ASC }); //chilren.Sort((l, r) => //{ // return Convert.ToInt16(l.CreateTime < r.CreateTime); //}); firstReplies.ForEach(t => { t.Children = new List <ReplyWithChild>(); for (int i = 0; i < chilren.Count; i++) { var reply = chilren[i]; if (t.ID.Equals(reply.ReplyID)) { t.Children.Add(reply); chilren.Remove(reply); i--; } } }); paging.List = firstReplies; paging.RecordCount = form.RecordCount; return(paging); }