Ejemplo n.º 1
0
        private IVariableFilter[] ConvertFilters(IVariableFilter[] filters)
        {
            //rewrite variable value filter to the domain of the source.
            IList <IVariableFilter> filterList = new List <IVariableFilter>();

            foreach (var filter in filters)
            {
                //TODO: rewrite to IEnumerable etc
                if (filter is IVariableValueFilter && filter.Variable.Parent == variableToConvert)
                {
                    var   variableValueFilter = filter as IVariableValueFilter;
                    IList values = new List <TSource>();
                    foreach (TTarget obj in variableValueFilter.Values)
                    {
                        values.Add(toSource(obj));
                    }
                    filterList.Add(variableToConvert.CreateValuesFilter(values));
                }
                else
                {
                    filterList.Add(filter);
                }
            }
            return(filterList.ToArray());
        }