Exemple #1
0
 //Проверка соединения с файлом
 protected override void ConnectProvider()
 {
     if (!DaoDb.Check(DbFile, new[] { "NODES", "ABONENTS" }))
     {
         AddError("Недопустимая база данных системы Пролог");
     }
 }
Exemple #2
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));
        }
Exemple #3
0
 //Проверка соединения при ошибке
 public bool Check()
 {
     if (!DaoDb.Check(CloneFile, new[] { "Objects", "Signals", "MomentsValues" }))
     {
         Logger.AddError("Не найден или неправильный" + _cloneFileType, null, "", Context);
         return(IsConnected = false);
     }
     return(IsConnected = true);
 }
Exemple #4
0
 //Проверка соединения при ошибке
 public bool Check()
 {
     if (!DaoDb.Check(_db, new[] { "NODES", "ABONENTS" }))
     {
         Logger.AddError("Не найден или неправильный файл архива программы \"Пролог\"", null, "", Context);
         return(IsConnected = false);
     }
     return(IsConnected = true);
 }
Exemple #5
0
        public StateSaverAccess(string fileName)
        {
            //IEnumerable<string> tables = new[] { TableName };
            IEnumerable <string> tables = new[] { MainTableName, SubTableName };

            if (DaoDb.Check(fileName, tables))
            {
                _daoDb = new DaoDb(fileName);
            }
        }
Exemple #6
0
 //Проверка соединения
 protected override void ConnectProvider()
 {
     if (!DaoDb.Check(CloneFile, "InfoTaskClone"))
     {
         AddError("Недопустимый файл клона", null, CloneFile);
     }
     if (SysTabl.ValueS(CloneFile, "CloneComplect") != SourceConnect.Complect)
     {
         AddError(CheckConnectionMessage = "Файл является клоном для другого, несовместимого источника");
     }
 }
Exemple #7
0
        private void button4_Click(object sender, EventArgs e)
        {
            DateTime d = DateTime.Now;

            for (int i = 0; i < 100; i++)
            {
                //SqlDb.Connect("200.0.1.20", "CalcArchive", true, "sa", "1").Close();
                DaoDb.Check(@"\\Ute02\ute\Проекты\CalcProjects\Курган\SmenVed.accdb");
                //DaoDb.Check(@"d:\InfoTask\Debug\Constructor\Constructor.accdb ");
            }
            MessageBox.Show(DateTime.Now.Subtract(d).TotalSeconds.ToString());
        }
Exemple #8
0
        //Чтение списка сигналов из клона
        private void PrepareForClone(string cloneFile)
        {
            try
            {
                AddEvent("Чтение свойств клона");
                if (!DaoDb.Check(cloneFile, new[] { "Objects", "Signals", "MomentsValues" }))
                {
                    AddError("Недопустимый файл клона");
                }
                else
                {
                    using (var db = new DaoDb(cloneFile))
                    {
                        using (var sys = new SysTabl(db))
                        {
                            if (_form != null)
                            {
                                _form.CalcName.Text = sys.Value("CloneDescription");
                            }
                            _cloneInf = sys.Value("CloneInf");
                            RunSource(sys.SubValue("Source", "ProviderCode"), sys.SubValue("Source", "ProviderName"), sys.SubValue("Source", "ProviderInf"));
                        }

                        AddEvent("Чтение списка сигналов клона");
                        _source.ClearSignals();
                        int n = 0;
                        using (var rec = new RecDao(db, "SELECT SignalId, FullCode, DataType, Inf FROM Signals WHERE ConstValue Is Null"))
                            while (rec.Read())
                            {
                                _source.AddSignal(rec.GetString("Inf"), rec.GetString("FullCode"), rec.GetString("DataType").ToDataType(), rec.GetInt("SignalId"));
                                n++;
                            }
                        AddEvent("Сигналы клона прочитаны", n + " сигналов");

                        //db.Execute("DELETE * FROM MomentsValues");
                        //db.Execute("DELETE * FROM Intervals");
                        using (var rec = new RecDao(db, "Intervals"))
                        {
                            rec.AddNew();
                            rec.Put("TimeBegin", _timeBegin);
                            rec.Put("TimeEnd", _timeEnd);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                AddError("Ошибка при подготовке клона", ex);
            }
        }
Exemple #9
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);
        }
Exemple #10
0
 public static void Initialize()
 {
     if (_isInitialized)
     {
         return;
     }
     try
     {
         InfoTaskDir        = Different.GetInfoTaskDir();
         GeneralDir         = InfoTaskDir + @"General\";
         TmpDir             = InfoTaskDir + @"Tmp\";
         DocsDir            = InfoTaskDir + @"Docs\";
         ControllerDir      = InfoTaskDir + @"Controller\";
         ReporterDir        = InfoTaskDir + @"Reporter\";
         ConfigFile         = GeneralDir + "Config.accdb";
         HistryTemplateFile = GeneralDir + "HistoryTemplate.accdb";
         if (!DaoDb.Check(GeneralDir + "General.accdb", new[] { "Functions", "FunctionsOverloads" }))
         {
             Different.MessageError("Не допустимый General.accdb");
         }
         if (!DaoDb.Check(ConfigFile, new[] { "SysTabl", "SysSubTabl" }))
         {
             Different.MessageError("Не допустимый Config.accdb");
         }
         ControllerFile = ControllerDir + "ControllerData.accdb";
         if (!DaoDb.Check(ControllerFile, new[] { "Threads", "Projects", "Providers" }))
         {
             Different.MessageError("Не допустимый ControllerData.accdb");
         }
         ReporterFile       = ReporterDir + "ReporterData.accdb";
         ReportTemplateFile = ReporterDir + "ReportTemplate.accdb";
         DebugMode          = SysTabl.ValueS(ControllerFile, "DebugMode") == "True";
         Oka.Register();
         ReadProvidersLists();
         _isInitialized = true;
     }
     catch (Exception ex)
     {
         ex.MessageError("Настроечный файл имеет недопустимый формат");
     }
 }
Exemple #11
0
        private void butOpenDatabase_Click(object sender, EventArgs e)
        {
            var op = new OpenFileDialog
            {
                AddExtension    = true,
                CheckFileExists = true,
                DefaultExt      = "accbd",
                Multiselect     = false,
                Title           = @"Файл базы данных клона архива Ovation Historian",
                Filter          = @"Файлы MS Access (.accdb) | *.accdb"
            };

            op.ShowDialog();
            if (DaoDb.Check(op.FileName, new[] { "CFG_PT_NAME", "PT_ATTRIB", "PT_HF_HIST" }))
            {
                DatabaseFile.Text = op.FileName;
            }
            else
            {
                Different.MessageError("Указан недопустимый файл клона архива", op.FileName);
            }
        }
Exemple #12
0
 public static bool IsArchive(string dbPath)
 {
     return(DaoDb.Check(dbPath, new[] { "Projects", "Reports", "Params", "ReportParams", "Ranges", "SingleIntervals", "SingleValues", "NamedIntervals", "NamedValues", "MomentsValues", "BaseIntervals", "BaseValues", "HourIntervals", "HourValues", "DayIntervals", "DayValues", "AbsoluteValues" }));
 }
Exemple #13
0
 public static bool IsImitFile(string dbPath)
 {
     return(DaoDb.Check(dbPath, new[] { "SignalsBehavior", "SignalsValues" }));
 }
Exemple #14
0
 public static bool IsClone(string dbPath)
 {
     return(DaoDb.Check(dbPath, new[] { "Objects", "Signals", "MomentsValues" }));
 }
Exemple #15
0
 //Проверки на то, что файл является файлом одного из типов
 public static bool IsProject(string dbPath)
 {
     return(DaoDb.Check(dbPath, new[] { "Objects", "Signals", "CalcParams", "CalcSubParams", "CalcParamsArchive", "Tasks", "SignalsInUse", "GraficsList" }));
 }