internal static DataTable_internal DeserializeDataTable_internal(JsonElement element)
        {
            DataTable_internal result = new DataTable_internal();

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("rows"))
                {
                    result.Rows = property.Value.GetInt32();
                    continue;
                }
                if (property.NameEquals("columns"))
                {
                    result.Columns = property.Value.GetInt32();
                    continue;
                }
                if (property.NameEquals("cells"))
                {
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        result.Cells.Add(DataTableCell_internal.DeserializeDataTableCell_internal(item));
                    }
                    continue;
                }
            }
            return(result);
        }
Пример #2
0
 internal FormTable(DataTable_internal table, ReadResult_internal readResult)
     : base(null, readResult.Page, null) // TODO: retrieve text and bounding box.
 {
     ColumnCount = table.Columns;
     RowCount    = table.Rows;
     Cells       = ConvertCells(table.Cells, readResult);
 }
Пример #3
0
        internal FormTable(DataTable_internal table, IReadOnlyList <ReadResult_internal> readResults, int pageIndex)
        {
            ReadResult_internal readResult = readResults[pageIndex];

            PageNumber  = readResult.Page;
            ColumnCount = table.Columns;
            RowCount    = table.Rows;
            Cells       = ConvertCells(table.Cells, readResults, readResult.Page);
        }
Пример #4
0
        internal static PageResult_internal DeserializePageResult_internal(JsonElement element)
        {
            int page      = default;
            int?clusterId = default;
            IReadOnlyList <KeyValuePair_internal> keyValuePairs = default;
            IReadOnlyList <DataTable_internal>    tables        = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("page"))
                {
                    page = property.Value.GetInt32();
                    continue;
                }
                if (property.NameEquals("clusterId"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    clusterId = property.Value.GetInt32();
                    continue;
                }
                if (property.NameEquals("keyValuePairs"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    List <KeyValuePair_internal> array = new List <KeyValuePair_internal>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(KeyValuePair_internal.DeserializeKeyValuePair_internal(item));
                    }
                    keyValuePairs = array;
                    continue;
                }
                if (property.NameEquals("tables"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    List <DataTable_internal> array = new List <DataTable_internal>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(DataTable_internal.DeserializeDataTable_internal(item));
                    }
                    tables = array;
                    continue;
                }
            }
            return(new PageResult_internal(page, clusterId, keyValuePairs, tables));
        }
        internal static PageResult_internal DeserializePageResult_internal(JsonElement element)
        {
            PageResult_internal result = new PageResult_internal();

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("page"))
                {
                    result.Page = property.Value.GetInt32();
                    continue;
                }
                if (property.NameEquals("clusterId"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    result.ClusterId = property.Value.GetInt32();
                    continue;
                }
                if (property.NameEquals("keyValuePairs"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    result.KeyValuePairs = new List <KeyValuePair_internal>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        result.KeyValuePairs.Add(KeyValuePair_internal.DeserializeKeyValuePair_internal(item));
                    }
                    continue;
                }
                if (property.NameEquals("tables"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    result.Tables = new List <DataTable_internal>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        result.Tables.Add(DataTable_internal.DeserializeDataTable_internal(item));
                    }
                    continue;
                }
            }
            return(result);
        }
Пример #6
0
 internal ExtractedTable(DataTable_internal table, ReadResult_internal readResult)
 {
     ColumnCount = table.Columns;
     RowCount    = table.Rows;
     Cells       = ConvertCells(table.Cells, readResult);
 }