public Prev(IRecordRead rec, Project project) { _project = project; Code = rec.GetString("FullCode"); _calcParamArchive = _project.ArchiveParams[Code]; var ap = _calcParamArchive.ArchiveParam; var listLast = new List <IntervalType>(); IsPrevAbs = rec.GetBool("PrevAbs"); IsLastBase = rec.GetBool("LastBase"); IsLastHour = rec.GetBool("LastHour"); IsLastDay = rec.GetBool("LastDay"); IsManyBase = rec.GetBool("ManyBase"); IsManyHour = rec.GetBool("ManyHour"); IsManyDay = rec.GetBool("ManyDay"); IsManyMoments = rec.GetBool("ManyMoments"); if (IsLastBase) { listLast.Add(IntervalType.Base); } if (IsLastHour) { listLast.Add(IntervalType.Hour); } if (IsLastDay) { listLast.Add(IntervalType.Day); } if (listLast.Count > 0) { LastReportParam = new ArchiveReportParam(ap.FullCode, project.Code, ap.DataType, ap.SuperProcess, ap.FirstParam.CalcParamType, listLast); } var listMany = new List <IntervalType>(); if (IsManyBase) { listMany.Add(IntervalType.Base); ManyBase = new List <Moment>(); } if (IsManyHour) { listMany.Add(IntervalType.Hour); ManyHour = new List <Moment>(); } if (IsManyDay) { listMany.Add(IntervalType.Day); ManyDay = new List <Moment>(); } if (IsManyMoments) { listMany.Add(IntervalType.Moments); ManyMoments = new List <Moment>(); } if (listMany.Count > 0) { ManyReportParam = new ArchiveReportParam(ap.FullCode, project.Code, ap.DataType, ap.SuperProcess, ap.FirstParam.CalcParamType, listMany); } }
//Добавляет параметр в словари public void AddParam(ArchiveReportParam par) { Projects.Add(par.Project, new DicS <ArchiveReportParam>()); Projects[par.Project].Add(par.Code, par); }