public void UpdateBd() { ButtonEnable(false); CLog.WriteInfo("UpdateBd", "Start Manual Update BD"); if (BufferToBD.ModeNetTerminalB) {//Если терминал онлайн try { SqLiteDB.UpdateDataBaseEU(); } catch (System.Net.WebException) {//На случай если во время выполнения сломается связть SqLiteDB.RunUpdateBd = false; BufferToBD.ModeNetTerminalB = false; } catch (System.Net.Sockets.SocketException) {//На случай если во время выполнения сломается связть SqLiteDB.RunUpdateBd = false; BufferToBD.ModeNetTerminalB = false; } catch (Exception exe) { //Если случилось исключение то уже выключаем режим обновления SqLiteDB.RunUpdateBd = false; CLog.WriteException("StartMenu.cs", "ThreadUpdateBd", exe.Message); } } ButtonEnable(true); }
public static void AutomaticUpdateTime() { int MinuteUpdate = 3; if ((!RunUpdateBd) && (BufferToBD.CountBufferI <= 0)) { //Если БД сейчас не обновляется.... if (dUpdateDateTime < DateTime.Now.AddMinutes(-MinuteUpdate)) { //Обновляем.. //Если менее минуты то обновляем БД CLog.WriteInfo("AutomaticUpdateTime", "Start Automatic Update BD"); SqLiteDB.UpdateDataBaseEU(); Thread.Sleep(100); CLog.WriteInfo("AutomaticUpdateTime", "Start Clean old BD"); SqLiteDB.CleanOldSqlBd(); CLog.WriteInfo("AutomaticUpdateTime", "Update Complite: " + pathDBFull_EU); } } }
public void ThreadUpdateBd() { CLog.WriteInfo("ThreadUpdateBd", "Strat Automatic Update BD"); while (UpdateLocalBdBool) { if (BufferToBD.ModeNetTerminalB) {//Если терминал онлайн try { SqLiteDB.AutomaticUpdateTime(); } catch (System.Net.WebException) {//На случай если во время выполнения сломается связть SqLiteDB.RunUpdateBd = false; BufferToBD.ModeNetTerminalB = false; } catch (System.Net.Sockets.SocketException) {//На случай если во время выполнения сломается связть SqLiteDB.RunUpdateBd = false; BufferToBD.ModeNetTerminalB = false; } catch (Exception exe) { //Если случилось исключение то уже выключаем режим обновления SqLiteDB.RunUpdateBd = false; CLog.WriteException("StartMenu.cs", "ThreadUpdateBd", exe.Message); } } else {//Если связи нет производим тест.. BufferToBD.ModeNetTerminalB = BufferToBD.testConnect(set.AdressAppServer); if (!BufferToBD.ModeNetTerminalB) { Thread.Sleep(1000); } } //Ждем 10 сек Thread.Sleep(10000); } }
public void InitDataTabel() { try { labelStatus.BeginInvoke(new Action(() => { labelStatus.Text = "Синхронизация времени с сервером;"; })); CBrHeader.Init(); // Thread.Sleep(5000); //Загружаем справичники WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode(); BrServer.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12; BrServer.BrHeaderValue = CBrHeader.GetHeader(); BrServer.Credentials = new NetworkCredential(CBrHeader.Login, CBrHeader.Password); BrServer.Url = set.AdressAppServer; DateTime NowServer = BrServer.GetServerDataTime(); CLog.WriteInfo("StartMenu.cs", "Time Update"); //Установим на ТСД OpenNETCF.WindowsCE.DateTimeHelper.SystemTime = NowServer; labelStatus.BeginInvoke(new Action(() => { labelStatus.Text = "Синхронизация данных с БД"; })); SqLiteDB.InitSqLiteDB(); SqLiteDB.UpdateDataBaseEU(); CLog.WriteInfo("StartMenu.cs", "Data Base Update"); //Тут правим лейбл string StatusBD = StatusBar.getSatus(); labelBD.BeginInvoke(new Action(() => { labelBD.Text = StatusBD; })); labelStatus.BeginInvoke(new Action(() => { labelStatus.Text = "Синхронизация завершена"; })); ButtonEnable(true); //OpenNETCF.WindowsCE.Notification.Led vib = new OpenNETCF.WindowsCE.Notification.Led(); //vib.SetLedStatus(1, OpenNETCF.WindowsCE.Notification.Led.LedState.On); OpenNETCF.WindowsMobile.Vibrate.Play(); //Тут включить бы вибрацию. OpenNETCF.Media.SystemSounds.Beep.Play(); Thread.Sleep(100); OpenNETCF.Media.SystemSounds.Beep.Play(); Thread.Sleep(100); OpenNETCF.Media.SystemSounds.Beep.Play(); // vib.SetLedStatus(1, OpenNETCF.WindowsCE.Notification.Led.LedState.Off); OpenNETCF.WindowsMobile.Vibrate.Stop(); CLog.WriteInfo("StartMenu.cs", "Start Ok"); UpdateLocalBd = new Thread(ThreadUpdateBd); UpdateLocalBdBool = true; UpdateLocalBd.Start(); } catch (System.Net.WebException exp) { labelStatus.BeginInvoke(new Action(() => { labelStatus.Text = "Нет связи с сервером: " + set.AdressAppServer; })); CLog.WriteException("StartMenu.cs", "InitDataTabel_WEB", exp.Message); } catch (System.Web.Services.Protocols.SoapException exp) { labelStatus.BeginInvoke(new Action(() => { labelStatus.Text = exp.Message; })); CLog.WriteException("StartMenu.cs", "InitDataTabel_SOAP", exp.Message); } catch (Exception ex) { labelStatus.BeginInvoke(new Action(() => { labelStatus.Text = ex.Message; })); CLog.WriteException("StartMenu.cs", "InitDataTabel", ex.Message); } }