private SwaggerParameter FindParameterEx()

in openapi-diff/src/modeler/AutoRest.Swagger/Model/Operation.cs [427:451]


        private SwaggerParameter FindParameterEx(
            SwaggerParameter parameter,
            IList<SwaggerParameter> operationParameters,
            IDictionary<string, SwaggerParameter> clientParameters)
        {
            if (Parameters != null)
            {
                // first try to find the param has same 'name' and 'in'
                foreach (SwaggerParameter param in operationParameters)
                {
                    if (parameter.Name.Equals(param.Name) && parameter.In.Equals(param.In))
                        return param;

                    var pRef = FindReferencedParameter(param.Reference, clientParameters);

                    if (pRef != null && parameter.Name.Equals(pRef.Name) && parameter.In.Equals(pRef.In))
                    {
                        return pRef;
                    }
                }
            }
            
            // then try to find the parameter has same 'name'
            return FindParameter(parameter.Name, operationParameters, clientParameters);
        }