Example #1
0
        //Открытие соединения
        protected override bool Connect()
        {
            using (var sys = new SysTabl(CommDataFile))
            {
                _mainArchive.SuccessTime    = sys.SubValue("SourceInfo", "MainArchiveSuccessTime").ToDateTime();
                _reserveArchive.SuccessTime = sys.SubValue("SourceInfo", "ReserveArchiveSuccessTime").ToDateTime();
            }
            var archives = new SimaticArchive[2];
            int b        = _reserveArchive.SuccessTime > _mainArchive.SuccessTime ? 0 : 1;

            archives[b]     = _reserveArchive;
            archives[1 - b] = _mainArchive;
            for (int iter = 1; iter <= 2; iter++)
            {
                if (IsConnected)
                {
                    Disconnect();
                }
                foreach (var ar in archives)
                {
                    Logger.AddEvent((iter == 1 ? "Соединение" : "Повторное соединение") + " с архивом", ar.IsReserve ? "Резервный" : "Основной");
                    var con = ar.Connnect();
                    if (con != null && con.State == ConnectionState.Open)
                    {
                        _conn = con;
                        SysTabl.PutSubValueS(CommDataFile, "SourceInfo", (ar.IsReserve ? "Reserve" : "Main") + "ArchiveSuccessTime", DateTime.Now.ToString());
                        return(IsConnected = true);
                    }
                }
                Thread.Sleep(30);
            }
            Logger.AddError("Не удалось соединиться ни с основным, не с резервным сервером архива");
            return(IsConnected = false);
        }
Example #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"));
        }