private Task BuildViewModel(BodyPartViewModel model, BodyPart bodyPart) { var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(bodyPart.ContentItem.ContentType); var contentTypePartDefinition = contentTypeDefinition.Parts.FirstOrDefault(p => p.PartDefinition.Name == nameof(BodyPart)); var settings = contentTypePartDefinition.Settings.ToObject <BodyPartSettings>(); model.RenderTokens = settings.RenderTokens; model.Body = bodyPart.Body; model.BodyPart = bodyPart; return(Task.CompletedTask); }
private async Task BuildViewModelAsync(BodyPartViewModel model, BodyPart bodyPart) { var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(bodyPart.ContentItem.ContentType); var contentTypePartDefinition = contentTypeDefinition.Parts.FirstOrDefault(p => p.Name == nameof(BodyPart)); var settings = contentTypePartDefinition.GetSettings <BodyPartSettings>(); var templateContext = new TemplateContext(); templateContext.SetValue("ContentItem", bodyPart.ContentItem); templateContext.MemberAccessStrategy.Register <BodyPartViewModel>(); using (var writer = new StringWriter()) { await _liquidTemplatemanager.RenderAsync(bodyPart.Body, writer, NullEncoder.Default, templateContext); model.Body = writer.ToString(); } model.BodyPart = bodyPart; model.TypePartSettings = settings; }