Exemplo n.º 1
0
 //Записывает себя в ReportParams, reportId - id родительской записи
 public void ToRecordset(IRecordSet rec, int reportId, bool addnew = false)
 {
     if (addnew)
     {
         rec.AddNew();
     }
     rec.Put("ReportId", reportId);
     rec.Put("ParamId", ParamId);
     rec.Put("Project", Project);
     rec.Put("Code", Code);
     rec.Put("DataType", DataType.ToRussian());
     rec.Put("SuperProcessType", SuperProcess.ToRussian());
     rec.Put("CalcParamType", CalcParamType.ToRussian());
     rec.Put("IsSingle", Queries.ContainsKey(IntervalType.Single));
     rec.Put("IsBase", Queries.ContainsKey(IntervalType.Base));
     rec.Put("IsHour", Queries.ContainsKey(IntervalType.Hour));
     rec.Put("IsDay", Queries.ContainsKey(IntervalType.Day));
     rec.Put("IsCombined", Queries.ContainsKey(IntervalType.Combined));
     rec.Put("IsAbsolute", Queries.ContainsKey(IntervalType.Absolute));
     rec.Put("IsAbsoluteDay", Queries.ContainsKey(IntervalType.AbsoluteDay));
     rec.Put("IsAbsoluteCombined", Queries.ContainsKey(IntervalType.AbsoluteCombined));
     rec.Put("IsAbsoluteListBase", Queries.ContainsKey(IntervalType.AbsoluteListBase));
     rec.Put("IsAbsoluteListHour", Queries.ContainsKey(IntervalType.AbsoluteListHour));
     rec.Put("IsAbsoluteListDay", Queries.ContainsKey(IntervalType.AbsoluteListDay));
     rec.Put("IsMoments", Queries.ContainsKey(IntervalType.Moments));
     if (addnew)
     {
         rec.Update();
     }
 }
Exemplo n.º 2
0
 public CalcParamBase(string code, string name = null, string comment = null, string task = null, CalcParamType calcParamType = CalcParamType.Class, string tag = null)
 {
     Code          = code;
     Name          = name;
     Comment       = comment;
     Task          = task;
     CalcParamType = calcParamType;
     Tag           = tag;
 }
Exemplo n.º 3
0
        //Конструктор для чтения информации по параметру из рекордсета
        //rec - рекордсет с таблицей CalcParams, project - проект
        public CalcParam(Project project, IRecordRead rec, bool isSubParam)
        {
            Project = project;
            _logger = Project.ThreadCalc;
            try
            {
                Code          = rec.GetString("Code");
                Id            = rec.GetInt("CalcParamId");
                Name          = rec.GetString("Name");
                Units         = rec.GetString("Units");
                Comment       = rec.GetString("Comment");
                Interpolation = rec.GetString("InterpolationType").ToInterpolation();
                if (Interpolation == InterpolationType.None)
                {
                    Interpolation = project.Interpolation;
                }
                ExprString = rec.GetString("Expr");
                ResultType = rec.GetString("ResultType");
                Min        = rec.GetDoubleNull("Min");
                Max        = rec.GetDoubleNull("Max");
                DecPlaces  = rec.GetIntNull("DecPlaces");
                Tag        = rec.GetString("Tag");

                if (!isSubParam)
                {
                    CalcParamType = rec.GetString("CalcParamType").ToCalcParamType();
                    if (CalcParamType != CalcParamType.Class)
                    {
                        HandInputValue = new Moment(CalcParamType.HandDataType(), rec.GetString("DefaultValue"));
                    }
                    Task       = rec.GetString("Task");
                    CodeSignal = rec.GetString("CodeSignal");
                }

                //Архив
                SuperProcess = rec.GetString("SuperProcessType").ToSuperProcess();

                //Приемник
                var rcode = rec.GetString("ReceiverCode");
                if (Project.SignalsReceivers.ContainsKey(rcode))
                {
                    ReceiverSignal = Project.SignalsReceivers[rcode].ReceiverSignal;
                }

                if (!rec.GetString("ErrMess").IsEmpty())
                {
                    _logger.AddError("Список расчетных параметров содержит ошибки компиляции", null, "Параметр=" + Code);
                }
            }
            catch (Exception ex)
            {
                AddLog(ex);
            }
        }
Exemplo n.º 4
0
 public ArchiveReportParam(string code, string project, DataType dataType, SuperProcess superProcess, CalcParamType ctype, IEnumerable <IntervalType> intervals)
 {
     Code          = code;
     Project       = project;
     DataType      = dataType;
     SuperProcess  = superProcess;
     CalcParamType = ctype;
     foreach (var t in intervals)
     {
         Queries.Add(t, new ArchiveQueryValues());
     }
 }
Exemplo n.º 5
0
        //Тип данных параметра ручного ввода по CalcParamType
        public static DataType HandDataType(this CalcParamType t)
        {
            switch (t)
            {
            case CalcParamType.HandBool:
                return(DataType.Boolean);

            case CalcParamType.HandInt:
                return(DataType.Integer);

            case CalcParamType.HandReal:
                return(DataType.Real);

            case CalcParamType.HandTime:
                return(DataType.Time);

            case CalcParamType.HandString:
                return(DataType.String);
            }
            return(DataType.Error);
        }
Exemplo n.º 6
0
        //Перевод CalcParamType в строку
        public static string ToRussian(this CalcParamType t)
        {
            switch (t)
            {
            case CalcParamType.HandBool:
                return("ВводЛогич");

            case CalcParamType.HandInt:
                return("ВводЦелое");

            case CalcParamType.HandTime:
                return("ВводВремя");

            case CalcParamType.HandReal:
                return("ВводДейств");

            case CalcParamType.HandString:
                return("ВводСтрока");
            }
            return(null);
        }