예제 #1
0
        public void Add(Type type)
        {
            var mapping = type.InstantiateUsingParameterlessConstructor();

            if (mapping is IMappingProvider)
            {
                log.FluentMappingDiscovered(type);
                Add((IMappingProvider)mapping);
            }
            else if (mapping is IIndeterminateSubclassMappingProvider)
            {
                log.FluentMappingDiscovered(type);
                Add((IIndeterminateSubclassMappingProvider)mapping);
            }
            else if (mapping is IFilterDefinition)
            {
                Add((IFilterDefinition)mapping);
            }
            else if (mapping is IExternalComponentMappingProvider)
            {
                log.FluentMappingDiscovered(type);
                Add((IExternalComponentMappingProvider)mapping);
            }
            else
            {
                throw new InvalidOperationException("Unsupported mapping type '" + type.FullName + "'");
            }
        }
예제 #2
0
        //PROTOTYPE1: ADDED
        public void Add(object mapping)
        {
            var type = mapping.GetType();

            if (mapping is IMappingProvider)
            {
                log.FluentMappingDiscovered(type);
                Add((IMappingProvider)mapping);
            }
            else if (mapping is IIndeterminateSubclassMappingProvider)
            {
                log.FluentMappingDiscovered(type);
                Add((IIndeterminateSubclassMappingProvider)mapping);
            }
            else if (mapping is IFilterDefinition)
            {
                Add((IFilterDefinition)mapping);
            }
            else if (mapping is IExternalComponentMappingProvider)
            {
                log.FluentMappingDiscovered(type);
                Add((IExternalComponentMappingProvider)mapping);
            }
            else
            {
                throw new InvalidOperationException("Unsupported mapping type '" + type.FullName + "'");
            }
        }
        public void Add(Type type)
        {
            var mapping = type.InstantiateUsingParameterlessConstructor();

            if (mapping is IMappingProvider)
            {
                if (mapping.GetType().BaseType != null && mapping.GetType().BaseType.IsGenericType)
                {
                    if (mapping.GetType().BaseType.GetGenericTypeDefinition() == typeof(ClassMap <>))
                    {
                        Log.FluentMappingDiscovered(type);
                        Add((IMappingProvider)mapping);
                    }
                    else if (mapping.GetType().BaseType.GetGenericTypeDefinition() == typeof(SubclassMap <>))
                    {
                        AddSubclassMap((IMappingProvider)mapping);
                    }
                }
            }
            else
            {
                throw new InvalidOperationException("Unsupported mapping type '" + type.FullName + "'");
            }
        }