Exemplo n.º 1
0
        public static IConfiguredDataSource GetToTargetDataSourceOrNullForTargetType(this IObjectMappingData mappingData)
        {
            var toTargetDataSources = mappingData
                                      .MapperData
                                      .MapperContext
                                      .UserConfigurations
                                      .GetDataSourcesForToTarget(mappingData.MapperData);

            if (toTargetDataSources.None())
            {
                return(null);
            }

            foreach (var dataSource in toTargetDataSources)
            {
                mappingData = mappingData.WithSource(dataSource.SourceMember);

                if (mappingData.IsTargetConstructable())
                {
                    return(dataSource);
                }
            }

            // TODO: Cover: Unconstructable ToTarget data source
            return(null);
        }