private RouteParamAttribute ConvertModelPropertyToQueryStringParamAttribute(SwaggerModelPropertyData modelPropertyData)
        {
            RouteParamAttribute routeParamAttribute = new RouteParamAttribute
            {
                Description = modelPropertyData.Description,
                Enum        = modelPropertyData.Enum?.ToArray(),
                Name        = modelPropertyData.Name,
                Required    = modelPropertyData.Required,
                UniqueItems = modelPropertyData.UniqueItems,
                ParamType   = modelPropertyData.Type,
                ParamIn     = ParameterIn.Query,
            };

            if (modelPropertyData.DefaultValue != null)
            {
                routeParamAttribute.DefaultValue = modelPropertyData.DefaultValue.ToString();
            }

            if (modelPropertyData.Maximum != null)
            {
                routeParamAttribute.Maximum = modelPropertyData.Maximum.Value;
            }

            if (modelPropertyData.Minimum != null)
            {
                routeParamAttribute.Minimum = modelPropertyData.Minimum.Value;
            }

            return(routeParamAttribute);
        }
Example #2
0
        private SwaggerModelPropertyData CreateSwaggerModelPropertyData(PropertyInfo pi)
        {
            var modelProperty = new SwaggerModelPropertyData
            {
                Type = pi.PropertyType,
                Name = pi.Name
            };

            foreach (var attr in pi.GetCustomAttributes <ModelPropertyAttribute>())
            {
                modelProperty.Name        = attr.Name ?? modelProperty.Name;
                modelProperty.Description = attr.Description ?? modelProperty.Description;
                modelProperty.Minimum     = attr.GetNullableMinimum() ?? modelProperty.Minimum;
                modelProperty.Maximum     = attr.GetNullableMaximum() ?? modelProperty.Maximum;
                modelProperty.Required    = attr.GetNullableRequired() ?? modelProperty.Required;
                modelProperty.UniqueItems = attr.GetNullableUniqueItems() ?? modelProperty.UniqueItems;
                modelProperty.Enum        = attr.Enum ?? modelProperty.Enum;
            }

            return(modelProperty);
        }
        private SwaggerModelPropertyData CreateSwaggerModelPropertyData(PropertyInfo pi)
        {
            var modelProperty = new SwaggerModelPropertyData
            {
                Type = pi.PropertyType,
                Name = pi.Name
            };

            foreach (var attr in pi.GetCustomAttributes<ModelPropertyAttribute>())
            {
                modelProperty.Name = attr.Name ?? modelProperty.Name;
                modelProperty.Description = attr.Description ?? modelProperty.Description;
                modelProperty.Minimum = attr.GetNullableMinimum() ?? modelProperty.Minimum;
                modelProperty.Maximum = attr.GetNullableMaximum() ?? modelProperty.Maximum;
                modelProperty.Required = attr.GetNullableRequired() ?? modelProperty.Required;
                modelProperty.UniqueItems = attr.GetNullableUniqueItems() ?? modelProperty.UniqueItems;
                modelProperty.Enum = attr.Enum ?? modelProperty.Enum;
            }

            return modelProperty;
        }
        private SwaggerModelPropertyData CreateSwaggerModelPropertyData(PropertyInfo pi, JsonSerializerSettings jsonSerializerSettings)
        {
            var modelProperty = new SwaggerModelPropertyData
            {
                Type          = pi.PropertyType,
                Name          = pi.Name,
                ExibitionName = PropertyInfoHelper.GetNameConsideringNewtonsoft(pi, jsonSerializerSettings),
            };

            foreach (var attr in pi.GetCustomAttributes <ModelPropertyAttribute>())
            {
                modelProperty.Name          = attr.Name ?? modelProperty.Name;
                modelProperty.ExibitionName = modelProperty.Name;
                modelProperty.Description   = attr.Description ?? modelProperty.Description;
                modelProperty.Minimum       = attr.GetNullableMinimum() ?? modelProperty.Minimum;
                modelProperty.Maximum       = attr.GetNullableMaximum() ?? modelProperty.Maximum;
                modelProperty.Required      = attr.GetNullableRequired() ?? modelProperty.Required;
                modelProperty.UniqueItems   = attr.GetNullableUniqueItems() ?? modelProperty.UniqueItems;
                modelProperty.Enum          = attr.Enum ?? modelProperty.Enum;
            }

            return(modelProperty);
        }
Example #5
0
        public SwaggerModelPropertyDataBuilderTests()
        {
            var data = new SwaggerModelPropertyData();

            builder = new SwaggerModelPropertyDataBuilder <int>(data);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="SwaggerRouteDataBuilder"/> class.
 /// </summary>
 /// <param name="data">The <see cref="SwaggerModelPropertyData"/> to build.</param>
 public SwaggerModelPropertyDataBuilder(SwaggerModelPropertyData data)
 {
     Data = data;
 }
        public SwaggerModelPropertyDataBuilderTests()
        {
            var data = new SwaggerModelPropertyData();

            builder = new SwaggerModelPropertyDataBuilder<int>(data);
        }
 public SwaggerModelPropertyDataTests()
 {
     propertyData = new SwaggerModelPropertyData();
 }
        private ModelProperty CreateModelProperty(SwaggerModelPropertyData modelPropertyData)
        {
            var propertyType = modelPropertyData.Type;

            var modelProperty = modelPropertyData.Type.ToDataType<ModelProperty>();
            modelProperty.DefaultValue = modelPropertyData.DefaultValue;
            modelProperty.Description = modelPropertyData.Description;
            modelProperty.Enum = modelPropertyData.Enum;
            modelProperty.Minimum = modelPropertyData.Minimum;
            modelProperty.Maximum = modelPropertyData.Maximum;

            if (modelPropertyData.Type.IsContainer()) {
                modelProperty.UniqueItems = modelPropertyData.UniqueItems;
            }

            return modelProperty;
        }