public virtual async Task <IViewComponentResult> InvokeAsync(string entityType, string entityId, string loginUrl = null) { var result = await CommentPublicAppService.GetAllForEntityAsync(entityType, entityId); var viewModel = new CommentingViewModel { EntityId = entityId, EntityType = entityType, LoginUrl = loginUrl, Comments = result.Items.ToList() }; return(View("~/Pages/CmsKit/Shared/Components/Commenting/Default.cshtml", viewModel)); }
private async Task ConvertMarkdownTextsToHtml(CommentingViewModel viewModel) { viewModel.RawCommentTexts = new Dictionary <Guid, string>(); foreach (var comment in viewModel.Comments) { viewModel.RawCommentTexts.Add(comment.Id, comment.Text); comment.Text = await MarkdownToHtmlRenderer.RenderAsync(comment.Text, true); foreach (var reply in comment.Replies) { viewModel.RawCommentTexts.Add(reply.Id, reply.Text); reply.Text = await MarkdownToHtmlRenderer.RenderAsync(reply.Text, true); } } }
public virtual async Task <IViewComponentResult> InvokeAsync( string entityType, string entityId) { var result = await CommentPublicAppService .GetListAsync(entityType, entityId); var loginUrl = $"{AbpMvcUiOptions.LoginUrl}?returnUrl={HttpContext.Request.Path.ToString()}&returnUrlHash=#cms-comment_{entityType}_{entityId}"; var viewModel = new CommentingViewModel { EntityId = entityId, EntityType = entityType, LoginUrl = loginUrl, Comments = result.Items.OrderByDescending(i => i.CreationTime).ToList() }; return(View("~/Pages/CmsKit/Shared/Components/Commenting/Default.cshtml", viewModel)); }