Esempio n. 1
0
        //Чтение списка параметров для записи в архив
        public void ReadArchiveParams()
        {
            try
            {
                AddEvent("Загрузка архивных параметров");
                ArchiveProject = new ArchiveProject(Code, Name, ReportType.Calc, LastChange);
                ArchiveParams.Clear();
                using (var db = new DaoDb(File))
                {
                    using (var rec = new ReaderAdo(db, "SELECT CalcParamsArchive.* FROM CalcParamsArchive INNER JOIN CalcParams ON CalcParams.CalcParamId = CalcParamsArchive.CalcParamId WHERE CalcParams.CalcOn=True"))
                        while (rec.Read())
                        {
                            var par = new CalcParamArchive(rec, this);
                            ArchiveProject.AddParam(par.ArchiveParam);
                            ArchiveParams.Add(par.ArchiveParam.FullCode, par);
                        }

                    PrevParams.Clear();
                    if (IsLastBase || IsLastHour || IsLastDay)
                    {
                        PrevLastReport = new ArchiveReport(Code + "_Last_" + ThreadCalc.FullThreadName, Name, ReportType.Calc, LastChange);
                    }
                    if (IsManyBase || IsManyHour || IsManyDay || IsManyMoments)
                    {
                        PrevManyReport = new ArchiveReport(Code + "_Many_" + ThreadCalc.FullThreadName, Name, ReportType.Calc, LastChange);
                    }
                    using (var rec = new ReaderAdo(db, "SELECT * FROM PrevParams"))
                        while (rec.Read())
                        {
                            var p = new Prev(rec, this);
                            PrevParams.Add(p.Code, p);
                            if (p.LastReportParam != null)
                            {
                                PrevLastReport.AddParam(p.LastReportParam);
                            }
                            if (p.ManyReportParam != null)
                            {
                                PrevManyReport.AddParam(p.ManyReportParam);
                            }
                        }
                }
            }
            catch (Exception ex)
            {
                AddError("Ошибка при чтении списка архивных параметров", ex);
            }
        }
Esempio n. 2
0
 public VedParam(CalcParamArchive param, VedSaver saver)
 {
     _vedSaver = saver;
     _param    = param;
     _props.Add("Code", _param.ArchiveParam.FullCode);
     _props.Add("Name", _param.FirstParam.Name);
     _props.Add("DataType", _param.DataType.ToRussian());
     _props.Add("Units", _param.ArchiveParam.Units);
     _props.Add("Comment", _param.FirstParam.Comment);
     _props.Add("Min", _param.ArchiveParam.Min != null ? _param.ArchiveParam.Min.ToString() : null); //12.04.2019 не был обработан случай null
     _props.Add("Max", _param.ArchiveParam.Max != null ? _param.ArchiveParam.Max.ToString() : null); //12.04.2019 не был обработан случай null
     //ab 20.02.2019
     //if (_param.FirstParam.CodeSignal != null)
     //{
     //var dic = _param.FirstParam.Project.SignalsSources[_param.FirstParam.CodeSignal].TagObject.ToPropertyDicS();
     //    _props.AddDic(dic);
     //}
     _props.Add("CodeSignal", _param.FirstParam.CodeSignal);
     //\ab
 }