Example #1
0
        }         // proc OnInitialized

        PpsDataFieldInfo IPpsDataFieldResolver.ResolveColumn(IServiceProvider serviceProvider, string fieldExpression)
        {
            CheckInitialized();

            var p = fieldExpression.IndexOf('.');

            if (p == -1)             // we expected Table.Column
            {
                return(null);
            }

            var tableName        = fieldExpression.Substring(0, p);
            var table            = dataset.FindTable(tableName) ?? throw new ArgumentOutOfRangeException(nameof(tableName), tableName, "Could not locate table.");
            var columnExpression = fieldExpression.Substring(p + 1);

            return(PpsDataTableResolver.TryResolveColumn(
                       table,
                       columnExpression,
                       PpsDataFieldBinding.CombinePath(BindingPath, columnExpression),
                       out var fieldInfo
                       )
                                ? fieldInfo
                                : throw new ArgumentOutOfRangeException(nameof(fieldExpression), fieldExpression, "Could not resolve field expression."));
        }         // func ReolveDataFieldInfo
Example #2
0
        }         // ctor

        private static PpsDataTableDefinition ResolveDataTable(PpsDataSetDefinition dataset, string tableName)
        => dataset.FindTable(tableName) ?? throw new ArgumentOutOfRangeException(nameof(tableName), tableName, "Could not resolve table.");