private List <APIParameter> GetParameters(IEnumerable <XElement> elements, APIXmlNode Base = null) { List <APIParameter> _parameters = new List <APIParameter>(); if (elements != null) { foreach (var pelement in elements) { var _isQueryString = pelement.Attribute("QueryString")?.Value?.ToBool() ?? false; _parameters.Add(new APIParameter { ParametersAsQueryString = _isQueryString, Items = CreateDictionary(pelement, Base, _isQueryString, false) }); } } _parameters.Where(p => p.ParametersAsQueryString).SelectMany(p => p.Items).All(i => { ParametersQuery.Add(i.Key, i.Value); return(true); }); _parameters.Where(p => !p.ParametersAsQueryString).SelectMany(p => p.Items).All(i => { ParametersBody.Add(i.Key, i.Value); return(true); }); return(_parameters); }