private IEnumerable<HttpActionRequestParameterDocumentation> CreateHttpActionRequestParameters(HttpActionDescriptor httpActionDescriptor, HttpActionDocumentationMetadata actionDocumentationMetadata)
{
return
from parameterDescriptor in httpActionDescriptor.GetParameters()
where parameterDescriptor.ParameterBinderAttribute is FromUriAttribute || TypeHelper.CanConvertFromString(parameterDescriptor.ParameterType)
let parameterDescription =
actionDocumentationMetadata.HttpActionParameters
.Any(parameterDocumentation =>
parameterDocumentation.Name.Equals(parameterDescriptor.ParameterName) &&
parameterDocumentation.Type.Equals(parameterDescriptor.ParameterType))
? actionDocumentationMetadata.HttpActionParameters
.Single(parameterDocumentation =>
parameterDocumentation.Name.Equals(parameterDescriptor.ParameterName) &&
parameterDocumentation.Type.Equals(parameterDescriptor.ParameterType)).Description
: String.Empty
select new HttpActionRequestParameterDocumentation(
parameterDescriptor.ParameterName,
GetProperyTypeName(parameterDescriptor.ParameterType),
parameterDescription,
!parameterDescriptor.IsOptional);
}