private BaseOutputClass CreateDefinition(string name, DocumentSchema schema) { if (schema.Ref != null) { var refName = schema.Ref.Remove("#/components/schemas/".Length); var @class = new OutputClass() { Name = refName }; return(@class); } if (schema.Enum != null) { //create enum var @enum = new OutputEnum() { Name = name }; @enum.SetType(schema); @enum.Types = schema.Enum; return(@enum); } else { //create class var @class = new OutputClass() { Name = name }; @class.SetType(schema); return(@class); } }
public static BaseOutputClass GetClassDefinition(DocumentSchema schema, List <BaseOutputClass> baseOutputClasses = null) { if (schema.Ref != null) { var refName = schema.Ref.Substring("#/components/schemas/".Length); if (baseOutputClasses != null) { var item = baseOutputClasses.FirstOrDefault(p => p.Name == refName); if (item != null) { if (item is OutputEnum) { var @enum = new OutputEnum() { Name = refName }; return(@enum); } } } var @class = new OutputClass() { Name = refName }; return(@class); } if (schema.Enum != null) { //create enum var @enum = new OutputEnum() { }; @enum.SetType(schema); @enum.Types = schema.Enum; return(@enum); } else { //create class var @class = new OutputClass() { }; @class.SetType(schema); return(@class); } }