Exemplo n.º 1
0
 //Запись значения в рекордсет клона
 protected void PutCloneRec(IReadMean mom,   //Значение
                            DaoRec rec,      //Рекордсет
                            bool isCutTable, //Запись в таблицу срезов
                            DateTime d)      //Время среза
 {
     rec.AddNew();
     rec.Put("SignalId", IdInClone);
     if (isCutTable)
     {
         rec.Put("CutTime", d);
     }
     rec.Put("Time", mom.Time);
     if (mom.Error != null)
     {
         rec.Put("ErrNum", mom.Error.Number);
     }
     if (DataType.IsReal())
     {
         rec.Put("RealValue", mom.Real);
     }
     else if (DataType == DataType.String)
     {
         rec.Put("StrValue", mom.String);
     }
     else if (DataType == DataType.Time)
     {
         rec.Put("TimeValue", mom.Date);
     }
     rec.Update();
 }
Exemplo n.º 2
0
        //Подготовка провайдера
        protected override void PrepareProvider()
        {
            var set = new SetS();

            using (var rec = new DaoRec(Db, "Signals"))
            {
                while (rec.Read())
                {
                    var code       = rec.GetString("FillCode");
                    var isContains = _outs.ContainsKey(code);
                    rec.Put("IsActive", isContains);
                    if (isContains)
                    {
                        set.Add(code);
                        _outs[code].Id = rec.GetInt("SignalId");
                    }
                }
                foreach (var k in _outs.Keys)
                {
                    if (!set.Contains(k))
                    {
                        rec.AddNew();
                        var o = _outs[k].ValueSignal;
                        rec.Put("FullCode", o.Code);
                        rec.Put("DataType", o.DataType.ToRussian());
                        rec.Put("SignalType", SignalType.List.ToRussian());
                        _outs[k].Id = rec.GetInt("SignalId");
                    }
                }
            }
            CloneRec    = new DaoRec(Db, "MomentValues");
            CloneStrRec = new DaoRec(Db, "MomentStrValues");
        }
Exemplo n.º 3
0
 //Сохранить подпараметры в таблицу
 private void SaveSubPars(DaoRec rec)
 {
     while (rec.Read())
     {
         SubParamsId[rec.GetInt("SubParamId")].SaveCompileResults(rec);
     }
 }
Exemplo n.º 4
0
        //Загрузка сигналов
        private void LoadSignals()
        {
            AddEvent("Загрузка объектов");
            using (var db = new DaoDb(Dir + "UsedSignals.accdb"))
            {
                var objectsId = new DicI <CalcObject>();
                using (var rec = new DaoRec(db, "UsedObjects"))
                    while (rec.Read())
                    {
                        var ob = new CalcObject(rec);
                        Objects.Add(ob.Code, ob);
                        objectsId.Add(rec.GetInt("ObjectId"), ob);
                    }

                AddEvent("Загрузка свойств объектов");
                using (var rec = new DaoRec(db, "UsedObjectsProps"))
                    while (rec.Read())
                    {
                        var mean = MFactory.NewMean(rec.GetString("DataType").ToDataType(), rec.GetString("Mean"));
                        objectsId[rec.GetInt("ObjectId")].Props.Add(rec.GetString("CodeProp"), mean);
                    }

                AddEvent("Загрузка сигналов");
                using (var rec = new DaoRec(db, "UsedSignals"))
                    while (rec.Read())
                    {
                    }
            }
        }
Exemplo n.º 5
0
 //Создание клона источника
 public void MakeClone(string cloneDir) //Каталог клона
 {
     using (StartProgress("Создание клона"))
         using (StartLog(0, 100, "Создание клона источника"))
             try
             {
                 using (var db = new DaoDb(cloneDir.EndDir() + "Clone.accdb"))
                 {
                     //using (var sys = new SysTabl(db))
                     //{
                     //    Complect = sys.Value("CloneComplect");
                     //    var pr = _providersFactory.CreateProvider(Logger, sys.Value("SourceCode"), sys.Value("SourceInf"));
                     //    JoinProvider(pr);
                     //}
                     ReadCloneSignals(db);
                     using (CloneRec = new DaoRec(db, "MomentValues"))
                         using (CloneCutRec = new DaoRec(db, "MomentValuesCut"))
                             using (CloneStrRec = new DaoRec(db, "MomentStrValues"))
                                 using (CloneStrCutRec = new DaoRec(db, "MomentStrValuesCut"))
                                     using (CloneErrorsRec = new DaoRec(db, "ErrorsObjects"))
                                         GetValues();
                     WriteMomentErrors(db);
                 }
             }
             catch (Exception ex)
             {
                 AddError("Ошибка при создании клона", ex);
             }
 }
Exemplo n.º 6
0
        //Сгенерировать таблицу по данному ряду
        public void Generate(TablsList dataTabls, //Список таблиц с данными для генерации
                             DaoRec rec,          //Рекордсет генерируемой таблицы
                             DaoRec subrec)       //Рекордсет генерируемой подтаблицы
        {
            if (!Keeper.ErrMess.IsEmpty())
            {
                return;
            }
            IEnumerable <SubRows> rows = Rule == null ? new SubRows[] { null } : ((NodeRTabl)Rule).SelectRows(dataTabls, null);

            foreach (var row in rows)
            {
                rec.AddNew();
                int id = rec.GetInt(Table.IdField);
                GenerateFields(row, rec);
                rec.Update();
                if (subrec != null)
                {
                    foreach (var subRowGen in SubRows)
                    {
                        IEnumerable <SubRows> subRows = subRowGen.RuleString.IsEmpty() ? new [] { row } : (((INodeRTabl)subRowGen.Rule).SelectRows(dataTabls, row));
                        foreach (var subRow in subRows)
                        {
                            subrec.AddNew();
                            subrec.Put(subRowGen.Table.ParentIdField, id);
                            subRowGen.GenerateFields(subRow, subrec);
                            subrec.Update();
                        }
                    }
                }
            }
        }
Exemplo n.º 7
0
 //Сгенерировать
 public void Generate(string makedFile,           //Файл сгенерированных таблиц
                      string makedTabl,           //Главная сгенерированная таблица
                      string makedSubTabl = null) //Подчиненная сгенерированная таблица
 {
     try
     {
         AddEvent("Открытие рекордсетов для записи сгенерированных значений");
         using (var db = new DaoDb(makedFile))
         {
             if (makedSubTabl != null)
             {
                 db.Execute("DELETE * FROM " + makedSubTabl);
             }
             db.Execute("DELETE * FROM " + makedTabl);
             using (var rec = new DaoRec(db, makedTabl))
                 using (var subRec = makedSubTabl == null ? null : new DaoRec(db, makedSubTabl))
                     foreach (var row in _rowsGen.Values)
                     {
                         if (row.Keeper.Errors.Count == 0)
                         {
                             if (!row.RuleString.IsEmpty())
                             {
                                 AddEvent("Генерация данных по шаблону", row.RuleString);
                             }
                             row.Generate(DataTabls, rec, subRec);
                         }
                     }
         }
     }
     catch (Exception ex)
     {
         AddError("Ошибка при генерации", ex, makedFile);
     }
 }
Exemplo n.º 8
0
        public GenRow(ModuleGenerator generator,                //Ссылка на генератор
                      TablsList dataTabls,                      //Исходные таблицы для генерации
                      GenTemplateTable table, DaoRec rec,       //Рекортсет и поля таблицы
                      GenTemplateTable subTable, DaoRec subRec) //Рекордсет и и поля подтаблицы
            : base(generator, table, rec)
        {
            Id = rec.GetInt(table.IdField);
            var dataTabl = Rule == null ? null : ((NodeRTabl)Rule).Check(dataTabls, null);

            foreach (var key in Fields.Keys)
            {
                Keeper.SetFieldName(key);
                Fields[key].Check(dataTabl);
            }
            if (subRec != null && !subRec.EOF)
            {
                Keeper.SetFieldName("");
                bool subErr = false;
                while (subRec.GetInt(subTable.ParentIdField) == Id)
                {
                    var row = new GenSubRow(generator, dataTabls, dataTabl, subTable, subRec);
                    if (row.Keeper.Errors.Count != 0 && !subErr)
                    {
                        Keeper.AddError("Ошибки в рядах подтаблицы", (IToken)null);
                        subErr = true;
                    }
                    SubRows.Add(row);
                    if (!subRec.MoveNext())
                    {
                        break;
                    }
                }
            }
            rec.Put(table.ErrField, Keeper.ErrMess);
        }
Exemplo n.º 9
0
 public TablRow(DaoRec rec)
 {
     foreach (Field f in rec.Recordset.Fields)
     {
         Means.Add(f.Name, rec.GetMean(f.Type.ToDataType(), f.Name));
     }
 }
Exemplo n.º 10
0
        //Сравнение двух таблиц на полное совпадение,
        public static bool CompareTables(DaoDb db1, DaoDb db2,                                           //Базы данных для сравнения
                                         string tableName,                                               //Имяы таблицы
                                         string idField, string idField2 = null, string idField3 = null, //Ключевые поля для сравнения
                                         string tableName2 = null,                                       //Имя таблицы во второй базе, если отличается
                                         params string[] exeptionFields)                                 //Поля, исключаемые из сравнения
        {
            var exFields = new SetS();

            foreach (var f in exeptionFields)
            {
                exFields.Add(f);
            }
            using (var rec1 = new DaoRec(db1, "SELECT * FROM " + tableName + " ORDER BY " + idField + (idField2 == null ? "" : ", " + idField2) + (idField3 == null ? "" : ", " + idField3)))
                using (var rec2 = new DaoRec(db2, "SELECT * FROM " + (tableName2 ?? tableName) + " ORDER BY " + idField + (idField2 == null ? "" : ", " + idField2) + (idField3 == null ? "" : ", " + idField3)))
                {
                    rec1.Read();
                    while (rec2.Read())
                    {
                        Assert.AreEqual(rec1.EOF, rec2.EOF);
                        foreach (var k in rec1.Fileds.Keys)
                        {
                            if (!exFields.Contains(k))
                            {
                                Assert.AreEqual(rec1.Recordset.Fields[k].Value, rec2.Recordset.Fields[k].Value);
                            }
                        }
                        rec1.Read();
                    }
                    Assert.AreEqual(rec1.EOF, rec2.EOF);
                }
            return(true);
        }
Exemplo n.º 11
0
 //Загрузка значений всех таблиц одной базы
 public void LoadValues(DaoDb db,
                        bool onlyOtm)            //Загружать только отмеченные ряды
 {
     foreach (var s in Structs.Dic)
     {
         if (s.Value.DbFile == db.File)
         {
             var tabl = Tabls.Add(s.Key, new Tabl(s.Value.Tabls.Count));
             foreach (var tsi in s.Value.Tabls.Values)
             {
                 if (tsi.Level >= 0)
                 {
                     using (var rec = new DaoRec(db, tsi.TableName))
                         while (rec.Read())
                         {
                             if (!onlyOtm || (rec.ContainsField("Otm") && rec.GetBool("Otm")))
                             {
                                 tabl.AddRow(tsi.Level, new TablRow(rec), true);
                             }
                         }
                 }
             }
         }
     }
 }
Exemplo n.º 12
0
 //Запись в клон списка описаний ошибок
 private void WriteMomentErrors(DaoDb cloneDb)
 {
     AddEvent("Запись описаний ошибок");
     using (var rec = new DaoRec(cloneDb, "MomentErrors"))
         foreach (var ed in Source.ErrPool.UsedErrorDescrs)
         {
             ed.ToRecordset(rec);
         }
 }
Exemplo n.º 13
0
 //Запись в рекордсет
 public void ToRecordset(DaoRec rec, int objectId)
 {
     rec.AddNew();
     rec.Put("ObjectId", objectId);
     rec.Put("CodeProp", Code);
     rec.Put("DataType", DataType.ToRussian());
     rec.Put("Mean", Mean.String);
     rec.Update();
 }
Exemplo n.º 14
0
 //Запись в рекордсет
 public void ToRecordset(DaoRec rec, bool addNew = true)
 {
     if (addNew)
     {
         rec.AddNew();
     }
     rec.Put("ErrNum", Number);
     rec.Put("ErrText", Text);
     rec.Put("Quality", (int)Quality);
 }
Exemplo n.º 15
0
 //Сгенерировать значения полей по ряду таблицы
 internal void GenerateFields(SubRows row, DaoRec rec)
 {
     foreach (var field in Fields.Keys)
     {
         if (rec.ContainsField(field))
         {
             rec.PutMean(field, Fields[field].Generate(row));
         }
     }
 }
Exemplo n.º 16
0
 //Загрузка списка графиков
 private void LoadGrafics()
 {
     AddEvent("Загрузка списка графиков");
     using (var rec = new DaoRec(Dir + "Grafics.accdb", "GraficsList"))
         while (rec.Read())
         {
             var code = rec.GetString("Code");
             Grafics.Add(code, new Grafic(code, rec.GetInt("Dimension"), rec.GetString("GraficType").ToGraficType()));
         }
 }
Exemplo n.º 17
0
 //Загрузить параметры из таблицы
 private void LoadPars(DaoRec rec)
 {
     while (rec.Read())
     {
         var par = new TablikCalcParam(this, rec, false, false);
         ParamsId.Add(par.ParamId, par);
         ParamsAll.Add(par.Code, par);
         if (par.CalcOn && !par.IsFatalError)
         {
             Params.Add(par.Code, par);
         }
     }
 }
Exemplo n.º 18
0
 //Запись в рекордсет
 public void ToRecordset(DaoRec rec, int objectId, string objectCode)
 {
     rec.AddNew();
     rec.Put("ObjectId", objectId);
     rec.Put("FullCode", objectCode + "." + Code);
     rec.Put("CodeSignal", Code);
     rec.Put("NameSignal", Name);
     rec.Put("DataType", DataType.ToRussian());
     rec.Put("SignalType", SignalType);
     rec.Put("InfOut", InfOut);
     rec.Put("InfProp", InfProp);
     rec.Put("InitialSignals", InitialSignals);
     rec.Put("Formula", Formula);
     rec.Update();
 }
Exemplo n.º 19
0
 private void LoadDerivedParams()
 {
     AddEvent("Загрузка порожденных параметров");
     using (var rec = new DaoRec(Dir + "Compiled.accdb", "DerivedParams"))
         while (rec.Read())
         {
             var dp = new DerivedParam(rec);
             DerivedParams.Add(dp.Code, dp);
         }
     using (var rec = new DaoRec(Dir + "CalcParams.accdb", "DerivedParamsEdit"))
         while (rec.Read())
         {
             DerivedParams[rec.GetString("FullCode")].LoadEdited(rec);
         }
 }
Exemplo n.º 20
0
        //Создание фабрики ошибок
        protected override IMomErrFactory MakeErrFactory()
        {
            AddEvent("Создание фабрики ошибок");
            var factory = new MomErrFactory(ProviderConnect.Code, MomErrType.Source);

            using (var rec = new DaoRec(CloneFile, "MomentErrors"))
                while (rec.Read())
                {
                    int    quality = rec.GetInt("Quality");
                    int    num     = rec.GetInt("ErrNum");
                    string text    = rec.GetString("ErrText");
                    factory.AddDescr(num, text, quality);
                }
            return(factory);
        }
Exemplo n.º 21
0
 //Загрузить подпараметры из таблицы
 private void LoadSubPars(DaoRec rec)
 {
     while (rec.Read())
     {
         var par = new TablikCalcParam(this, rec, true, false);
         SubParamsId.Add(par.ParamId, par);
         var opar = ParamsId[par.OwnerId];
         opar.ParamsId.Add(par.ParamId, par);
         opar.ParamsAll.Add(par.Code, par);
         if (par.CalcOn && !par.IsFatalError)
         {
             opar.Params.Add(par.Code, par);
         }
     }
 }
Exemplo n.º 22
0
        public GenSubRow(ModuleGenerator generator, //Ссылка на генератор
                         TablsList dataTabls,       //Исходные таблицы для генерации
                         ITablStruct dataTabl,      //Таблица - шаблон генерации
                         GenTemplateTable table,    //Поля таблицы - шаблона генерации
                         DaoRec rec)                //Рекордсет таблицы результатов
            : base(generator, table, rec)
        {
            var subTabl = Rule == null ? dataTabl : ((INodeRTabl)Rule).Check(dataTabls, dataTabl);

            foreach (var key in Fields.Keys)
            {
                Keeper.SetFieldName(key);
                Fields[key].Check(subTabl);
            }
            rec.Put(table.ErrField, Keeper.ErrMess);
        }
Exemplo n.º 23
0
 //Чтение Id сигналов клона
 private void ReadCloneSignals(DaoDb cloneDb)
 {
     AddEvent("Чтение сигналов клона");
     ClearSignals();
     using (var rec = new DaoRec(cloneDb, "Signals"))
         while (rec.Read())
         {
             var sig = (CloneSignal)AddSignal(rec.GetString("FullCode"),
                                              rec.GetString("DataType").ToDataType(),
                                              rec.GetString("SignalType").ToSignalType() == SignalType.Uniform ? SignalType.UniformClone : SignalType.Clone,
                                              rec.GetString("InfObject"),
                                              rec.GetString("InfOut"),
                                              rec.GetString("InfProp"));
             sig.IdInClone = rec.GetInt("SignalId");
         }
 }
Exemplo n.º 24
0
        public GenBaseRow(ModuleGenerator generator, //Ссылка на генератор
                          GenTemplateTable table,    //Описание полей таблицы-шаблона
                          DaoRec rec)                //Рекордсет таблицы шаблона генерации
        {
            Table  = table;
            Keeper = new GenKeeper(generator);

            RuleString = rec.GetString(Table.RuleField);
            if (!RuleString.IsEmpty())
            {
                var parse = Table.IsSub
                        ? new SubRuleParsing(Keeper, Table.RuleField, RuleString)
                        : new RuleParsing(Keeper, Table.RuleField, RuleString);
                Rule = parse.ResultTree;
            }

            foreach (Field field in rec.Recordset.Fields)
            {
                var name = field.Name;
                if (!Table.IsSpecial(name) && !rec.IsNull(name))
                {
                    var dataType = field.Type.ToDataType();
                    if (dataType != DataType.String)
                    {
                        Fields.Add(name, new GenConstNode(rec.GetMean(dataType, name)));
                    }
                    else
                    {
                        string s = rec.GetString(name);
                        if (!s.Contains("["))
                        {
                            Fields.Add(name, new GenConstNode(null, s));
                        }
                        else
                        {
                            var fparse = new FieldsParsing(Keeper, name, rec.GetString(name));
                            var f      = (IExprNode)fparse.ResultTree;
                            if (f != null)
                            {
                                Fields.Add(name, f);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 25
0
        //Запись объекта в рекорсеты вместе с сигналами и свойствами
        public void ToRecordsets(DaoRec recObjects, DaoRec recSignals, DaoRec recProps)
        {
            recObjects.AddNew();
            recObjects.Put("CodeObject", Code);
            recObjects.Put("NameObject", Name);
            recObjects.Put("InfObject", InfObject);
            int id = recObjects.GetInt("ObjectId");

            recObjects.Update();
            foreach (var prop in UsedProps.Values)
            {
                prop.ToRecordset(recProps, id);
            }
            foreach (var sig in UsedSignals)
            {
                sig.ToRecordset(recSignals, id, Code);
            }
        }
Exemplo n.º 26
0
        private void LoadTabls()
        {
            AddEvent("Загрузка графиков");
            using (var db = new DaoDb(Dir + "Grafics.accdb"))
            {
                using (var rec = new DaoRec(db, "GraficsList"))
                    while (rec.Read())
                    {
                    }
            }

            AddEvent("Загрузка таблиц");
            using (var db = new DaoDb(Dir + "Tables.accdb"))
            {
                TablsList.AddDbStructs(db);
                TablsList.LoadValues(db, false);
            }
        }
Exemplo n.º 27
0
        public void DaoDbStatic()
        {
            var    db        = CopyDb("Static");
            string file      = File("Static");
            string fileWrong = File("Static2");
            string fileCopy  = File("Copy");
            string fileTmp   = TestLib.TestRunDir + @"Libraries\TmpDaoStatic.accdb";

            db.Dispose();
            Assert.IsNull(db.Database);
            Assert.IsNull(db.Connection);
            Assert.IsTrue(DaoDb.Check(file, "DaoTest"));
            Assert.IsTrue(DaoDb.Check(file, "DaoTest", new[] { "Tabl", "SubTabl", "EmptyTabl", "SysTabl", "SysSubTabl" }));
            Assert.IsTrue(DaoDb.Check(file, new[] { "Tabl", "SubTabl", "EmptyTabl" }));
            Assert.IsFalse(DaoDb.Check(fileWrong, "Fignia"));
            Assert.IsFalse(DaoDb.Check(null, "Fignia"));
            Assert.IsFalse(DaoDb.Check(fileWrong, "Fignia"));
            Assert.IsFalse(DaoDb.Check(fileWrong, new[] { "Tabl" }));
            Assert.IsFalse(DaoDb.Check(file, new[] { "Tabl", "SubTabl", "EmptyTabl1" }));

            DaoDb.Compress(file, 10000000);
            DaoDb.Compress(file, 10000);
            Assert.IsTrue(new FileInfo(fileTmp).Exists);

            Assert.IsTrue(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.Always));
            Assert.IsFalse(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.IfNotExists));
            Assert.IsFalse(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.IfNewVersion));
            new FileInfo(fileCopy).Delete();
            Assert.IsTrue(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.IfNotExists));
            new FileInfo(fileCopy).Delete();
            Assert.IsTrue(DaoDb.FromTemplate(file, fileCopy, ReplaceByTemplate.IfNewVersion));
            Assert.IsTrue(new FileInfo(fileCopy).Exists);

            DaoDb.Execute(file, "DELETE * FROM Tabl");
            DaoDb.ExecuteAdo(file, "DELETE * FROM SysTabl");
            using (var rec = new AdoReader(file, "SELECT * FROM Tabl"))
                Assert.IsFalse(rec.HasRows);
            using (var rec = new AdoReader(file, "SELECT * FROM SubTabl"))
                Assert.IsFalse(rec.HasRows);
            using (var rec = new DaoRec(file, "SysTabl"))
                Assert.IsFalse(rec.HasRows);
            using (var rec = new DaoRec(file, "SysSubTabl"))
                Assert.IsFalse(rec.HasRows);
        }
Exemplo n.º 28
0
 //Отметка в клоне считывемых сигналов, получение Id сигналов
 protected override void PrepareProvider()
 {
     AddEvent("Отметка в клоне считывемых сигналов");
     using (var rec = new DaoRec(CloneFile, "SELECT SignalId, FullCode, OtmReadClone FROM Signals"))
         while (rec.Read())
         {
             string code = rec.GetString("FullCode");
             var    id   = rec.GetInt("SignalId");
             if (Objects.ContainsKey(code))
             {
                 rec.Put("OtmReadClone", true);
                 var ob = Objects[code];
                 ObjectsId.Add(id, ob);
                 ObjectsList.Add(ob);
             }
             else
             {
                 rec.Put("OtmReadClone", false);
             }
         }
 }
Exemplo n.º 29
0
        //Запись результатов компиляции
        internal void SaveCompile()
        {
            AddEvent("Сохранение используемых сигналов");
            using (var reco = new DaoRec(Dir + "UsedSignals.accdb", "UsedObjects"))
                using (var recs = new DaoRec(reco.DaoDb, "UsedSignals"))
                    using (var recp = new DaoRec(reco.DaoDb, "UsedObjectsProps"))
                        foreach (var ob in UsedObjects.Values)
                        {
                            ob.ToRecordsets(reco, recs, recp);
                        }

            AddEvent("Сохранение скомпилированных расчетных параметров");
            using (var db = new DaoDb(Dir + "CalParams.accdb"))
            {
                using (var rec = new DaoRec(db, "CalcParams"))
                    SavePars(rec);
                AddEvent("Сохранение скомпилированных расчетных подпараметров");
                using (var rec = new DaoRec(db, "CalcSubParams"))
                    SaveSubPars(rec);
            }

            AddEvent("Сохранение скомпилированных сгенерированных параметров");
            using (var db = new DaoDb(Dir + "Compiled.accdb"))
            {
                using (var rec = new DaoRec(db, "GeneratedParams"))
                    SavePars(rec);
                AddEvent("Сохранение скомпилированных сгенерированных подпараметров");
                using (var rec = new DaoRec(db, "GeneratedSubParams"))
                    SaveSubPars(rec);

                AddEvent("Сохранение порожденных параметров");
                using (var rec = new DaoRec(db, "DerivedParams"))
                    foreach (var dp in DerivedParams)
                    {
                        dp.ToRecordset(rec);
                    }
            }
        }
Exemplo n.º 30
0
 //Загрузить список параметров
 internal void LoadModule()
 {
     AddEvent("Загрузка расчетных параметров");
     using (var db = new DaoDb(Dir + "CalcParams.accdb"))
     {
         using (var rec = new DaoRec(db, "CalcParams"))
             LoadPars(rec);
         AddEvent("Загрузка расчетных подпараметров");
         using (var rec = new DaoRec(db, "CalcSubParams"))
             LoadSubPars(rec);
     }
     AddEvent("Загрузка сгенерированных параметров");
     using (var db = new DaoDb(Dir + "Compiled.accdb"))
     {
         using (var rec = new DaoRec(db, "GeneratedParams"))
             LoadPars(rec);
         AddEvent("Загрузка сгенерированных подпараметров");
         using (var rec = new DaoRec(db, "GeneratedSubParams"))
             LoadSubPars(rec);
     }
     LoadGrafics();
     LoadTabls();
 }