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 TypeBaseDTO ToBaseDTO(this TypeDataBaseDTO metadata) { if (metadata == null) { return(null); } return(new TypeBaseDTO { TypeName = metadata.TypeName, NamespaceName = metadata.NamespaceName, BaseType = metadata.BaseType.ToBaseDTO(), GenericArguments = CollectionToBaseDTO(metadata.GenericArguments, i => i.ToBaseDTO()), Modifiers = metadata.Modifiers.ToBaseDTO(), TypeKind1 = metadata.TypeKind1.ToBaseDTO(), ImplementedInterfaces = CollectionToBaseDTO(metadata.ImplementedInterfaces, i => i.ToBaseDTO()), NestedTypes = CollectionToBaseDTO(metadata.NestedTypes, i => i.ToBaseDTO()), Properties = CollectionToBaseDTO(metadata.Properties, i => i.ToBaseDTO()), DeclaringType = metadata.DeclaringType.ToBaseDTO(), Methods = CollectionToBaseDTO(metadata.Methods, i => i.ToBaseDTO()), Constructors = CollectionToBaseDTO(metadata.Constructors, i => i.ToBaseDTO()), Fields = CollectionToBaseDTO(metadata.Fields, i => i.ToBaseDTO()) }); }