//Открытие соединения 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); }
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")); }