Exemple #1
0
 public void AdaptFieldsCreatedFromTransforms()
 {
     foreach (var method in Transform.ProducerSet())
     {
         while (new TransformFieldsToParametersAdapter(this).Adapt(method) > 0)
         {
             new TransformFieldsMoveAdapter(this).Adapt(method);
         }
     }
 }
Exemple #2
0
        public void MergeParameters()
        {
            foreach (var field in Fields)
            {
                foreach (var transform in field.Transforms.Where(t => t.Parameter != string.Empty && !Transform.ProducerSet().Contains(t.Method)))
                {
                    if (transform.Parameter == "*")
                    {
                        foreach (var f in Fields.Where(f => !f.System))
                        {
                            if (transform.Parameters.All(p => p.Field != f.Alias))
                            {
                                transform.Parameters.Add(GetParameter(Alias, f.Alias, f.Type));
                            }
                        }
                    }
                    else
                    {
                        transform.Parameters.Add(GetParameter(Alias, transform.Parameter));
                    }
                    transform.Parameter = string.Empty;
                    if (transform.Parameters.Count == 1 && transform.Parameters.First().Field == "*")
                    {
                        foreach (var f in Fields.Where(f => !f.System))
                        {
                            transform.Parameters.Add(GetParameter(Alias, f.Alias, f.Type));
                        }
                    }
                }
            }

            var index = 0;

            foreach (var calculatedField in CalculatedFields)
            {
                foreach (var transform in calculatedField.Transforms.Where(t => t.Parameter != string.Empty && !Transform.ProducerSet().Contains(t.Method)))
                {
                    if (transform.Parameter == "*")
                    {
                        foreach (var field in GetAllFields().Where(f => !f.System))
                        {
                            if (transform.Parameters.All(p => p.Field != field.Alias))
                            {
                                transform.Parameters.Add(GetParameter(Alias, field.Alias, field.Type));
                            }
                        }
                        var thisField = calculatedField.Name;
                        foreach (var calcField in CalculatedFields.Take(index).Where(cf => cf.Name != thisField))
                        {
                            transform.Parameters.Add(GetParameter(Alias, calcField.Alias, calcField.Type));
                        }
                    }
                    else
                    {
                        transform.Parameters.Add(GetParameter(Alias, transform.Parameter));
                    }
                    transform.Parameter = string.Empty;
                    if (transform.Parameters.Count == 1 && transform.Parameters.First().Field == "*")
                    {
                        foreach (var f in GetAllFields().Where(f => !f.System))
                        {
                            transform.Parameters.Add(GetParameter(Alias, f.Alias, f.Type));
                        }
                    }
                }
                index++;
            }
        }