Example #1
0
        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);
            }
        }
Example #2
0
 //Добавляет параметр в словари
 public void AddParam(ArchiveReportParam par)
 {
     Projects.Add(par.Project, new DicS <ArchiveReportParam>());
     Projects[par.Project].Add(par.Code, par);
 }