public static NamespaceMetadata MapToModel(DTGNamespaceMetadata namespaceMetadata) { var m_NamespaceName = namespaceMetadata.NamespaceName; //May be even more beneficial to create all types from all namespaces beforehand foreach (var type in namespaceMetadata.Types) { HelperDictonaries.TypeDictonaryForModel[type] = TypeMapper.MapToModel(type); } var m_Types = from type in namespaceMetadata.Types orderby type.TypeName select TypeMapper.FillTypeModel(HelperDictonaries.TypeDictonaryForModel[type], type); NamespaceMetadata namespaceModel = new NamespaceMetadata { NamespaceName = m_NamespaceName, Types = m_Types }; return(namespaceModel); }
internal static TypeMetadata EmitReferenceModel(DTGTypeMetadata type) { if (type == null) { return(null); } if (HelperDictonaries.TypeDictonaryForModel.ContainsKey(type)) { return(HelperDictonaries.TypeDictonaryForModel[type]); } if (!type.IsGenericType) { HelperDictonaries.TypeDictonaryForModel[type] = MapToModel(type); return(HelperDictonaries.TypeDictonaryForModel[type]); } else { return(TypeMapper.MapToModel(type)); } }