Пример #1
0
        private RawTableInfo GetRawTableInfo(RawTableInfo info, IEnumerable <int> rows)
        {
            if (this is IRootTable)
            {
                info.Add((IRootTable)this, CalculateRowReferenceList());
            }
            else
            {
                for (int i = 0; i < referenceList.Length; ++i)
                {
                    IEnumerable <int> newRowSet = new List <int>(rows);

                    // Resolve the rows into the parents indices.
                    newRowSet = ResolveRowsForTable(newRowSet, i);

                    var table = referenceList[i];
                    if (table is IRootTable)
                    {
                        info.Add((IRootTable)table, newRowSet.ToArray());
                    }
                    else if (table is JoinedTable)
                    {
                        ((JoinedTable)table).GetRawTableInfo(info, newRowSet);
                    }
                }
            }

            return(info);
        }
Пример #2
0
        protected override RawTableInfo GetRawTableInfo(RawTableInfo rootInfo)
        {
            var rows = this.Select(x => x.RowId.RowNumber).ToArray();

            rootInfo.Add(this, rows);
            return(rootInfo);
        }
Пример #3
0
        protected override RawTableInfo GetRawTableInfo(RawTableInfo rootInfo)
        {
            var rows = this.Select(row => row.RowId.RowNumber).ToList();

            rootInfo.Add(this, rows);
            return(rootInfo);
        }
Пример #4
0
        protected override RawTableInfo GetRawTableInfo(RawTableInfo rootInfo)
        {
            var tableRows = rows.Select((item, index) => (long)index).ToBigList();

            rootInfo.Add(this, tableRows);

            return(rootInfo);
        }
Пример #5
0
        internal static RawTableInfo GetRawTableInfo(this IRootTable table, RawTableInfo rootInfo)
        {
            var rows = table.Select(x => x.Number).ToBigList();

            rootInfo.Add(table, rows);

            return(rootInfo);
        }