Apistry.WebApiDocumentationProvider.CreateHttpActionRequestParameters C# (CSharp) Method

CreateHttpActionRequestParameters() private method

private CreateHttpActionRequestParameters ( HttpActionDescriptor httpActionDescriptor, HttpActionDocumentationMetadata actionDocumentationMetadata ) : IEnumerable
httpActionDescriptor HttpActionDescriptor
actionDocumentationMetadata Apistry.ApiController.HttpActionDocumentationMetadata
return IEnumerable
        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);
        }