public override async Task <IViewProviderResult> BuildEditAsync(Comment comment, IViewProviderContext updater) { var feature = await _featureFacade.GetFeatureByIdAsync(ModuleId); if (feature == null) { return(default(IViewProviderResult)); } var tagsJson = ""; var entityTags = await GetEntityTagsByEntityReplyIdAsync(comment.Id); if (entityTags != null) { var tags = await _tagStore.QueryAsync() .Select <TagQueryParams>(q => { q.Id.IsIn(entityTags.Select(e => e.TagId).ToArray()); }) .OrderBy("Name") .ToList(); List <TagApiResult> tagsToSerialize = null; if (tags != null) { tagsToSerialize = new List <TagApiResult>(); foreach (var tag in tags.Data) { tagsToSerialize.Add(new TagApiResult() { Id = tag.Id, Name = tag.Name }); } } if (tagsToSerialize != null) { tagsJson = tagsToSerialize.Serialize(); } } var viewModel = new EditEntityTagsViewModel() { Tags = tagsJson, HtmlName = TagsHtmlName, FeatureId = feature?.Id ?? 0, Permission = comment.Id == 0 ? Permissions.PostArticleCommentTags : Permissions.EditArticleCommentTags }; return(Views( View <EditEntityTagsViewModel>("Article.Tags.Edit.Footer", model => viewModel).Zone("content") .Order(int.MaxValue) )); }
public override async Task <IViewProviderResult> BuildEditAsync(Reply reply, IViewProviderContext updater) { var tagsJson = ""; var entityTags = await GetEntityTagsByEntityReplyIdAsync(reply.Id); if (entityTags != null) { var tags = await _tagStore.QueryAsync() .Select <TagQueryParams>(q => { q.Id.IsIn(entityTags.Select(e => e.TagId).ToArray()); }) .OrderBy("Name") .ToList(); List <TagApiResult> tagsToSerialize = null; if (tags != null) { tagsToSerialize = new List <TagApiResult>(); foreach (var tag in tags.Data) { tagsToSerialize.Add(new TagApiResult() { Id = tag.Id, Name = tag.Name }); } } if (tagsToSerialize != null) { tagsJson = tagsToSerialize.Serialize(); } } var viewModel = new EditEntityTagsViewModel() { Tags = tagsJson, HtmlName = TagsHtmlName, Permission = reply.Id == 0 ? Permissions.PostReplyTags : Permissions.EditReplyTags }; return(Views( View <EditEntityTagsViewModel>("Topic.Tags.Edit.Footer", model => viewModel).Zone("content") .Order(int.MaxValue) )); }