コード例 #1
0
ファイル: BlogController.cs プロジェクト: cotide/blog.net
 private HomeArticleCommentViewModel CreateHomeArticleCommentViewModel(ArticleMessageDto dto)
 {
     return(new HomeArticleCommentViewModel()
     {
         Content = Utils.CutStringBySuffix(dto.Content, 0, 10, "..."),
         FullContent = dto.Content,
         NickName = dto.UserArticleMessageDto.NickName,
         ArticleId = dto.ArticleId
     });
 }
コード例 #2
0
        private ArticleMessageDto CreateArticleMessageDto(
            Article a,
            ArticleMessage am,
            User u)
        {
            //var doto = new ArticleMessageDto()
            //          {
            //              Id = am.Id,
            //              Content = HttpUtility.HtmlDecode(am.Content),
            //              CreateDate = am.CreateDate,
            //              UserImg = DefaultUserHeadImg
            //          };

            //if (u != null)
            //{
            //    doto.UserId = u.Id;
            //    doto.NickName = u.RealName;
            //    doto.UserImg = u.SmallImgHead;
            //    doto.UserDomain = u.Domain;
            //}
            //else
            //{
            //    doto.NickName = am.NickName;
            //}



            //var articleReplyMessagesList = (from ar in ArticleMessageDbProxyRepository.FindAll()
            //                                from  arm in ar.ArticleMessages
            //                                let ra =ar.RootArticleMessage
            //                                let ba = ar.BaseArticleMessage
            //                                let aru = ar.User
            //                                let bau = ba.User
            //                                where ra.Id == am.Id
            //                                select CreateArticleReplyMessageDto(ar,arm,aru,bau)).ToList();


            ////var articleReplyMessageList = (from qam in am.ArticleMessages
            ////                               let qu = qam.User
            ////                               let bm = qam.BaseArticleMessage
            ////                               let tu = bm.User
            ////                               select CreateArticleReplyMessageDto(am,bm, qu, tu)).ToList();



            //doto.ArticleReplyMessages = articleReplyMessagesList;

            //// 加载留言的所有回复
            //var articleReplyMessageList = (from ar in ArticleReplyMessageDbProxyRepository.FindAll()
            //                               let aru = ar.User
            //                               let bam = ar.BaseArticleMessage
            //                               where bam.Id == am.Id
            //                               select ar).ToList();

            //// 加载留言一级回复
            //var articleReplyMessageOneList = articleReplyMessageList.Where(x => x.BaseArticleReplyMessage == null).ToList();
            //// 加载留言第二级回复
            //var articleReplyMessageTwoList = articleReplyMessageList.Where(x => x.BaseArticleReplyMessage != null).ToList();

            //// 加载留言回复数据
            //articleReplyMessageOneList.ForEach(x => doto.ArticleReplyMessages.Add(
            //    CreateArticleReplyMessageDto(x, x.User, articleReplyMessageTwoList)));


            //articleReplyMessageList.ForEach(x=>
            //                                    {

            //                                        doto.ArticleReplyMessages=
            //                                    });

            //if (amr != null)
            //{

            //    amr.ForEach(x =>
            //                    {
            //                       x.ArticleReplyMessage.Add(new ArticleReplyMessageDto()
            //                                                     {
            //                                                         Content = HttpUtility.HtmlDecode(x.Content),
            //                                                     });

            //                    });



            //    doto.ArticleReplyMessages

            //        .. = new BaseArticleMessageDto();
            //    if (bam.User != null)
            //    {
            //        doto.BaseArticleMessage.UserId = bam.User.Id;
            //        doto.BaseArticleMessage.NickName = bam.User.RealName;
            //        doto.BaseArticleMessage.Domain = bam.User.Domain;
            //    }
            //    else
            //    {
            //        doto.BaseArticleMessage.NickName = bam.NickName;
            //    }
            //}
            var dto = new ArticleMessageDto()
            {
                Content    = HttpUtility.HtmlDecode(am.Content),
                CreateDate = am.CreateDate,
                Id         = am.Id,
                ArticleId  = a.Id
            };

            // 评论用户信息
            if (u != null)
            {
                dto.UserArticleMessageDto = new UserArticleMessageDto()
                {
                    NickName   = u.RealName,
                    UserId     = u.Id,
                    UserImg    = u.SmallImgHead,
                    UserDomain = u.Domain
                };
            }
            else
            {
                dto.UserArticleMessageDto = new UserArticleMessageDto()
                {
                    NickName = am.NickName
                };
            }

            // 评论对象用户信息
            if (am.BaseArticleMessage != null)
            {
                dto.BaseArticleMessageId = am.BaseArticleMessage.Id;
                var user = am.BaseArticleMessage.User;
                if (user != null)
                {
                    dto.TagerUserArticleMessageDto = new TagerUserArticleMessageDto()
                    {
                        NickName   = user.RealName,
                        UserId     = user.Id,
                        UserImg    = user.SmallImgHead,
                        UserDomain = user.Domain
                    };
                }
                else
                {
                    dto.TagerUserArticleMessageDto = new TagerUserArticleMessageDto()
                    {
                        NickName = am.BaseArticleMessage.NickName
                    };
                }
            }
            return(dto);
        }