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);
        }
Пример #2
0
        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
                    });
                }
            }
        }