コード例 #1
0
 //Загрузка из файла данных
 public ReportParam(IRecordRead rec)
 {
     ArchiveParam = new ArchiveParam(rec);
     Project      = rec.GetString("Project");
     Id           = rec.GetInt("ParamId");
     FromArchive  = rec.GetBool("FromArchive");
     FromProject  = rec.GetBool("FromProject");
 }
コード例 #2
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);
            }
        }
コード例 #3
0
 //Загрузка из рекордсета ReporterData (recd) и файла данных отчета (rec)
 public ReportProject(ReportBook book, IRecordRead recd, IRecordRead rec)
     : base(book, recd)
 {
     IsUsed      = rec.GetBool("IsUsed");
     IsHandInput = rec.GetBool("IsHandInput");
     if (IsUsed)
     {
         LoadArchive(recd, book);
     }
     if (IsHandInput)
     {
         GetHandInputFile();
     }
 }
コード例 #4
0
ファイル: SourceOut.cs プロジェクト: martugin/InfoTask2
 //Добавка мгнорвенных значений разного типа с чтением из рекордсета
 protected int AddMomBool(SourceSignal sig, DateTime time, IRecordRead rec, string field, MomErr err = null)
 {
     if (sig == null)
     {
         return(0);
     }
     sig.BufMom.Boolean = rec.GetBool(field);
     return(sig.AddMom(time, err));
 }
コード例 #5
0
 //Конструктор, на входе рекорсет rec, objects - список объектов, checkErrors: true - проверка сигналов, false - сигналы для компиляции
 public Signal(IRecordRead rec, DicI <ObjectSignal> objects, bool checkErrors)
 {
     ErrMess       = "";
     Code          = rec.GetString("CodeSignal");
     Name          = rec.GetString("NameSignal");
     Units         = rec.GetString("Units");
     DataType      = rec.GetString("DataType").ToDataType();
     InUseSource   = false;
     InUseReceiver = false;
     ObjectId      = rec.GetInt("ObjectId");
     ConstValue    = rec.GetString("ConstValue");
     SourceName    = rec.GetString("SourceName");
     ReceiverName  = rec.GetString("ReceiverName");
     Inf           = rec.GetString("Inf");
     Default       = rec.GetBool("Default");
     if (checkErrors)
     {
         if (Code.IsEmpty())
         {
             ErrMess += "Не заполнен код (CodeSignal); ";
         }
         if (DataType == DataType.Error)
         {
             ErrMess += "Недопустимый тип данных (DataType); ";
         }
         if (ConstValue.IsEmpty() && SourceName.IsEmpty() && ReceiverName.IsEmpty())
         {
             ErrMess += "Должно быть заполнено имя источника (SourceName), имя приемника (ReceiverName) или значение константы (ConstValue); ";
         }
     }
     if (objects.ContainsKey(ObjectId))
     {
         ObjectSignal = objects[ObjectId];
         ObjectSignal.Signals.Add(Code, this);
         FullCode = ObjectSignal.Code + "." + Code;
         if (checkErrors)
         {
             //((RecDao)rec).Put("FullCode", FullCode);
             if (Default)
             {
                 objects[ObjectId].DefalutsCount++;
             }
             if (ErrMess != "")
             {
                 objects[ObjectId].ErrorInSignals = true;
             }
         }
     }
 }
コード例 #6
0
ファイル: MFactory.cs プロジェクト: martugin/InfoTask2
        //Получение значения из рекордсета
        public static Mean GetMean(this IRecordRead rec, DataType dtype, string field)
        {
            switch (dtype)
            {
            case DataType.Real:
                return(new RealMean(rec.GetDouble(field)));

            case DataType.String:
                return(new StringMean(rec.GetString(field)));

            case DataType.Integer:
                return(new IntMean(rec.GetInt(field)));

            case DataType.Boolean:
                return(new BoolMean(rec.GetBool(field)));

            case DataType.Time:
                return(new TimeMean(rec.GetTime(field)));
            }
            return(null);
        }
コード例 #7
0
ファイル: Means.cs プロジェクト: martugin/InfoTask2
 public override void ValueFromRec(IRecordRead rec, string field)
 {
     rec.GetBool(field);
 }
コード例 #8
0
 //Загрузка свойств из файла данных
 public void PropsFromRecordset(IRecordRead rec)
 {
     IsUsed      = rec.GetBool("IsUsed");
     IsHandInput = rec.GetBool("IsHandInput");
     IntervalTypes.Clear();
     if (rec.GetBool("IsSingle"))
     {
         IntervalTypes.Add(IntervalType.Single);
     }
     if (rec.GetBool("IsBase"))
     {
         IntervalTypes.Add(IntervalType.Base);
     }
     if (rec.GetBool("IsHour"))
     {
         IntervalTypes.Add(IntervalType.Hour);
     }
     if (rec.GetBool("IsDay"))
     {
         IntervalTypes.Add(IntervalType.Day);
     }
     if (rec.GetBool("IsCombined"))
     {
         IntervalTypes.Add(IntervalType.Combined);
     }
     if (rec.GetBool("IsAbsolute"))
     {
         IntervalTypes.Add(IntervalType.Absolute);
     }
     if (rec.GetBool("IsMoments"))
     {
         IntervalTypes.Add(IntervalType.Moments);
     }
     if (rec.GetBool("IsAbsoluteListBase"))
     {
         IntervalTypes.Add(IntervalType.AbsoluteListBase);
     }
     if (rec.GetBool("IsAbsoluteListHour"))
     {
         IntervalTypes.Add(IntervalType.AbsoluteListHour);
     }
     if (rec.GetBool("IsAbsoluteListDay"))
     {
         IntervalTypes.Add(IntervalType.AbsoluteListDay);
     }
     if (rec.GetBool("IsAbsoluteCombined"))
     {
         IntervalTypes.Add(IntervalType.AbsoluteCombined);
     }
 }
コード例 #9
0
 //Загрузка проекта из Projects
 public Project(IRecordRead rec, ThreadCalc thread) : this(rec.GetString("ProjectFile"), thread)
 {
     Id  = rec.GetInt("ProjectId");
     Otm = rec.GetBool("Otm");
 }