private void ConfigureParameterName(FunctionParameter parameter) { if (string.IsNullOrWhiteSpace(this.ParameterName) || string.Equals(this.ParameterName, parameter.Name, StringComparison.Ordinal)) { return; } parameter.Name = this.ParameterName; IEnumerable <FunctionParameter> ts = parameter.DeclaringFunction.Parameters.Select(p => new { p = p, configuration = p.GetConfiguration() as PrimitivePropertyConfiguration }).Where(_param1 => { if (_param1.p == parameter || !string.Equals(this.ParameterName, _param1.p.Name, StringComparison.Ordinal)) { return(false); } if (_param1.configuration != null) { return(_param1.configuration.ParameterName == null); } return(true); }).Select(_param0 => _param0.p); List <FunctionParameter> renamedParameters = new List <FunctionParameter>() { parameter }; ts.Each <FunctionParameter>((Action <FunctionParameter>)(c => { c.Name = ((IEnumerable <INamedDataModelItem>)renamedParameters).UniquifyName(this.ParameterName); renamedParameters.Add(c); })); parameter.SetConfiguration((object)this); }
private void ConfigureParameterName(FunctionParameter parameter) { DebugCheck.NotNull(parameter); if (string.IsNullOrWhiteSpace(ParameterName) || string.Equals(ParameterName, parameter.Name, StringComparison.Ordinal)) { return; } parameter.Name = ParameterName; // find other unconfigured parameters that have the same preferred name var pendingRenames = from p in parameter.DeclaringFunction.Parameters let configuration = p.GetConfiguration() as PrimitivePropertyConfiguration where (p != parameter) && string.Equals(ParameterName, p.Name, StringComparison.Ordinal) && ((configuration == null) || (configuration.ParameterName == null)) select p; var renamedParameters = new List <FunctionParameter> { parameter }; // re-uniquify the conflicting parameters pendingRenames .Each( c => { c.Name = renamedParameters.UniquifyName(ParameterName); renamedParameters.Add(c); }); parameter.SetConfiguration(this); }