public GridAutoMapping(IVmPropertyMappingsFinder vmPropertyMappingsFinder, ISchemaMetaService schemaMetaService, IYuzuConfiguration config, IYuzuDeliveryImportConfiguration importConfig) { this.schemaMetaService = schemaMetaService; this.config = config; this.importConfig = importConfig; var rowMappings = vmPropertyMappingsFinder.GetMappings <vmBlock_DataRows>(); foreach (var i in rowMappings) { var configType = AddConfigMapping <vmBlock_DataRows>(i.DestProperty, ConfigType.Rows); Type resolverType = null; if (i.SourceType != null) { if (configType == null) { resolverType = typeof(GridRowConvertor <,>).MakeGenericType(i.SourceType, i.DestType); } else { resolverType = typeof(GridRowConvertor <, ,>).MakeGenericType(i.SourceType, i.DestType, configType); } AddResolverMapping(i, resolverType); } } var gridMappings = vmPropertyMappingsFinder.GetMappings <vmBlock_DataGrid>(); foreach (var i in gridMappings) { var rowsConfigType = AddConfigMapping <vmBlock_DataGrid>(i.DestProperty, ConfigType.Rows); var colsConfigType = AddConfigMapping <vmBlock_DataGrid>(i.DestProperty, ConfigType.Cells); Type resolverType = null; if (i.SourceType != null) { if (rowsConfigType == null && colsConfigType == null) { resolverType = typeof(GridRowColumnConvertor <,>).MakeGenericType(i.SourceType, i.DestType); } else if (colsConfigType == null) { resolverType = typeof(GridRowColumnConvertor <, ,>).MakeGenericType(i.SourceType, i.DestType, rowsConfigType); } else { resolverType = typeof(GridRowColumnConvertor <, , ,>).MakeGenericType(i.SourceType, i.DestType, rowsConfigType, colsConfigType); } AddResolverMapping(i, resolverType); } } }
public FormAutoMapping(IVmPropertyMappingsFinder vmPropertyMappingsFinder) { var formMappings = vmPropertyMappingsFinder.GetMappings <vmBlock_DataForm>(); foreach (var i in formMappings) { if (i.SourceType != null) { var resolverType = typeof(FormValueResolver <,>).MakeGenericType(i.SourceType, i.DestType); ManualMaps.Add(new YuzuFullPropertyMapperSettings() { Mapper = typeof(IYuzuFullPropertyMapper), Resolver = resolverType, SourcePropertyName = i.SourcePropertyName, DestPropertyName = i.DestPropertyName }); } } }
public SubBlocksMappings(IVmPropertyMappingsFinder vmPropertyMappingsFinder) { var listOfObjectsMappings = vmPropertyMappingsFinder.GetMappings <object>(); foreach (var i in listOfObjectsMappings) { if (i.SourceType != null && i.SourceProperty != null && i.SourceProperty.PropertyType == typeof(IPublishedContent)) { var resolverType = typeof(SubBlocksObjectResolver <,>).MakeGenericType(i.SourceType, i.DestType); ManualMaps.Add(new YuzuFullPropertyMapperSettings() { Mapper = typeof(IYuzuFullPropertyMapper), Resolver = resolverType, SourcePropertyName = i.SourcePropertyName, DestPropertyName = i.DestPropertyName }); } } }