private List <AdaptEvent> GetPoints(string root, DateTime start, DateTime end) { List <AdaptEvent> results = new List <AdaptEvent>(); byte[] data = File.ReadAllBytes(root); EventSummary pt = new EventSummary(data); if (pt.Tmin > end) { return(new List <AdaptEvent>()); } if (pt.Tmax < start) { return(new List <AdaptEvent>()); } int index = EventSummary.NSize; while (index < data.Length) { long ts = BitConverter.ToInt64(data, index); double value = BitConverter.ToDouble(data, index + 8); double[] parameters = new double[m_parameters.Count()]; for (int i = 0; i < parameters.Count(); i++) { parameters[i] = BitConverter.ToDouble(data, index + 8 + 8 + i * 8); } Gemstone.Ticks ticks = new Gemstone.Ticks(ts); index = index + 8 + 8 + parameters.Count() * 8; if (ticks.Value < start.Ticks || ticks.Value > end.Ticks) { continue; } AdaptEvent point = new AdaptEvent(m_guid, ticks, value, m_parameters.Select((key, i) => new KeyValuePair <string, double>(key, parameters[i])).ToArray()); point.Parameters = parameters; results.Add(point); } return(results); }
private ITimeSeriesValue AdjustSignal(ITimeSeriesValue original, string key) { if (original.IsEvent) { try { AdaptEvent originalEvt = (AdaptEvent)original; return(new AdaptEvent(key, original.Timestamp, originalEvt.Value, originalEvt.ParameterNames .Select(item => new KeyValuePair <string, double>(item, originalEvt[item])).ToArray() )); } catch { return(new AdaptValue(key, original.Value, original.Timestamp)); } } return(new AdaptValue(key, original.Value, original.Timestamp)); }
private void CleanupEvent(ITimeSeriesValue Value) { m_isEvent = false; m_eventParameters = new List <string>(); if (!Value.IsEvent) { return; } try { m_isEvent = true; AdaptEvent evt = (AdaptEvent)Value; m_eventParameters = evt.ParameterNames; if (File.Exists($"{m_rootFolder}{Path.DirectorySeparatorChar}Root.config")) { File.Delete($"{m_rootFolder}{Path.DirectorySeparatorChar}Root.config"); } } catch (Exception ex) { m_isEvent = false; } }