internal static IEnumerable <string> GetOutputRawVariables(IEnumerable <DataColumn> columns) { List <string> list = new List <string>(); foreach (DataColumn dataColumn in columns) { List <string> outputDepVariables = DDIHelper.GetOutputDepVariables(dataColumn); if (outputDepVariables == null || outputDepVariables.Count == 0) { list.Add(dataColumn.ColumnName); } else { list.AddRange(outputDepVariables); } } return(list.Distinct <string>()); }
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); } } } } }