//Чтение списка параметров для записи в архив 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); } }
//Подготовка сигналов public void Prepare() { try { string reportCode = "Source_" + Dns.GetHostName(); _report = new ArchiveReport("Source_" + Logger.FullThreadName, reportCode, ReportType.Source, DateTime.Now); foreach (var proj in _reportParams.Keys) { _report.Projects.Add(proj, _reportParams[proj]); } Archive.PrepareReport(_report); _endPrevious = Different.MinDate; } catch (Exception ex) { Logger.AddError("Ошибка при подготовке параметров для чтения из архива", ex); } }
public InnerArchiveProject(ArchiveReport report) { Report = report; }