AW.Webapi.Sample.Areas.HelpPage.HelpPageConfigurationExtensions.TryGetResourceParameter C# (CSharp) Method

TryGetResourceParameter() private static method

private static TryGetResourceParameter ( System.Web.Http.Description.ApiDescription apiDescription, System.Web.Http.HttpConfiguration config, System.Web.Http.Description.ApiParameterDescription &parameterDescription, Type &resourceType ) : bool
apiDescription System.Web.Http.Description.ApiDescription
config System.Web.Http.HttpConfiguration
parameterDescription System.Web.Http.Description.ApiParameterDescription
resourceType System.Type
return bool
        private static bool TryGetResourceParameter(ApiDescription apiDescription, HttpConfiguration config, out ApiParameterDescription parameterDescription, out Type resourceType)
        {
            parameterDescription = apiDescription.ParameterDescriptions.FirstOrDefault(
                p => p.Source == ApiParameterSource.FromBody ||
                    (p.ParameterDescriptor != null && p.ParameterDescriptor.ParameterType == typeof(HttpRequestMessage)));

            if (parameterDescription == null)
            {
                resourceType = null;
                return false;
            }

            resourceType = parameterDescription.ParameterDescriptor.ParameterType;

            if (resourceType == typeof(HttpRequestMessage))
            {
                HelpPageSampleGenerator sampleGenerator = config.GetHelpPageSampleGenerator();
                resourceType = sampleGenerator.ResolveHttpRequestMessageType(apiDescription);
            }

            if (resourceType == null)
            {
                parameterDescription = null;
                return false;
            }

            return true;
        }