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));
        }
Esempio n. 2
0
    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);
            }
        }
    }
Esempio n. 3
0
    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));
    }