Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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);
            }
        }