Ejemplo n.º 1
0
        //Копирует одну строчку из SysTabl ConfigTemplate вместе с подтаблицей
        private static void CopyConfigProp(string propName, RecDao cfgTemplate, RecDao cfg)
        {
            cfgTemplate.FindFirst("ParamName", propName);
            var id = CopyProp(cfgTemplate, cfg);

            CopySubProp(cfgTemplate.GetInt("ParamId"), cfgTemplate.DaoDb, id, cfg.DaoDb);
        }
Ejemplo n.º 2
0
        private static int CopyProp(RecDao cfgTemplate, RecDao cfg)
        {
            bool flag = !cfg.FindFirst("ParamName", cfgTemplate.GetString("ParamName"));

            //if (!cfg.FindFirst("ParamName", cfgTemplate.GetString("ParamName")))
            if (flag)
            {
                //    MessageBox.Show("Я не нашел запись в конфиге, о чем сейчас и сообщаю");
                //else MessageBox.Show("Я нашел запись в тимплейте. А вы чем занимаетесь?");
                cfg.AddNew();
            }
            cfg.Put("ParamName", cfgTemplate.GetString("ParamName"));
            cfg.Put("ParamType", cfgTemplate.GetString("ParamType"));
            cfg.Put("ParamValue", cfgTemplate.GetString("ParamValue"));
            cfg.Put("ParamDescription", cfgTemplate.GetString("ParamDescription"));
            cfg.Put("ParamTag", cfgTemplate.GetString("ParamTag"));
            int id = cfg.GetInt("ParamId");

            //MessageBox.Show(flag + " " + cfgTemplate.GetString("ParamName"));
            try
            {
                cfg.Update();
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
            return(id);
        }
Ejemplo n.º 3
0
        private void UpdateParams(DaoDb db)
        {
            AddEvent("Обновление таблиц CalcParams и Projects по ячейкам отчета");
            using (var rpr = new RecDao(db, "Projects"))
                while (rpr.Read())
                {
                    string pr = rpr.GetString("ProjectCode2");
                    if (pr.IsEmpty())
                    {
                        pr = rpr.GetString("Project");
                    }
                    Projects[pr].PropsToRecordset(rpr);
                }

            using (var rp = new RecDao(db, "CalcParams"))
                if (rp.HasRows())
                {
                    rp.MoveFirst();
                    while (!rp.EOF)
                    {
                        var proj  = Projects[rp.GetString("Project")];
                        var code  = rp.GetString("Code");
                        var param = proj.Params[code];
                        param.PropsToRecordset(rp);
                        rp.MoveNext();
                    }
                }
        }
Ejemplo n.º 4
0
        //Запись мгновенного значения в ячейку
        private void WriteValue(Moment mom, RecDao rec, string field)
        {
            if (mom == null)
            {
                return;
            }
            switch (mom.DataType)
            {
            case DataType.Real:
                rec.Put(field, mom.Real);
                break;

            case DataType.Integer:
            case DataType.Boolean:
                rec.Put(field, mom.Integer);
                break;

            case DataType.String:
                rec.Put(field, mom.String);
                break;

            case DataType.Time:
                rec.Put(field, mom.Date);
                break;
            }
        }
Ejemplo n.º 5
0
 //Запись в таблицы Params и SubParams, columns - список колонок таблицы Params
 public void ToParamsTables(RecDao recParams, RecDao recSub, IEnumerable <VedColumn> columns)
 {
     recParams.AddNew();
     foreach (var col in columns)
     {
         if (col.SourceType == ColumnSourceType.ResultValue && SubParams.ContainsKey(col.Code))
         {
             var m = SubParams[col.Code].LastMoment;
             if (m.DataType != DataType.Value)
             {
                 WriteValue(m, recParams, col.Code);
             }
         }
         else if (col.SourceType == ColumnSourceType.ParamChar || col.SourceType == ColumnSourceType.SignalChar)
         {
             WriteProp(col, recParams);
         }
     }
     _id = recParams.GetInt("IdParam");
     recParams.Update();
     foreach (var sub in SubParams.Keys)
     {
         recSub.AddNew();
         recSub.Put("IdParam", _id);
         recSub.Put("CodeSubParam", sub);
     }
 }
Ejemplo n.º 6
0
        public static ActionResult ConfigFillK(Session session)
        {
            session.Log("Begin ConfigFillK");
            try
            {
                using (var cfgTemplate = new RecDao(session.GetTargetPath("INSTALLLOCATION") + "General\\ConfigTemplate.accdb", "SELECT * FROM SysTabl"))
                    using (var cfg = new RecDao(session.GetTargetPath("INSTALLLOCATION") + "General\\Config.accdb", "SELECT * FROM SysTabl"))
                        if (session.Features["KosmotronikaFeature"].RequestState == InstallState.Local)
                        {
                            CopyConfigProp("KosmotronikaSQLComm", cfgTemplate, cfg);
                            CopyConfigProp("KosmotronikaDbfComm", cfgTemplate, cfg);
                            CopyConfigProp("KosmotronikaRetroSource", cfgTemplate, cfg);
                            CopyConfigProp("KosmotronikaArchDbSource", cfgTemplate, cfg);
                            CopyConfigProp("KosmotronikaOPCReceiver", cfgTemplate, cfg);
                        }
                //else if (session.Features["KosmotronikaFeature"].RequestState == InstallState.Removed)
                //{
                //    DaoDb.Execute(session.GetTargetPath("INSTALLLOCATION") + "General\\Config.accdb",
                //    "DELETE * FROM SysTabl WHERE ParamName='KosmotronikaSQLComm' OR ParamName='KosmotronikaDbfComm' OR ParamName='KosmotronikaRetroSource' OR ParamName='KosmotronikaOPCReceiver'");
                //}
            }
            catch (Exception exception)
            {
                exception.MessageError();
            }
            session.Log("End ConfigFillK");

            return(ActionResult.Success);
        }
Ejemplo n.º 7
0
 //Запись списка колонок и формирование колонок таблиц Params и VedLin
 private void MakeColumnsAndFilters()
 {
     AddEvent("Формирование колонок ведомости");
     using (var rec = new RecDao(_vedDb, "VedColumns"))
         foreach (var column in _columns)
         {
             column.ToRecordset(rec);
         }
     _vedDb.Execute("INSERT INTO VedColumnsFormatConditions SELECT VedColumnsFormatConditions.* FROM [" + _project.File + "].VedColumnsFormatConditions " +
                    "INNER JOIN [" + _project.File + "].VedColumns ON VedColumnsFormatConditions.ParentId = VedColumns.ColumnId " +
                    "WHERE VedColumns.Task='" + _task + "' ORDER BY ColumnNum");
     _vedDb.Execute("INSERT INTO VedFilters ( Otm, FilterId, FilterNum, FilterType, FilterName, FilterValue, FilterDescription, FilterDefault ) " +
                    "SELECT VedFilters.Otm, VedFilters.FilterId, VedFilters.FilterNum, VedFilters.FilterType, VedFilters.FilterName, VedFilters.FilterValue, VedFilters.FilterDescription, VedFilters.FilterDefault " +
                    "FROM [" + _project.File + "].VedFilters" + (_allTasks ? "" : " WHERE VedFilters.Task='" + _task + "';"));
     _vedDb.Execute("INSERT INTO VedFiltersObjects SELECT VedFiltersObjects.* " +
                    "FROM [" + _project.File + "].VedFilters INNER JOIN [" + _project.File + "].VedFiltersObjects ON VedFilters.FilterId = VedFiltersObjects.ParentId" +
                    (_allTasks ? "" : " WHERE VedFilters.Task='" + _task + "';"));
     foreach (var col in _columnsVed.Values)
     {
         _vedDb.SetColumn("VedLin", col.Code, col.DataType);
     }
     foreach (var col in _columnsParams.Values)
     {
         _vedDb.SetColumn("Params", col.Code, col.DataType);
         //if (col.LinVedView != VedView.None)
         //    _vedDb.SetColumn("VedLin", col.Code, col.DataType);
     }
 }
Ejemplo n.º 8
0
 //Подготовка сигналов
 public void Prepare()
 {
     try
     {
         if (CloneFile.IsEmpty())
         {
             return;
         }
         Logger.AddEvent("Установка отметок для считываемых сигналов");
         _signalsId.Clear();
         _signalsStrId.Clear();
         using (var rec = new RecDao(CloneFile, "SELECT SignalId, FullCode, Otm FROM Signals"))
             while (rec.Read())
             {
                 string code = rec.GetString("FullCode");
                 if (!ProviderSignals.ContainsKey(code))
                 {
                     rec.Put("Otm", false);
                 }
                 else
                 {
                     rec.Put("Otm", true);
                     (ProviderSignals[code].DataType.LessOrEquals(DataType.Real) ? _signalsId : _signalsStrId)
                     .Add(rec.GetInt("SignalId"), ProviderSignals[code]);
                 }
             }
     }
     catch (Exception ex)
     {
         Logger.AddError("Ошибка при подготовке сигналов", ex);
     }
 }
Ejemplo n.º 9
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            using (var rec = new RecDao(Different.GetInfoTaskDir() + @"General\Config.accdb",
                                        "SELECT SysSubTabl.SubParamRowSource FROM SysTabl INNER JOIN SysSubTabl ON SysTabl.ParamId = SysSubTabl.ParamId " +
                                        "WHERE ((SysTabl.ParamValue='Приемник') AND (SysSubTabl.SubParamName='OPCServerName'));"))
                while (rec.Read())
                {
                    var set = rec.GetString("SubParamRowSource").ToPropertyHashSet();
                    foreach (var s in set.Values)
                    {
                        if (!OpcServerName.Items.Contains(s))
                        {
                            OpcServerName.Items.Add(s);
                        }
                    }
                }
            OpcServerName.Items.Add("Matrikon.OPC.Simulation.1");

            using (var sys = new SysTabl(Different.GetInfoTaskDir() + @"Controller\ControllerData.accdb"))
            {
                OpcServerName.Text = sys.SubValue("DebugWriteOPC", "OpcServerName");
                Node.Text          = sys.SubValue("DebugWriteOPC", "Node");
                OpcTag.Text        = sys.SubValue("DebugWriteOPC", "OpcTag");
                DataType.Text      = sys.SubValue("DebugWriteOPC", "DataType");
                TagValue.Text      = sys.SubValue("DebugWriteOPC", "TagValue");
            }
        }
Ejemplo n.º 10
0
        private bool SaveSateOld(Dictionary <string, string> state)
        {
            if (_daoDb != null)
            {
                _daoDb.Execute("DELETE * FROM " + TableName);

                const string stringSql = "SELECT " + FieldPropName + ", " + FieldPropValue + " FROM " + TableName + ";";
                using (var rs = new RecDao(_daoDb, stringSql))
                {
                    foreach (var key in state.Keys)
                    {
                        if (key != null)
                        {
                            rs.AddNew();
                            rs.Put(FieldPropName, key);
                            rs.Put(FieldPropValue, state[key]);
                        }
                    }
                }

                return(true);
            }

            return(false);
        }
Ejemplo n.º 11
0
 public GenSubParam(RecDao rec, ParsingCondition parsingCondition, ParsingGenerator parsingGenerator)
     : base(rec, parsingCondition, parsingGenerator)
 {
     MakeCondition(rec);
     OwnerId = rec.GetInt("OwnerId");
     rec.Put("ErrMess", ErrMess);
 }
Ejemplo n.º 12
0
 //Запись мгновенного значения в DebugValues
 private static void MomToRec(Moment mv, RecDao recv, int id)
 {
     if (mv == null)
     {
         return;
     }
     recv.AddNew();
     recv.Put("DebugParamId", id);
     if (mv.DataType == DataType.Time)
     {
         recv.Put("StrValue", mv.Date.ToStringWithMs());
     }
     else
     {
         if (mv.DataType == DataType.String)
         {
             recv.Put("StrValue", mv.String);
         }
         else
         {
             recv.Put("Value", mv.Real);
         }
     }
     recv.Put("Time", mv.Time);
     recv.Put("Nd", mv.Nd);
     if (mv.Error != null)
     {
         recv.Put("ErrMess", mv.Error.ToString(), true);
     }
     recv.Update();
 }
Ejemplo n.º 13
0
        private void butOK_Click(object sender, EventArgs e)
        {
            if (GroupCode.Text.IsEmpty())
            {
                Different.MessageError("Не заполнено имя группы");
                return;
            }
            ChangeReportsRow();
            using (var db = new DaoDb(General.ReporterFile))
            {
                //Сохранение в ReporterData
                using (var rec = new RecDao(db, "SELECT * FROM GroupReports WHERE GroupId=" + _groupId))
                {
                    rec.Put("GroupCode", GroupCode.Text);
                    rec.Put("GroupName", GroupName.Text);
                    ((FormGroupReports)GeneralRep.CommonBook.Forms[ReporterCommand.GroupReports]).EditItem(rec, _groupId);
                }

                db.Execute("DELETE * FROM ReportsForGroup WHERE GroupId=" + _groupId);
                using (var rec = new RecDao(db, "ReportsForGroup"))
                    foreach (DataGridViewRow row in Reports.Rows)
                    {
                        if (!row.IsNewRow)
                        {
                            rec.AddNew();
                            rec.Put("GroupId", _groupId);
                            rec.PutFromDataGrid("Report", row);
                            rec.PutFromDataGrid("ReportName", row);
                            rec.PutFromDataGrid("ReportFile", row);
                            rec.PutFromDataGrid("ReportTag", row);
                        }
                    }
            }
            Close();
        }
Ejemplo n.º 14
0
 //Генерация по всему условию
 public void GenerateParams(TablsList tabls, //список всех таблиц для генерации
                            RecDao rec,      //рекордсет параметров
                            RecDao recs)     //рекордсет подпараметров
 {
     _paramsRec   = rec;
     SubParamsRec = recs;
     _condition.Generate(this, tabls);
 }
Ejemplo n.º 15
0
 public ResultSaver(string projectProvider, ThreadCalc thread)
 {
     _projectProvider = projectProvider;
     _db     = new DaoDb(thread.ResultFile);
     _rec    = new RecDao(_db, "DebugParams");
     _recv   = new RecDao(_db, "DebugParamsValues");
     _thread = thread;
 }
Ejemplo n.º 16
0
 //Генерация по всему условию
 public void GenerateParams(SubRows row,        //строка таблицы, по которой генерируется
                            RecDao recs,        //рекордсет подпараметров
                            int projectOwnerId) //Id владельца в проекте
 {
     SubParamsRec    = recs;
     _projectOwnerId = projectOwnerId;
     _condition.Generate(this, row);
 }
Ejemplo n.º 17
0
        //Загрузить проект projectFile, compileDir - каталог для компиляции
        public string LoadProject(string projectFile)
        {
            StartAtom(Atom.LoadProject, true, projectFile);
            CountsToZero();
            if (State == State.Closed)
            {
                AddError("Копилятор уже был закрыт");
            }
            else
            {
                try
                {
                    if (!DaoDb.Check(projectFile, new[] { "CalcParams", "CalcSubParams", "CalcParamsArchive", "Objects", "Signals", "SignalsInUse", "GraficsList", "GraficsValues" }))
                    {
                        AddError("Указан неправильный файл проекта", null, projectFile);
                    }
                    else
                    {
                        using (var db = new DaoDb(projectFile))
                        {
                            using (var rec = new RecDao(db, "SELECT * FROM Providers WHERE (ProviderCode='HandInputSource') OR (ProviderCode='HandInputSqlSource')"))
                                if (rec.HasRows())
                                {
                                    HandInputSource = rec.GetString("ProviderName");
                                }
                            using (var sys = new SysTabl(db))
                            {
                                _code = sys.SubValue("ProjectInfo", "Project");
                                _name = sys.SubValue("ProjectInfo", "ProjectName");
                                sys.PutSubValue("ProjectInfo", "HandInputSource", HandInputSource);

                                //ab
                                _objectsFile = sys.Value("ObjectsFile");
                                if (string.IsNullOrEmpty(_objectsFile))
                                {
                                    _objectsFile = projectFile;
                                }
                                if (_objectsFile != projectFile)
                                {
                                    if (!DaoDb.Check(projectFile, new[] { "CalcParams", "CalcSubParams", "CalcParamsArchive", "Objects", "Signals", "SignalsInUse", "GraficsList", "GraficsValues" }))
                                    {
                                        AddError("В проекте указан неправильный файл списка объектов", null, projectFile);
                                        _objectsFile = projectFile;
                                    }
                                }
                                //\ab
                            }
                        }
                        _projectFile = projectFile;
                    }
                }
                catch (Exception ex)
                {
                    AddError("Указан неправильный файл проекта", ex, projectFile);
                }
            }
            return(FinishAtom(State.Project, State.Empty, "Проект:" + _code + ", " + _name));
        }
Ejemplo n.º 18
0
 private void ToClone(RecDao rec)
 {
     rec.AddNew();
     rec.Put("SignalId", IdInClone);
     rec.Put("Time", _time);
     rec.Put("Value", _val);
     rec.Put("Nd", _nd);
     rec.Update();
 }
Ejemplo n.º 19
0
        //Формирование списка параметров для записи в архив и запись их в CalcParamsArchive
        private void SaveArchive()
        {
            try
            {
                using (var db = new DaoDb(_projectFile))
                {
                    foreach (var cp in CalcParamsId.Values)
                    {
                        if (cp.Inputs.Count == 0 && cp.CalcOn && cp.ErrMess == "")
                        {
                            new ParamArchive(cp);
                        }
                    }

                    var old = new SetS();
                    var add = new SetS();
                    using (var rec = new RecDao(db, "CalcParamsArchive", RecordsetTypeEnum.dbOpenTable))
                        while (rec.Read())
                        {
                            var code = rec.GetString("FullCode");
                            if (ArchiveParams.ContainsKey(code))
                            {
                                old.Add(code);
                            }
                            else
                            {
                                rec.Put("Del", true);
                            }
                        }
                    db.Execute("DELETE * FROM CalcParamsArchive WHERE Del=True");

                    foreach (var ap in ArchiveParams.Keys)
                    {
                        if (!old.Contains(ap))
                        {
                            add.Add(ap);
                        }
                    }
                    using (var rec = new RecDao(db, "CalcParamsArchive", RecordsetTypeEnum.dbOpenTable))
                    {
                        while (rec.Read())
                        {
                            ArchiveParams[rec.GetString("FullCode")].ToRecordset(rec, false);
                        }
                        foreach (var p in add.Keys)
                        {
                            ArchiveParams[p].ToRecordset(rec, true);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                AddError("Ошибка сохранения архивных параметров", ex);
            }
        }
Ejemplo n.º 20
0
 //Запись в таблицу Params
 private void WriteParams()
 {
     AddEvent("Запись списка параметров");
     using (var recp = new RecDao(_vedDb, "Params"))
         using (var recs = new RecDao(_vedDb, "SubParams"))
             foreach (var par in _params.Values)
             {
                 par.ToParamsTables(recp, recs, _columnsParams.Values);
             }
 }
Ejemplo n.º 21
0
 //Запись в таблицу LinVed
 private void WriteLinVed()
 {
     AddEvent("Запись мгновенных значений");
     using (var rec = new RecDao(_vedDb, "VedLin"))
         foreach (var par in _params.Values)
         {
             par.ToLinVed(rec, _columnsVed);
             _project.ThreadCalc.Procent += 100.0 / _params.Count;
         }
 }
Ejemplo n.º 22
0
 //Генерация парамтров
 private void Generation()
 {
     AddEvent("Генерация параметров");
     using (var rec = new RecDao(_projectFile, "CalcParams"))
         using (var recs = new RecDao(rec.DaoDb, "CalcSubParams"))
             foreach (var par in Params.Values)
             {
                 par.GenerateParams(TablsList, rec, recs);
             }
 }
Ejemplo n.º 23
0
 public GenParam(RecDao rec, ParsingCondition parsingCondition, ParsingGenerator parsingGenerator)
     : base(rec, parsingCondition, parsingGenerator)
 {
     MakeCondition(rec);
     _task          = MakeField(rec, "Task");
     _calcParamType = MakeField(rec, "CalcParamType");
     _defaultValue  = MakeField(rec, "DefaultValue");
     CalcParamId    = rec.GetInt("CalcParamId");
     rec.Put("ErrMess", ErrMess);
 }
Ejemplo n.º 24
0
 //Сохранение в рекордсет файла данных отчета
 public void ToRecordset(RecDao rec, bool isAddNew)
 {
     if (isAddNew)
     {
         rec.AddNew();
     }
     rec.Put("Project", Code);
     rec.Put("ProjectCode2", Code2);
     rec.Put("ProjectName", Name);
     rec.Put("ProjectFile", File);
 }
Ejemplo n.º 25
0
 //Записывет данные в таблицу Projects в ControllerData, возвращает Id
 public int ToRecordset(RecDao rec, bool addnew = false)
 {
     if (addnew)
     {
         rec.AddNew();
     }
     rec.Put("ThreadId", ThreadCalc.Id);
     rec.Put("Project", Code);
     rec.Put("ProjectFile", File);
     rec.Put("Otm", Otm);
     Id = rec.GetInt("ProjectId");
     return(Id);
 }
Ejemplo n.º 26
0
 //Записать в таблицу характеристику параметра или сигнала
 private void WriteProp(VedColumn col, RecDao rec)
 {
     if (col.Code == "Min" || col.Code == "Max")
     {
         string s = _props[col.Code];
         double?m = s == null ? (double?)null : s.ToDouble();
         rec.Put(col.Code, m);
     }
     else
     {
         rec.Put(col.Code, _props[col.Code]);
     }
 }
Ejemplo n.º 27
0
 public void ToRecordset(RecDao rec, bool addnew = false)
 {
     if (addnew)
     {
         rec.AddNew();
     }
     rec.Put("ThreadId", ThreadCalc.Id);
     rec.Put("ProviderType", Type);
     rec.Put("ProviderName", Name);
     rec.Put("ProviderCode", Code);
     rec.Put("ProviderInf", Inf);
     rec.Put("Otm", Otm);
 }
Ejemplo n.º 28
0
 //Чтение значений
 public override void GetValues()
 {
     try
     {
         DateTime beg = BeginRead.AddMinutes(-BeginRead.Minute).AddSeconds(-BeginRead.Second - 1);
         DateTime en  = EndRead.AddSeconds(1);
         using (var db = new DaoDb(_db))
         {
             foreach (var tableName in _objects.Keys)
             {
                 Logger.AddEvent("Чтение значений из таблицы " + tableName + "_ARCHIVE");
                 using (var rec = new RecDao(db, "SELECT * FROM " + tableName + "_ARCHIVE " +
                                             "WHERE (TYPE = 0) AND (Время >= " + beg.ToAccessString() + ") AND (Время <= " + en.ToAccessString() + ")"))
                     while (rec.Read())
                     {
                         int id = rec.GetInt("PARENT_ID");
                         if (_objectsId.ContainsKey(id))
                         {
                             var ob = _objectsId[id];
                             foreach (var sigCode in ob.Signals.Keys)
                             {
                                 ob.Signals[sigCode].AddMoment(rec.GetTime("Время"), rec.GetDouble(sigCode));
                             }
                         }
                     }
             }
             foreach (var tableName in _totals.Keys)
             {
                 Logger.AddEvent("Чтение значений из таблицы " + tableName + "_TOTALS");
                 using (var rec = new RecDao(db, "SELECT * FROM " + tableName + "_TOTALS " +
                                             "WHERE (Время >= " + beg.ToAccessString() + ") AND (Время <= " + en.ToAccessString() + ")"))
                     while (rec.Read())
                     {
                         int id = rec.GetInt("PARENT_ID");
                         if (_totalsId.ContainsKey(id))
                         {
                             var ob = _totalsId[id];
                             foreach (var sigCode in ob.Signals.Keys)
                             {
                                 ob.Signals[sigCode].AddMoment(rec.GetTime("Время"), rec.GetDouble(sigCode));
                             }
                         }
                     }
             }
         }
     }
     catch (Exception ex)
     {
         Logger.AddError("Ошибка при чтении данных из файла программы Пролог", ex);
     }
 }
Ejemplo n.º 29
0
        //Запись значений по параметру и подпараметрам в линейную ведомость, columns - список колонок таблицы LinVed
        public void ToLinVed(RecDao rec, DicS <VedColumn> columns)
        {
            if (_param.RunParam.CalcValue == null || _param.RunParam.CalcValue.SingleValue == null)
            {
                return;
            }
            var par  = _param.RunParam.CalcValue.SingleValue.ToMomList();
            var subs = new List <VedMomList>();

            foreach (var col in columns.Values)
            {
                if (SubParams.ContainsKey(col.Code))
                {
                    subs.Add(new VedMomList(col.Code, SubParams[col.Code]));
                }
            }
            foreach (var mom in par)
            {
                rec.AddNew();
                rec.Put("IdParam", _id);
                rec.Put("TimeValue", mom.Time);
                rec.Put("TimeString", mom.Time.ToStringWithMs());
                if (mom.DataType.LessOrEquals(DataType.Real))
                {
                    if (columns.ContainsKey("ValueReal"))
                    {
                        rec.Put("ValueReal", mom.Real);
                    }
                }
                else if (columns.ContainsKey("ValueString"))
                {
                    rec.Put("ValueString", mom.String);
                }
                if (rec.ContainsField("Nd"))
                {
                    rec.Put("Nd", mom.Nd);
                }
                if (rec.ContainsField("ErrorString"))
                {
                    rec.Put("ErrorString", mom.Error.Text);
                }
                foreach (var sub in subs)
                {
                    WriteValue(sub.ChangeMoment(mom.Time), rec, sub.Code);
                }
                //foreach (var col in _vedSaver.ColumnsParams.Values)
                //    if (col.LinVedView != VedView.None)
                //        WriteProp(col, rec);
                rec.Update();
            }
        }
Ejemplo n.º 30
0
 private void ButAdd_Click(object sender, EventArgs e)
 {
     using (var rec = new RecDao(General.ReporterFile, "GroupReports"))
     {
         rec.AddNew();
         rec.Put("GroupCode", "NewGroupReport");
         GroupReports.SelectedItems.Clear();
         var item = EditItem(rec);
         item.Selected = true;
         rec.Update();
         var f = (FormGroupReportEdit)GeneralRep.RunReporterCommand(ReporterCommand.GroupReportEdit);
         f.LoadGroup((int)item.Tag);
     }
 }