Example #1
0
        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);
        }
Example #2
0
        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);
        }