コード例 #1
0
ファイル: HistoryPlot.cs プロジェクト: ifakFAST/Mediator.Net
        private (Timestamp left, Timestamp right) GetTimeWindow(TimeRange range, List <VTTQs> data)
        {
            switch (range.Type)
            {
            case TimeType.Last:

                Timestamp?latest = data.Any(x => x.Count > 0) ? data.Where(x => x.Count > 0).Max(vtqs => vtqs.Last().T) : (Timestamp?)null;
                var       now    = Timestamp.Now.TruncateMilliseconds().AddSeconds(1);
                var       right  = latest.HasValue ? Timestamp.MaxOf(now, latest.Value) : now;
                var       left   = now - TimeRange.DurationFromTimeRange(range);
                return(left, right);

            case TimeType.Range:

                return(range.GetStart(), range.GetEnd());

            default:
                throw new Exception("Unknown range type: " + range.Type);
            }
        }