//Загрузка из файла данных public ReportParam(IRecordRead rec) { ArchiveParam = new ArchiveParam(rec); Project = rec.GetString("Project"); Id = rec.GetInt("ParamId"); FromArchive = rec.GetBool("FromArchive"); FromProject = rec.GetBool("FromProject"); }
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); } }
//Загрузка из рекордсета 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(); } }
//Добавка мгнорвенных значений разного типа с чтением из рекордсета 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)); }
//Конструктор, на входе рекорсет 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; } } } }
//Получение значения из рекордсета 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); }
public override void ValueFromRec(IRecordRead rec, string field) { rec.GetBool(field); }
//Загрузка свойств из файла данных 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); } }
//Загрузка проекта из Projects public Project(IRecordRead rec, ThreadCalc thread) : this(rec.GetString("ProjectFile"), thread) { Id = rec.GetInt("ProjectId"); Otm = rec.GetBool("Otm"); }