Example #1
0
        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);
        }
Example #2
0
        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;
        }