public static Type_DTO MapToSerializationModel(this TypeBaseDTO metadata) { if (metadata == null) { return(null); } if (KnowTypes.ContainsKey(metadata.TypeName)) { return(KnowTypes[metadata.TypeName]); } Type_DTO type_ = new Type_DTO { TypeName = metadata.TypeName, NamespaceName = metadata.NamespaceName, BaseType = metadata.BaseType.MapToSerializationModel(), GenericArguments = CollectionMapToObject(metadata.GenericArguments, i => i.MapToSerializationModel()), Modifiers = metadata.Modifiers.MapToSerializationModel(), TypeKind1 = metadata.TypeKind1.MapToSerializationModel(), ImplementedInterfaces = CollectionMapToObject(metadata.ImplementedInterfaces, i => i.MapToSerializationModel()), NestedTypes = CollectionMapToObject(metadata.NestedTypes, i => i.MapToSerializationModel()), Properties = CollectionMapToObject(metadata.Properties, i => i.MapToSerializationModel()), DeclaringType = metadata.DeclaringType.MapToSerializationModel(), Methods = CollectionMapToObject(metadata.Methods, i => i.MapToSerializationModel()), Constructors = CollectionMapToObject(metadata.Constructors, i => i.MapToSerializationModel()), Fields = CollectionMapToObject(metadata.Fields, i => i.MapToSerializationModel()) }; KnowTypes.Add(metadata.TypeName, type_); return(type_); }
public static TypeDataBaseDTO MapToDatabaseModel(this TypeBaseDTO metadata) { if (metadata == null) { return(null); } if (types.ContainsKey(metadata.TypeName)) { return(types[metadata.TypeName]); } if (!types.ContainsKey(metadata.TypeName)) { types.Add(metadata.TypeName, null); } //Console.WriteLine(metadata.TypeName + "\n"); TypeDataBaseDTO typeDataBaseDTO = new TypeDataBaseDTO { TypeName = metadata.TypeName, NamespaceName = metadata.NamespaceName, BaseType = metadata.BaseType.MapToDatabaseModel(), GenericArguments = CollectionMapToObject(metadata.GenericArguments, i => i.MapToDatabaseModel()), Modifiers = metadata.Modifiers.MapToDatabaseModel(), TypeKind1 = metadata.TypeKind1.MapToDatabaseModel(), ImplementedInterfaces = CollectionMapToObject(metadata.ImplementedInterfaces, i => i.MapToDatabaseModel()), NestedTypes = CollectionMapToObject(metadata.NestedTypes, i => i.MapToDatabaseModel()), DeclaringType = metadata.DeclaringType.MapToDatabaseModel(), Constructors = CollectionMapToObject(metadata.Constructors, i => i.MapToDatabaseModel()), }; if (types.ContainsKey(metadata.TypeName)) { types[metadata.TypeName] = typeDataBaseDTO; } if (types.ContainsKey(metadata.TypeName)) { return(types[metadata.TypeName]); } return(typeDataBaseDTO); }
public static TypeMetadata MapToObject(this TypeBaseDTO metadata) { if (metadata == null) { return(null); } return(new TypeMetadata { TypeName = metadata.TypeName, NamespaceName = metadata.NamespaceName, BaseType = metadata.BaseType.MapToObject(), GenericArguments = CollectionMapToObject(metadata.GenericArguments, i => i.MapToObject()), Modifiers = metadata.Modifiers.MapToObject(), TypeKind1 = metadata.TypeKind1.MapToObject(), ImplementedInterfaces = CollectionMapToObject(metadata.ImplementedInterfaces, i => i.MapToObject()), NestedTypes = CollectionMapToObject(metadata.NestedTypes, i => i.MapToObject()), Properties = CollectionMapToObject(metadata.Properties, i => i.MapToObject()), DeclaringType = metadata.DeclaringType.MapToObject(), Methods = CollectionMapToObject(metadata.Methods, i => i.MapToObject()), Constructors = CollectionMapToObject(metadata.Constructors, i => i.MapToObject()), Fields = CollectionMapToObject(metadata.Fields, i => i.MapToObject()) }); }