public async Task <IActionResult> OnGetAsync(string id, string revisionId = null) { TempData["Page"] = "api"; Review = await _manager.GetReviewAsync(User, id); if (!Review.Revisions.Any()) { return(RedirectToPage("LegacyReview", new { id = id })); } Revision = revisionId != null? Review.Revisions.Single(r => r.RevisionId == revisionId) : Review.Revisions.Last(); var reviewFile = Revision.Files.Single(); CodeFile = await _codeFileRepository.GetCodeFileAsync(Revision.RevisionId, reviewFile.ReviewFileId); Lines = new CodeFileHtmlRenderer().Render(CodeFile).ToArray(); Comments = await _commentsManager.GetReviewCommentsAsync(id); ActiveConversations = ComputeActiveConversations(Lines, Comments); TotalActiveConversations = Comments.Threads.Count(t => !t.IsResolved); return(Page()); }
public async Task OnGetAsync(string id) { Id = id; AssemblyModel = await assemblyRepository.ReadAssemblyContentAsync(id); if (AssemblyModel.AssemblyNode != null) { Lines = new CodeFileHtmlRenderer().Render(AssemblyModel.AssemblyNode).ToArray(); } else { var renderer = new HTMLRendererApiView(); Lines = renderer.Render(AssemblyModel.Assembly).ToArray(); } Comments = new Dictionary <string, List <CommentModel> >(); var assemblyComments = await commentRepository.FetchCommentsAsync(id); var comments = assemblyComments.Comments; foreach (var comment in comments) { if (!Comments.TryGetValue(comment.ElementId, out List <CommentModel> list)) { Comments[comment.ElementId] = new List <CommentModel>() { comment } } ; else { Comments[comment.ElementId].Add(comment); } } Username = User.GetGitHubLogin(); }