Example #1
0
        private static void CreateSerieResult(QuerySerie serie, IObjectQuerySerie res, QueryResult result,
            QueryRoot root)
        {
            CreateSingleResult(serie, res, result);

            root.results.Add(result);
        }
Example #2
0
        private static void CreateSerieResult(QuerySerie serie, IObjectQuerySerie res, QueryResult result,
                                              QueryRoot root)
        {
            CreateSingleResult(serie, res, result);

            root.results.Add(result);
        }
Example #3
0
 public DataSerie(IObjectQuerySerie querySerie)
 {
     Rows        = new DataRows(querySerie.Rows);
     Name        = querySerie.FullName;
     StartTime   = querySerie.StartTime.ToFileTimeUtc();
     EndTime     = querySerie.EndTime.ToFileTimeUtc();
     PreviousRow = querySerie.PreviousRow?.ToArray();
     NextRow     = querySerie.NextRow?.ToArray();
 }
Example #4
0
 public ObjectQuerySerie(IObjectQuerySerie serie)
 {
     StartTime   = serie.StartTime;
     EndTime     = serie.EndTime;
     Name        = serie.Name;
     NextRow     = serie.NextRow;
     PreviousRow = serie.PreviousRow;
     LastRow     = serie.LastRow;
     GroupName   = serie.GroupName;
     Key         = serie.Key;
     IsDbSerie   = serie.IsDbSerie;
 }
Example #5
0
        public void GroupByExpressionHoursButExpanded()
        {
            var sw = Stopwatch.StartNew();
            INullableQuerySerie <float> nullableQuerySerie  = _unitUnderTest9m.GroupBy("3h", a => a.First());
            IReadOnlyList <ISingleDataRow <float?> > result = nullableQuerySerie.Rows;
            IObjectQuerySerie result2 = nullableQuerySerie;
            object            val     = result2.Rows.First().Value;

            result[0].TimeUtc.Should().Be(new DateTime(2010, 1, 1, 12, 0, 0, DateTimeKind.Utc));
            result[1].TimeUtc.Should().Be(new DateTime(2010, 1, 1, 15, 0, 0, DateTimeKind.Utc));
            sw.Stop();
        }
Example #6
0
 public ObjectQuerySerie(IObjectQuerySerie serie)
 {
     StartTime = serie.StartTime;
     EndTime = serie.EndTime;
     Name = serie.Name;
     NextRow = serie.NextRow;
     PreviousRow = serie.PreviousRow;
     LastRow = serie.LastRow;
     GroupName = serie.GroupName;
     Key = serie.Key;
     IsDbSerie = serie.IsDbSerie;
 }
Example #7
0
        private static void CreateSingleResult(QuerySerie serie, IObjectQuerySerie res, QueryResult result)
        {
            serie.name = res.FullName;
            serie.columns.Add("time");
            serie.columns.Add("value");

            serie.values.AddRange(res.Rows.Select(i => new List<object> {i.TimeUtc.ToMiliSecondsAfter1970Utc(), i.Value}));
            if (res.LastRow != null)
            {
                serie.values.AddRange(
                    res.Rows.Select(
                        i => new List<object> {res.LastRow.TimeUtc.ToMiliSecondsAfter1970Utc(), res.LastRow.Value}));
            }

            result.series.Add(serie);
        }
Example #8
0
        public async Task <DataSerie> BinaryQuerySerie(string dbName)
        {
            using (MeLog.LogDebug($"db: {dbName}"))
            {
                byte[] query = await Request.Content.ReadAsByteArrayAsync();

                var queryExpression =
                    ((Expression <Func <IDb, IObjectQuerySerie> >)LinqSerializer.DeserializeBinary(query)).Compile();

                Locker.ReaderLock(() =>
                {
                    var myDb = DbService.DbManagement.GetDb(dbName);
                    IObjectQuerySerie result = queryExpression(myDb);
                    return(new DataSerie(result));
                });
                return(null);
            }
        }
Example #9
0
        private static void CreateSingleResult(QuerySerie serie, IObjectQuerySerie res, QueryResult result)
        {
            serie.name = res.FullName;
            serie.columns.Add("time");
            serie.columns.Add("value");

            serie.values.AddRange(res.Rows.Select(i => new List <object> {
                i.TimeUtc.ToMiliSecondsAfter1970Utc(), i.Value
            }));
            if (res.LastRow != null)
            {
                serie.values.AddRange(
                    res.Rows.Select(
                        i => new List <object> {
                    res.LastRow.TimeUtc.ToMiliSecondsAfter1970Utc(), res.LastRow.Value
                }));
            }

            result.series.Add(serie);
        }