Exemplo n.º 1
0
        /// <summary>
        /// Сохранение данных в базе.
        /// Временный идентификатор серии (меньше нуля) после сохранения перестает быть действительным.
        /// Новый идентификатор можно узнать через процедуру OpenSeries.
        /// Перед сохранением нужно установить счет (SetAccount), если он не был установлен ранее, например, в результате выполнения LoadData()
        /// </summary>
        /// <returns>true - успешно, false - не установлен счет, сохранения не было</returns>
        public bool SaveData()
        {
            if (_accountID == 0)
            {
                return(false);
            }

            foreach (var series in _series)
            {
                if (series.SeriesID <= 0)
                {
                    var s = _accountDA.CreateSeries(_accountID, series.Key, series.Name, series.Axis, series.Data);
                    series.SeriesID = s.SeriesID;
                }

                List <SeriesValue> vals = null;
                if (_series_values.ContainsKey(series))
                {
                    vals = _series_values[series];
                }
                if (vals != null)
                {
                    var newVals = vals.Where(r => r.SeriesValueID <= 0).ToList();
                    if (newVals.Any())
                    {
                        foreach (var v in newVals)
                        {
                            v.SeriesID = series.SeriesID;
                        }
                        _accountDA.CreateValues(newVals);
                    }
                }
            }

            return(true);
        }