コード例 #1
0
 private static DTGTypeMetadata EmitExtendsDTG(DatabaseTypeMetadata baseType)
 {
     if (baseType == null)
     {
         return(null);
     }
     return(EmitReferenceDTG(baseType));
 }
コード例 #2
0
 private static DTGTypeMetadata EmitDeclaringTypeDTG(DatabaseTypeMetadata declaringType)
 {
     if (declaringType == null)
     {
         return(null);
     }
     return(EmitReferenceDTG(declaringType));
 }
コード例 #3
0
 public static IEnumerable <DTGTypeMetadata> CheckGenericArgumentsDTG(DatabaseTypeMetadata typeMetadata)
 {
     if (typeMetadata.GenericArgumentsL != null)
     {
         return(EmitGenericArgumentsDTG(typeMetadata.GenericArgumentsL));
     }
     return(null);
 }
コード例 #4
0
        public static DTGTypeMetadata MapToDTG(DatabaseTypeMetadata typeMetadata)
        {
            DTGTypeMetadata DatabaseTypeMetadata = new DTGTypeMetadata
            {
                TypeName              = typeMetadata.TypeName,
                DeclaringType         = EmitDeclaringTypeDTG(typeMetadata.DeclaringType),
                Constructors          = DatabaseMethodMapper.EmitMethodsDTG(typeMetadata.ConstructorsL),
                Methods               = DatabaseMethodMapper.EmitMethodsDTG(typeMetadata.MethodsL),
                NestedTypes           = EmitNestedTypesDTG(typeMetadata.NestedTypesL),
                ImplementedInterfaces = EmitImplementsDTG(typeMetadata.ImplementedInterfacesL),
                GenericArguments      = CheckGenericArgumentsDTG(typeMetadata),
                BaseType              = EmitExtendsDTG(typeMetadata.BaseType),
                Properties            = DatabasePropertyMapper.EmitPropertiesDTG(typeMetadata.PropertiesL),
                IsGenericType         = typeMetadata.IsGenericType
            };

            return(DatabaseTypeMetadata);
        }
コード例 #5
0
        public static DatabaseTypeMetadata FillTypeDatabase(DatabaseTypeMetadata DTGTypeMetadata, DTGTypeMetadata typeMetadata)
        {
            DTGTypeMetadata.TypeName              = typeMetadata.TypeName;
            DTGTypeMetadata.DeclaringType         = EmitDeclaringTypeDatabase(typeMetadata.DeclaringType);
            DTGTypeMetadata.Constructors          = DatabaseMethodMapper.EmitMethodsDatabase(typeMetadata.Constructors);
            DTGTypeMetadata.Methods               = DatabaseMethodMapper.EmitMethodsDatabase(typeMetadata.Methods);
            DTGTypeMetadata.NestedTypes           = EmitNestedTypesDatabase(typeMetadata.NestedTypes);
            DTGTypeMetadata.ImplementedInterfaces = EmitImplementsDatabase(typeMetadata.ImplementedInterfaces);
            if (typeMetadata.GenericArguments != null)
            {
                DTGTypeMetadata.GenericArguments = EmitGenericArgumentsDatabase(typeMetadata.GenericArguments);
            }
            else
            {
                DTGTypeMetadata.GenericArguments = null;
            }
            //DTGTypeMetadata.Modifiers = EmitModifiers(typeMetadata);
            DTGTypeMetadata.BaseType   = EmitExtendsDatabase(typeMetadata.BaseType);
            DTGTypeMetadata.Properties = DatabasePropertyMapper.EmitPropertiesDatabase(typeMetadata.Properties);

            return(DTGTypeMetadata);
        }
コード例 #6
0
        internal static DTGTypeMetadata EmitReferenceDTG(DatabaseTypeMetadata type)
        {
            if (type == null)
            {
                return(null);
            }
            if (HelperDictonaries.TypeDictonaryToDTG.ContainsKey(type))
            {
                return(HelperDictonaries.TypeDictonaryToDTG[type]);
            }


            if (!type.IsGenericType)
            {
                HelperDictonaries.TypeDictonaryToDTG[type] = MapToDTG(type);

                return(HelperDictonaries.TypeDictonaryToDTG[type]);
            }
            else
            {
                return(MapToDTG(type));
            }
        }