public void Handle(CreateArticleMessageCommand command)
        {
            var article = ArticleRepository.Load(command.ArticleId);

            Guard.IsNotNull(article, "article");
            // 用户评论
            if (command.UserId != null)
            {
                // 文章留言
                var user = UserRepository.Get((int)command.UserId);
                Guard.IsNotNull(user, "user");

                // 用户留言
                var userReply = new ArticleMessage()
                {
                    Content      = HttpUtility.HtmlEncode(command.Content),
                    Article      = article,
                    CreateDate   = DateTime.Now,
                    IsShow       = command.IsShow,
                    User         = user,
                    LastDateTime = DateTime.Now
                };
                ArticleMessageRepository.Save(userReply);
            }
            else
            {
                // 匿名用户留言
                var reply = new ArticleMessage()
                {
                    Content      = HttpUtility.HtmlEncode(command.Content),
                    Email        = command.Email,
                    Article      = article,
                    NickName     = command.NickName,
                    WebSiteUrl   = command.WebSiteUrl,
                    CreateDate   = DateTime.Now,
                    IsShow       = command.IsShow,
                    LastDateTime = DateTime.Now
                };
                ArticleMessageRepository.Save(reply);
            }
        }
        public void Handle(CreateArticleMessageReplyCommand command)
        {
            var articleMessage = ArticleMessageRepository.Get(command.ArticleMessageId);

            Guard.IsNotNull(articleMessage, "articleMessage");

            if (command.UserId != null)
            {
                // 用户留言回复
                var user = UserRepository.Get((int)command.UserId);
                Guard.IsNotNull(user, "user");
                //// 用户留言
                //var reply = new ArticleReplyMessage()
                //{
                //    Content = HttpUtility.HtmlEncode(command.Content),
                //    CreateDate = DateTime.Now,
                //    IsShow = command.IsShow,
                //    User = user
                //    //ArticleMessage = articleMessage
                //};
                // 用户留言
                var reply = new ArticleMessage()
                {
                    Content            = HttpUtility.HtmlEncode(command.Content),
                    CreateDate         = DateTime.Now,
                    IsShow             = command.IsShow,
                    User               = user,
                    Article            = articleMessage.Article,
                    BaseArticleMessage = articleMessage,
                    LastDateTime       = DateTime.Now
                };
                // articleMessage.AddArticleMessage(reply);


                //if(command.BaseArticleReplyMessageId!=null)
                //{
                //    var baseArticleReplyMessage =
                //        ArticleReplyMessageRepository.Get(int.Parse(command.BaseArticleReplyMessageId.ToString()));
                //    Guard.IsNotNull(baseArticleReplyMessage, "baseArticleReplyMessage");
                //    reply.BaseArticleReplyMessage = baseArticleReplyMessage;
                //}
                //  articleMessage.ArticleReplyMessages.Add(reply);
                ArticleMessageRepository.Save(reply);
            }
            else
            {
                var reply = new ArticleMessage()
                {
                    NickName           = command.NickName,
                    Email              = command.Email,
                    WebSiteUrl         = command.WebSiteUrl,
                    Content            = HttpUtility.HtmlEncode(command.Content),
                    CreateDate         = DateTime.Now,
                    IsShow             = command.IsShow,
                    BaseArticleMessage = articleMessage,
                    Article            = articleMessage.Article,
                    LastDateTime       = DateTime.Now
                };
                // articleMessage.AddArticleReplyMessage(reply);
                ArticleMessageRepository.Save(reply);
            }
        }