public static List <OutputResponse> ParseResponses(Dictionary <string, DocumentResponse> responses, List <BaseOutputClass> baseOutputClasses) { var list = new List <OutputResponse>(); foreach (var response in responses) { if (response.Value.Content != null) { var schema = response.Value.Content["application/json"].Schema; var item = new OutputResponse() { Code = Int32.Parse(response.Key), Class = ClassFactory.GetClassDefinition(schema, baseOutputClasses) }; list.Add(item); } } return(list); }
public void SetProperties(ClassFactory factory, List <BaseOutputClass> list, DocumentSchema schema) { if (schema.Properties != null && schema.Properties.Count > 0) { Properties = new List <ClassProperty>(); foreach (var property in schema.Properties) { var propertyValue = property.Value; var @ref = propertyValue.Ref ?? propertyValue.AllOf?.Ref; var innerEntity = @ref != null? list.First(p => p.ReferenceName == @ref) : factory.CreateDefinitionWithDeep(property.Value, list); Properties.Add(new ClassProperty() { IsNullable = !schema.Required.Contains(property.Key), Name = property.Key, Class = innerEntity }); } } }