Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }