예제 #1
0
 //Проверка соединения
 protected override void ConnectProvider()
 {
     if (!DaoDb.Check(CloneFile, "InfoTaskClone"))
     {
         AddError("Недопустимый файл клона", null, CloneFile);
     }
     if (SysTabl.ValueS(CloneFile, "CloneComplect") != SourceConnect.Complect)
     {
         AddError(CheckConnectionMessage = "Файл является клоном для другого, несовместимого источника");
     }
 }
예제 #2
0
        public void StaticFuns()
        {
            var file = CopyFile("Static");

            Assert.AreEqual("OptionsValue", SysTabl.ValueS(file, "FileOptions"));
            Assert.AreEqual("ParamValue", SysTabl.ValueS(file, "Param"));
            Assert.AreEqual("OptionsTag", SysTabl.TagS(file, "FileOptions"));
            Assert.AreEqual("ParamTag", SysTabl.TagS(file, "Param"));
            SysTabl.PutValueS(file, "Param", "s1", "t1");
            Assert.AreEqual("s1", SysTabl.ValueS(file, "Param"));
            Assert.AreEqual("t1", SysTabl.TagS(file, "Param"));
            SysTabl.PutValueS(file, "Param", 22, "t2");
            Assert.AreEqual("22", SysTabl.ValueS(file, "Param"));
            Assert.AreEqual("t2", SysTabl.TagS(file, "Param"));
            SysTabl.PutValueS(file, "Param", 33.3, "t3");
            Assert.AreEqual("33,3", SysTabl.ValueS(file, "Param"));
            Assert.AreEqual("t3", SysTabl.TagS(file, "Param"));
            SysTabl.PutValueS(file, "Param", new DateTime(2000, 1, 1));
            Assert.AreEqual("01.01.2000 0:00:00", SysTabl.ValueS(file, "Param"));
            Assert.AreEqual("t3", SysTabl.TagS(file, "Param"));
            SysTabl.PutValueS(file, "Param", true, "");
            Assert.AreEqual("True", SysTabl.ValueS(file, "Param"));
            Assert.AreEqual("", SysTabl.TagS(file, "Param"));
            SysTabl.PutTagS(file, "Param", "Tag", "Value");
            Assert.AreEqual("Value", SysTabl.ValueS(file, "Param"));
            Assert.AreEqual("Tag", SysTabl.TagS(file, "Param"));

            Assert.AreEqual("Тестовый файл", SysTabl.SubValueS(file, "FileOptions", "FileDescription"));
            Assert.AreEqual("DaoTest", SysTabl.SubValueS(file, "FileOptions", "FileType"));
            Assert.AreEqual("2.0.0", SysTabl.SubValueS(file, "FileOptions", "FileVersion"));
            Assert.AreEqual("11.07.2016", SysTabl.SubValueS(file, "FileOptions", "FileVersionDate"));
            Assert.AreEqual("SubValue", SysTabl.SubValueS(file, "Param", "SubParam"));
            Assert.AreEqual(null, SysTabl.SubTagS(file, "FileOptions", "FileDescription"));
            Assert.AreEqual("SubTag", SysTabl.SubTagS(file, "Param", "SubParam"));
            SysTabl.PutSubValueS(file, "Param", "SubParam", "s1", "t1");
            Assert.AreEqual("s1", SysTabl.SubValueS(file, "Param", "SubParam"));
            Assert.AreEqual("t1", SysTabl.SubTagS(file, "Param", "SubParam"));
            SysTabl.PutSubValueS(file, "Param", "SubParam", 22, "t2");
            Assert.AreEqual("22", SysTabl.SubValueS(file, "Param", "SubParam"));
            Assert.AreEqual("t2", SysTabl.SubTagS(file, "Param", "SubParam"));
            SysTabl.PutSubValueS(file, "Param", "SubParam", 33.3, "t3");
            Assert.AreEqual("33,3", SysTabl.SubValueS(file, "Param", "SubParam"));
            Assert.AreEqual("t3", SysTabl.SubTagS(file, "Param", "SubParam"));
            SysTabl.PutSubValueS(file, "Param", "SubParam", new DateTime(2000, 1, 1));
            Assert.AreEqual("01.01.2000 0:00:00", SysTabl.SubValueS(file, "Param", "SubParam"));
            Assert.AreEqual("t3", SysTabl.SubTagS(file, "Param", "SubParam"));
            SysTabl.PutSubValueS(file, "Param", "SubParam", true, "");
            Assert.AreEqual("True", SysTabl.SubValueS(file, "Param", "SubParam"));
            Assert.AreEqual("", SysTabl.SubTagS(file, "Param", "SubParam"));
            SysTabl.PutSubTagS(file, "Param", "SubParam", "Tag", "Value");
            Assert.AreEqual("Value", SysTabl.SubValueS(file, "Param", "SubParam"));
            Assert.AreEqual("Tag", SysTabl.SubTagS(file, "Param", "SubParam"));
        }
예제 #3
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("Настроечный файл имеет недопустимый формат");
     }
 }
예제 #4
0
        protected override void OnStartup(StartupEventArgs e)
        {
            try
            {
                Mutex.OpenExisting("InfoTask.Controller");
                MessageBox.Show("Нельзя запустить более одного контроллера одновременно");
                Current.Shutdown();
            }
            catch
            {
                if (new DbVersion().ACheck("Controller") < 1)
                {
                    Current.Shutdown();
                }
                Mutex = new Mutex(false, "InfoTask.Controller");
            }
            try
            {
                General.Initialize();
                Synchro        = new Synchro();
                MonitorHistory = new MonitorHistory
                {
                    Inf = SysTabl.ValueS(General.ControllerFile, "MonitorHistoryProps")
                };
                using (var rec = new ReaderAdo(General.ControllerFile, "SELECT * FROM Threads WHERE ApplicationType='Controller' ORDER BY ThreadId"))
                    while (rec.Read())
                    {
                        AddThread(rec);
                    }

                Window = new MainCalc();
                Window.Show();
                Window.App         = this;
                Window.DataContext = this;
            }
            catch (Exception ex)
            {
                ex.MessageError();
            }
        }
예제 #5
0
        //Обновление файла данных из проектов и отчета, загрузка параметров Projects
        //updateAll - обновлять, даже если дата обновления ссылок не совпадет, delete - удалять файл перед обновлением
        public void UpdateDataFile(bool delete, bool updateAll = false)
        {
            AddEvent("Обновление файла данных", Code);
            if (delete)
            {
                DaoDb.FromTemplate(General.ReportTemplateFile, DataFile, ReplaceByTemplate.Always);
            }
            if (updateAll)
            {
                LastChangeLinks = DateTime.Now;
            }
            bool needUpdate = ParamsProjectsToFile();

            if (updateAll || needUpdate || Projects.Count == 0)
            {
                ParamsFileToMemory();
            }
            if (needUpdate || LastChangeLinks != SysTabl.ValueS(DataFile, "LastChangeLinks").ToDateTime())
            {
                LinksReportToFile();
            }
        }