Пример #1
0
        private void OnQuery(List <DimensionValues> dimensionValuesList)
        {
            var result = _reader.Query(dimensionValuesList);

            var table = _dataSet.Tables[0];

            table.Clear();

            foreach (var map in result)
            {
                var row = table.NewRow();

                foreach (var pair in map)
                {
                    if (table.Columns.Contains(pair.Key) == false)
                    {
                        continue;
                    }

                    var column = table.Columns[pair.Key];

                    if (column.DataType == typeof(DateTimeOffset))
                    {
                        var timestamp = Int64.Parse(pair.Value);
                        row[pair.Key] = Epoch.ToDateTimeOffset(timestamp);
                    }
                    else if (column.DataType == typeof(bool))
                    {
                        row[pair.Key] = bool.Parse(pair.Value);
                    }
                    else
                    {
                        row[pair.Key] = pair.Value;
                    }
                }

                table.Rows.Add(row);
            }
        }