public InfoItemViewModel(INestedContentContext <InfoItem> context)
 {
     Image       = context.NestedContent.Image.ToViewModel();
     Title       = context.NestedContent.Title;
     Description = context.NestedContent.Description;
     Link        = context.NestedContent.Link.AsViewModel();
 }
        private static TBaseViewModel AsViewModel <TBaseViewModel>(this INestedContentContext <INestedContent> nestedContentContext, string classSuffix = "ViewModel") where TBaseViewModel : INestedContentViewModel
        {
            if (nestedContentContext == null)
            {
                return(default(TBaseViewModel));
            }

            Type   baseType      = typeof(TBaseViewModel);
            string modelTypeName = $"{baseType.Namespace}.{nestedContentContext.NestedContent.GetType().Name}{classSuffix}";

            return((TBaseViewModel)Activator.CreateInstance(Assembly.GetAssembly(baseType).GetType(modelTypeName), nestedContentContext));
        }
 public BannerWidgetViewModel(INestedContentContext <BannerWidget> context)
 {
     Items = context.NestedContent.Items
             .Select(x => x.AsViewModelWithNestedContentContext <BannerItemViewModel>(context.PageContext));
 }
 public BannerItemViewModel(INestedContentContext <BannerItem> context)
 {
     Title      = context.NestedContent.Title;
     Link       = context.NestedContent.Link.AsViewModel();
     Background = context.NestedContent.Background.ToViewModel();
 }
Example #5
0
 public TextWidgetViewModel(INestedContentContext <TextWidget> context)
 {
     Text           = context.NestedContent.Text;
     DelimiterImage = context.NestedContent.DelimiterImage.ToViewModel();
 }