Пример #1
0
        public ActionResult Revision(int id)
        {
            var revision1 = _articleRevisionRepository.Find(id);
            var article   = revision1.Article;
            var revisions = article.ArticleRevisions.OrderBy(ar => ar.ChangedDate).ToList();
            var revision2 = revisions.LastOrDefault();

            HtmlDiff diffHelper = new HtmlDiff(revision1.ArticleContent, revision2.ArticleContent);
            string   diffOutput = diffHelper.Build();


            var viewModel = new RevisionCompareView();

            viewModel.Revision1       = AutoMapper.Mapper.Map <RevisionView>(revision1);
            viewModel.Revision1.Order = revisions.IndexOf(revision1) + 1;

            viewModel.Revision2       = AutoMapper.Mapper.Map <RevisionView>(revision2);
            viewModel.Revision2.Order = revisions.Count();

            viewModel.DiffOutput = diffOutput;
            viewModel.Title      = article.Title;
            viewModel.Count      = revisions.Count();
            viewModel.ArticleId  = article.Id;

            return(View(viewModel));
        }
Пример #2
0
        public ActionResult CompareRevision(int articleid, int order1, int order2)
        {
            var article   = _articleRepository.Find(articleid);
            var revisions = article.ArticleRevisions.OrderBy(ar => ar.ChangedDate).ToList();
            var revision1 = revisions[order1 - 1];
            var revision2 = revisions[order2 - 1];

            HtmlDiff diffHelper = new HtmlDiff(revision1.ArticleContent, revision2.ArticleContent);
            string   diffOutput = diffHelper.Build();

            var viewModel = new RevisionCompareView();

            viewModel.Revision1       = AutoMapper.Mapper.Map <RevisionView>(revision1);
            viewModel.Revision1.Order = revisions.IndexOf(revision1) + 1;

            viewModel.Revision2       = AutoMapper.Mapper.Map <RevisionView>(revision2);
            viewModel.Revision2.Order = revisions.Count();

            return(Json(new { source = new { content = revision1.ArticleContent, time = revision1.ChangedDate.ToString("dd/MM/yyyy hh:mm:ss") }, result = new { content = diffOutput, time = revision2.ChangedDate.ToString("dd/MM/yyyy hh:mm:ss") } }));
        }