/// <summary> /// Добавление в серию нового значения /// </summary> /// <param name="seriesID">Идентификатор серии (то значение, которое вернул вызов OpenSeries)</param> /// <param name="time">Дата и время значения</param> /// <param name="val">Десятичное значение</param> /// <param name="sp">Объект параметров визуализации значения</param> /// <returns>true - успешно, false - не найден Series по указанному идентификатору</returns> public bool AddSeriesValue(int seriesID, DateTime time, decimal val, ISeriesProps sp = null) { var series = _series.FirstOrDefault(r => r.SeriesID == seriesID); if (series == null) { return(false); } if (!_series_values.ContainsKey(series)) { _series_values.Add(series, new List <SeriesValue>()); } var vals = _series_values[series]; var sv = new SeriesValue(); sv.SeriesValueID = 0; sv.SeriesID = series.SeriesID; sv.Time = time; sv.Value = val; sv.Data = SeriesPropsUtil.Serialize(sp); sv.EndTime = null; sv.EndValue = null; vals.Add(sv); return(true); }
/// <summary> /// Открыть серию. /// Если серия с указанным ключом уже есть, то возврящается ее временный идентификатор. /// Иначе создается новая серия и возвращается ее временный идентификатор. /// </summary> /// <param name="key">Уникальный ключ (уникальность в пределах счета)</param> /// <param name="name">Наименование для показа на экране</param> /// <param name="axis">Ось, к которой относится серия</param> /// <param name="sp">Объект параметров визуализации значения</param> /// <returns>Идентификатор серии (если меньше нуля, то временный)</returns> public int OpenSeries(string key, string name = "", SeriesAxis axis = SeriesAxis.AxisX, ISeriesProps sp = null) { var s = _series.FirstOrDefault(r => r.Key == key); if (s != null) { return(s.SeriesID); } int id = -1; if (_series.Any()) { id = _series.Select(r => r.SeriesID).Min() - 1; if (id >= 0) { id = -1; } } Series series = new Series(); series.SeriesID = id; series.Key = key; series.AccountID = 0; series.Name = name; series.Axis = axis; series.Data = SeriesPropsUtil.Serialize(sp); _series.Add(series); return(series.SeriesID); }