public async Task <IActionResult> OnGet(string slug) { if (string.IsNullOrEmpty(slug)) { return(NotFound()); } var qry = new GetArticleWithHistoriesBySlugQuery(slug); var article = await _mediator.Send(qry); if (article == null) { return(new ArticleNotFoundResult()); } Article = _mapper.Map <ArticleHistory>(article); return(Page()); }
public async Task <IActionResult> OnPost(string slug) { if (Compare.Count() < 2) { return(Page()); } var qry = new GetArticleWithHistoriesBySlugQuery(slug); var article = await _mediator.Send(qry); var histories = article.History .Where(h => Compare.Any(c => c == h.Version.ToString())) .OrderBy(h => h.Version) .ToArray(); DiffModel = new SideBySideDiffBuilder(new DiffPlex.Differ()) .BuildDiffModel(histories[0].Content ?? "", histories[1].Content ?? ""); Article = _mapper.Map <ArticleHistory>(article); return(Page()); }