Ejemplo n.º 1
0
        public static bool TargetMemberIsUnmappable <TTMapperData>(
            this TTMapperData mapperData,
            QualifiedMember targetMember,
            Func <TTMapperData, IEnumerable <ConfiguredDataSourceFactory> > configuredDataSourcesFactory,
            UserConfigurationSet userConfigurations,
            out string reason)
            where TTMapperData : IBasicMapperData
        {
            if (targetMember == QualifiedMember.All)
            {
                reason = null;
                return(false);
            }

            if ((mapperData.TargetType != mapperData.SourceType) &&
                targetMember.LeafMember.IsEntityId() &&
                !userConfigurations.MapEntityKeys(mapperData) &&
                configuredDataSourcesFactory.Invoke(mapperData).None())
            {
                reason = "Entity key member";
                return(true);
            }

            return(targetMember.IsUnmappable(out reason));
        }
Ejemplo n.º 2
0
        public ConverterSet(UserConfigurationSet userConfigurations)
        {
            _converters = new List <IValueConverter>
            {
                default(ToStringConverter),
                ToNumericConverter <int> .Instance,
                default(ToBoolConverter),
                new ToEnumConverter(userConfigurations),
                TryParseConverter <DateTime> .Instance,
#if NET35
                ToGuidConverter.Instance,
#else
                TryParseConverter <Guid> .Instance,
#endif
                ToNumericConverter <decimal> .Instance,
                ToNumericConverter <double> .Instance,
                ToNumericConverter <long> .Instance,
                TryParseConverter <DateTimeOffset> .Instance,
                TryParseConverter <TimeSpan> .Instance,
                default(ToCharacterConverter),
                ToNumericConverter <short> .Instance,
                ToNumericConverter <byte> .Instance,
                TryParseConverter.Instance,
                default(OperatorConverter),
                default(FallbackNonSimpleTypeValueConverter)
            };
        }
        public static bool TargetMemberIsUnmappable <TTMapperData>(
            this TTMapperData mapperData,
            QualifiedMember targetMember,
            Func <TTMapperData, IEnumerable <ConfiguredDataSourceFactory> > configuredDataSourcesFactory,
            UserConfigurationSet userConfigurations,
            out string reason)
            where TTMapperData : IBasicMapperData
        {
            if (targetMember == QualifiedMember.All)
            {
                reason = null;
                return(false);
            }

            if (!targetMember.LeafMember.IsEntityId() ||
                userConfigurations.MapEntityKeys(mapperData) ||
                configuredDataSourcesFactory.Invoke(mapperData).Any())
            {
                return(targetMember.IsUnmappable(out reason));
            }

            // If we're here:
            //   1. TargetMember is an Entity key
            //   2. No configuration exists to allow Entity key Mapping
            //   3. No configured data sources exist

            if (mapperData.RuleSet.Settings.AllowCloneEntityKeyMapping &&
                (mapperData.SourceType == mapperData.TargetType))
            {
                return(targetMember.IsUnmappable(out reason));
            }

            reason = "Entity key member";
            return(true);
        }
Ejemplo n.º 4
0
 public MapperContext()
 {
     Cache  = new CacheSet();
     Naming = new NamingSettings(Cache);
     QualifiedMemberFactory = new QualifiedMemberFactory(this);
     RootMembersSource      = new RootMembersSource(QualifiedMemberFactory);
     ObjectMapperFactory    = new ObjectMapperFactory(Cache);
     UserConfigurations     = new UserConfigurationSet(this);
     ConstructionFactory    = new ComplexTypeConstructionFactory(Cache);
     ValueConverters        = new ConverterSet(UserConfigurations);
     RuleSets = MappingRuleSetCollection.Default;
 }
Ejemplo n.º 5
0
 public MapperContext(NamingSettings namingSettings = null)
 {
     Cache               = new CacheSet();
     DataSources         = new DataSourceFinder();
     NamingSettings      = namingSettings ?? new NamingSettings();
     RootMembersSource   = new RootMembersSource(new RootQualifiedMemberFactory(this));
     ObjectMapperFactory = new ObjectMapperFactory(this);
     ObjectFlattener     = new ObjectFlattener();
     DerivedTypes        = new DerivedTypesCache();
     UserConfigurations  = new UserConfigurationSet();
     ValueConverters     = new ConverterSet();
     RuleSets            = new MappingRuleSetCollection();
 }
Ejemplo n.º 6
0
 public ToEnumConverter(UserConfigurationSet userConfigurations)
 {
     _userConfigurations = userConfigurations;
 }