public IList <IConfiguredDataSource> GetDataSources(IMemberMapperData mapperData)
 => QueryDataSourceFactories(mapperData).Project(dsf => dsf.Create(mapperData)).ToArray();
示例#2
0
 private static Member[] GetConfiguredMemberChainOrNull(Expression value, IMemberMapperData mapperData)
 => value.ToSourceMember(mapperData.MapperContext, nt => { })?.MemberChain;
 public static Member GetIdentifierOrNull(this IMemberMapperData mapperData, Type type)
 => mapperData.MapperContext.GetIdentifierOrNull(type);
示例#4
0
 public static Expression GetAccess(this QualifiedMember member, IMemberMapperData mapperData)
 => member.GetAccess(mapperData.TargetInstance, mapperData);
示例#5
0
 public static string GetFriendlySourcePath(this IQualifiedMember sourceMember, IMemberMapperData rootMapperData)
 => GetFriendlyMemberPath(sourceMember, rootMapperData.SourceMember);
 public DictionaryEntryVariablePair(IMemberMapperData mapperData)
     : this(mapperData.GetDictionarySourceMemberOrNull(), mapperData)
 {
 }
 private static Expression GetMapToNullConditionOrNull(IMemberMapperData mapperData)
 => mapperData.MapperContext.UserConfigurations.GetMapToNullConditionOrNull(mapperData);
        private static IList <DerivedTypePair> GetTypePairsFor(IBasicMapperData pairTestMapperData, IMemberMapperData mapperData)
        {
            var derivedTypePairs = mapperData.MapperContext.UserConfigurations
                                   .DerivedTypes
                                   .GetDerivedTypePairsFor(pairTestMapperData, mapperData.MapperContext);

            return(derivedTypePairs);
        }
 private static Expression GetTargetIsDerivedTypeCheck(Type targetType, IMemberMapperData mapperData)
 => Expression.TypeIs(mapperData.TargetObject, targetType);
 public Expression GetCreationCallbackOrNull(CallbackPosition position, IMemberMapperData mapperData)
 => _creationCallbackFactories?.FirstOrDefault(f => f.AppliesTo(position, mapperData))?.Create(mapperData);
        private static Expression GetTypePairCondition(DerivedTypePair derivedTypePair, IMemberMapperData declaredTypeMapperData)
        {
            var condition = GetTargetValidCheckOrNull(derivedTypePair.DerivedTargetType, declaredTypeMapperData);

            if (!derivedTypePair.HasConfiguredCondition)
            {
                return(condition);
            }

            var pairCondition = derivedTypePair.GetConditionOrNull(declaredTypeMapperData);

            return((condition != null) ? Expression.AndAlso(pairCondition, condition) : pairCondition);
        }
 public IList <IConfiguredDataSource> GetDataSources(IMemberMapperData mapperData)
 {
     return((_dataSourceFactories != null)
         ? QueryDataSourceFactories(mapperData).Project(dsf => dsf.Create(mapperData)).ToArray()
         : Enumerable <IConfiguredDataSource> .EmptyArray);
 }
 public Expression GetMapToNullConditionOrNull(IMemberMapperData mapperData)
 => _mapToNullConditions.FindMatch(mapperData)?.GetConditionOrNull(mapperData);
        private static Expression GetElementIndexAccess(Expression parentContextAccess, IMemberMapperData mapperData)
        {
            if (parentContextAccess == null)
            {
                while (!mapperData.TargetMemberIsEnumerableElement())
                {
                    mapperData = mapperData.Parent;
                }

                if (!mapperData.IsEntryPoint)
                {
                    return(mapperData.Parent.EnumerablePopulationBuilder.Counter);
                }

                parentContextAccess = mapperData.MappingDataObject;
            }

            var mappingDataType = typeof(IMappingData <,>)
                                  .MakeGenericType(parentContextAccess.Type.GetGenericTypeArguments());

            var elementIndexProperty = mappingDataType.GetPublicInstanceProperty("ElementIndex");

            // ReSharper disable once AssignNullToNotNullAttribute
            return(Expression.Property(parentContextAccess, elementIndexProperty));
        }
 private NumberOfMetaMemberPart(IMemberMapperData mapperData)
     : base(mapperData)
 {
 }
 private static Expression GetCreationCallbackOrNull(CallbackPosition callbackPosition, IMemberMapperData mapperData)
 => mapperData.MapperContext.UserConfigurations.GetCreationCallbackOrNull(callbackPosition, mapperData);
 public static bool TryCreateFor(IMemberMapperData mapperData, ref MetaMemberPartBase metaMemberPart)
 => TryCreate(mapperData, ref metaMemberPart, md => new NumberOfMetaMemberPart(md));
 protected MetaMemberPartBase(IMemberMapperData mapperData)
 {
     MapperData = mapperData;
 }
        public Expression GetTargetMemberDictionaryEnumerableElementKey(Expression index, IMemberMapperData mapperData)
        {
            var keyParts        = mapperData.GetTargetMemberDictionaryKeyParts();
            var elementKeyParts = MapperData.GetTargetMemberDictionaryElementKeyParts(index);

            foreach (var elementKeyPart in elementKeyParts)
            {
                keyParts.Add(elementKeyPart);
            }

            return(TargetMemberKey = keyParts.GetStringConcatCall());
        }
 private HasMetaMemberPart(IMemberMapperData mapperData)
     : base(mapperData)
 {
 }
 public Expression GetJoiningName(Member member, IMemberMapperData mapperData)
 => _joinedNameFactory.Invoke(member, mapperData);
 protected EnumerablePositionMetaMemberPart(IMemberMapperData mapperData)
     : base(mapperData)
 {
 }
示例#23
0
 public static Expression GetQualifiedAccess(this IQualifiedMember sourceMember, IMemberMapperData mapperData)
 => sourceMember.GetQualifiedAccess(mapperData.SourceObject);
 public LastMetaMemberPart(IMemberMapperData mapperData)
     : base(mapperData)
 {
 }
示例#25
0
 public static string GetFriendlyTargetPath(this IQualifiedMember targetMember, IMemberMapperData rootMapperData)
 => GetFriendlyMemberPath(targetMember, rootMapperData.TargetMember);
 protected CountMetaMemberPartBase(IMemberMapperData mapperData)
     : base(mapperData)
 {
 }
 public static MemberInfo GetOrderMember(this IMemberMapperData mapperData, Type type)
 {
     return(type.GetPublicInstanceMember("Order") ??
            type.GetPublicInstanceMember("DateCreated") ??
            mapperData.GetIdentifierOrNull(type)?.MemberInfo);
 }
 private CountMetaMemberPart(IMemberMapperData mapperData)
     : base(mapperData)
 {
 }
 public static void RegisterTargetMemberDataSourcesIfRequired(
     this IMemberMapperData mapperData,
     DataSourceSet dataSources)
 {
     mapperData.Parent.DataSourcesByTargetMember.Add(mapperData.TargetMember, dataSources);
 }
 private static IList <IConfiguredDataSource> GetDataSources(
     IEnumerable <ConfiguredDataSourceFactory> factories,
     IMemberMapperData mapperData)
 {
     return(factories.Project(dsf => dsf.Create(mapperData)).ToArray());
 }