Esempio n. 1
0
        internal static List <string> GetOutputDepVariables(DataColumn column)
        {
            List <string> list     = new List <string>();
            Variable      variable = column.ExtendedProperties["Variable"] as Variable;

            if (variable != null)
            {
                string text = variable.Value as string;
                if (DDIHelper.IsLambdaExpression(text))
                {
                    list = ExpressionCalculator.BuildColumnExpression(text).DependentColumns;
                }
                else
                {
                    list.AddRange(DDIHelper.GetCodeBehindRegisteredDepVariables(column));
                }
            }
            return(list);
        }
Esempio n. 2
0
        internal override void LoadMetaData(DataRow input, DataTable dataTable, DataObjectStore store, IList <string> outputVariables, out Dictionary <string, ValidatorInfo[]> validators, out IList <string> readOnlyProperties, out IList <string> notAccessProperties, Service service)
        {
            base.LoadMetaData(input, dataTable, store, outputVariables, out validators, out readOnlyProperties, out notAccessProperties, service);
            bool flag = true.Equals(dataTable.Rows[0]["IsReadOnly"]);

            foreach (object obj in dataTable.Columns)
            {
                DataColumn dataColumn = (DataColumn)obj;
                Variable   variable   = dataColumn.ExtendedProperties["Variable"] as Variable;
                if (variable != null)
                {
                    if (outputVariables == null || outputVariables.Contains(dataColumn.ColumnName, StringComparer.OrdinalIgnoreCase))
                    {
                        if (this.IncludeValidator)
                        {
                            ValidatorInfo[] array = ValidatorHelper.ValidatorsFromPropertyDefinition(dataColumn.ExtendedProperties["PropertyDefinition"] as ProviderPropertyDefinition);
                            if (array.Length != 0)
                            {
                                validators[dataColumn.ColumnName] = array;
                            }
                        }
                        if (this.IncludeNotAccessProperty)
                        {
                            bool?flag2 = this.IsVariableAccessible(input, dataTable, store, variable, DDIHelper.GetOutputDepVariables(dataColumn));
                            if (flag2.IsFalse())
                            {
                                notAccessProperties.Add(variable.Name);
                            }
                        }
                    }
                    if (this.IncludeReadOnlyProperty)
                    {
                        bool?flag3 = this.IsVariableSettable(input, dataTable, store, variable, service, DDIHelper.GetCodeBehindRegisteredDepVariables(dataColumn));
                        if (flag3.IsFalse() || flag)
                        {
                            readOnlyProperties.Add(variable.Name);
                        }
                    }
                }
            }
        }