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)); }
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") } })); }