/// <summary> /// Maps data to an empty view model for a custom entity page. /// </summary> /// <param name="displayModelType">The type information of the display model to apply to the generic view model.</param> /// <param name="viewModel">The view model to map data to.</param> /// <param name="mappingParameters">The data passed through to map to the view model.</param> public virtual async Task MapCustomEntityViewModelAsync <TDisplayModel>( ICustomEntityPageViewModel <TDisplayModel> viewModel, CustomEntityPageViewModelBuilderParameters mappingParameters ) where TDisplayModel : ICustomEntityPageDisplayModel { await MapAsync(viewModel, mappingParameters); if (mappingParameters.CustomEntityModel == null) { throw new ArgumentNullException(nameof(mappingParameters.CustomEntityModel)); } var customEntityRenderDetails = mappingParameters.CustomEntityModel; var publishStatusQuery = mappingParameters.VisualEditorMode.ToPublishStatusQuery(); var customModel = new CustomEntityRenderDetailsViewModel <TDisplayModel>(); customModel.CustomEntityId = customEntityRenderDetails.CustomEntityId; customModel.CustomEntityVersionId = customEntityRenderDetails.CustomEntityVersionId; customModel.Locale = customEntityRenderDetails.Locale; customModel.Regions = customEntityRenderDetails.Regions; customModel.Title = customEntityRenderDetails.Title; customModel.UrlSlug = customEntityRenderDetails.UrlSlug; customModel.WorkFlowStatus = customEntityRenderDetails.WorkFlowStatus; customModel.PublishDate = customEntityRenderDetails.PublishDate; customModel.PublishStatus = customEntityRenderDetails.PublishStatus; customModel.CreateDate = customEntityRenderDetails.CreateDate; customModel.PageUrls = customEntityRenderDetails.PageUrls; customModel.Model = await _customEntityDisplayModelMapper.MapDisplayModelAsync <TDisplayModel>(customEntityRenderDetails, publishStatusQuery); viewModel.CustomEntity = customModel; }
public CustomEntityTemplateRegionTagBuilder( IPageBlockRenderer blockRenderer, IPageBlockTypeDataModelTypeFactory pageBlockDataModelTypeFactory, IPageBlockTypeFileNameFormatter pageBlockTypeFileNameFormatter, IVisualEditorStateService visualEditorStateService, ILogger <CustomEntityTemplateRegionTagBuilder <TModel> > logger, ViewContext viewContext, ICustomEntityPageViewModel <TModel> customEntityViewModel, string regionName ) { if (regionName == null) { throw new ArgumentNullException(nameof(regionName)); } if (string.IsNullOrWhiteSpace(regionName)) { throw new ArgumentEmptyException(nameof(regionName)); } if (customEntityViewModel == null) { throw new ArgumentNullException(nameof(customEntityViewModel)); } _blockRenderer = blockRenderer; _pageBlockDataModelTypeFactory = pageBlockDataModelTypeFactory; _blockTypeFileNameFormatter = pageBlockTypeFileNameFormatter; _visualEditorStateService = visualEditorStateService; _logger = logger; _regionName = regionName; _customEntityViewModel = customEntityViewModel; _viewContext = viewContext; }
public ICustomEntityTemplateRegionTagBuilder <TModel> Create <TModel>( ViewContext viewContext, ICustomEntityPageViewModel <TModel> customEntityViewModel, string regionName ) where TModel : ICustomEntityPageDisplayModel { return(new CustomEntityTemplateRegionTagBuilder <TModel>(_blockRenderer, _pageBlockTypeDataModelTypeFactory, _pageBlockTypeFileNameFormatter, viewContext, customEntityViewModel, regionName)); }
public ICustomEntityTemplateRegionTagBuilder <TModel> Create <TModel>( ViewContext viewContext, ICustomEntityPageViewModel <TModel> customEntityViewModel, string regionName ) where TModel : ICustomEntityPageDisplayModel { var logger = _loggerFactory.CreateLogger <CustomEntityTemplateRegionTagBuilder <TModel> >(); return(new CustomEntityTemplateRegionTagBuilder <TModel>( _blockRenderer, _pageBlockTypeDataModelTypeFactory, _pageBlockTypeFileNameFormatter, _visualEditorStateService, logger, viewContext, customEntityViewModel, regionName)); }
private Task ExampleCustomMappingAsync <TDisplayModel>(ICustomEntityPageViewModel <TDisplayModel> model) where TDisplayModel : ICustomEntityPageDisplayModel { return(Task.CompletedTask); }