Exemple #1
0
        static private void ReadBuffer()
        {
            Settings set;

            set = new Settings("DataBrCode.xml");

            while (ReadThBool)
            {//А тут занимаеся чтением буффера
                try
                {
                    if (BufferOracle != null)
                    {
                        if (countBuffer > 0)
                        {
                            if (_ModeNetTerminal)
                            {//Если мы в онлайн то работаем
                                try
                                {
                                    foreach (var elem in BufferOracle)
                                    {
                                        switch (elem.TypeOperation)
                                        {
                                        case TypeClassBuffer.POST_EU_LIST_Warehouse:
                                        {        ///Операция размещения
                                            CLog.WriteBuffer("Операция POST_EU_LIST_Warehouse");
                                            BufferOper_POST_EU_LIST_Warehouse e = (BufferOper_POST_EU_LIST_Warehouse)elem.BufOperatoon;
                                            e.StartOperation(set.AdressAppServer);
                                            //Удаление и вычитание
                                            BufferOracle.Remove(elem);
                                            countBuffer--;

                                            break;
                                        }

                                        case TypeClassBuffer.POST_EU_LIST_TASKMOVE:
                                        {        ///Операция размещения
                                            CLog.WriteBuffer("Операция POST_EU_LIST_TASKMOVE");
                                            BufferOper_POST_EU_LIST_TASKMOVE e = (BufferOper_POST_EU_LIST_TASKMOVE)elem.BufOperatoon;
                                            e.StartOperation(set.AdressAppServer);
                                            //Удаление и вычитание
                                            BufferOracle.Remove(elem);
                                            countBuffer--;

                                            break;
                                        }

                                        case TypeClassBuffer.POST_EU_IN_AGR:
                                        {        ///Операция размещения
                                            CLog.WriteBuffer("Операция POST_EU_IN_AGR");
                                            BufferOper_POST_EU_IN_AGR e = (BufferOper_POST_EU_IN_AGR)elem.BufOperatoon;
                                            e.StartOperation(set.AdressAppServer);
                                            //Удаление и вычитание
                                            BufferOracle.Remove(elem);
                                            countBuffer--;

                                            break;
                                        }

                                        case TypeClassBuffer.POST_EU_LIST_SHIP:
                                        {        ///Операция размещения
                                            CLog.WriteBuffer("Операция POST_EU_LIST_SHIP");
                                            BufferOper_POST_EU_LIST_SHIP e = (BufferOper_POST_EU_LIST_SHIP)elem.BufOperatoon;
                                            e.StartOperation(set.AdressAppServer);
                                            //Удаление и вычитание
                                            BufferOracle.Remove(elem);
                                            countBuffer--;

                                            break;
                                        }

                                        case TypeClassBuffer.POST_EU_LIST_RZDN_AGR:
                                        {        ///Операция размещения
                                            CLog.WriteBuffer("Операция POST_EU_LIST_RZDN_AGR");
                                            BufferOper_POST_EU_LIST_RZDN_AGR e = (BufferOper_POST_EU_LIST_RZDN_AGR)elem.BufOperatoon;
                                            e.StartOperation(set.AdressAppServer);
                                            //Удаление и вычитание
                                            BufferOracle.Remove(elem);
                                            countBuffer--;

                                            break;
                                        }


                                        case TypeClassBuffer.POST_EU_LIST_INVERT_MX:
                                        {        ///Операция размещения
                                            CLog.WriteBuffer("Операция POST_EU_LIST_INVERT_MX");
                                            BufferOper_POST_EU_LIST_INVERT_MX e = (BufferOper_POST_EU_LIST_INVERT_MX)elem.BufOperatoon;
                                            e.StartOperation(set.AdressAppServer);
                                            //Удаление и вычитание
                                            BufferOracle.Remove(elem);
                                            countBuffer--;

                                            break;
                                        }
                                        }
                                        ///Для теста
                                        Thread.Sleep(100);
                                    }
                                }

                                catch (System.Net.WebException)
                                {//На случай если во время выполнения сломается связть
                                    ModeNetTerminalB = false;
                                }


                                catch (System.Net.Sockets.SocketException)
                                {//На случай если во время выполнения сломается связть
                                    ModeNetTerminalB = false;
                                }
                            }

                            else
                            {//тут тестируем онлайн мы или нет и устанваливаем статус
                                _ModeNetTerminal = testConnect(set.AdressAppServer);
                                if (!_ModeNetTerminal)
                                {
                                    Thread.Sleep(1000);
                                }
                            }
                        }
                    }

                    Thread.Sleep(100);
                }
                catch (Exception ex)
                {
                    CLog.WriteException("BufferToBD", "ReadBuffer", ex.Message);
                }
            }
        }
Exemple #2
0
        private void SetShip()
        {
            WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode();
            BrServer.SoapVersion   = System.Web.Services.Protocols.SoapProtocolVersion.Soap12;
            BrServer.Url           = set.AdressAppServer;
            BrServer.BrHeaderValue = CBrHeader.GetHeader();
            BrServer.Credentials   = new NetworkCredential(CBrHeader.Login, CBrHeader.Password);
            //Найдем задание
            string RZDN = SqlLiteQuery.GetRZDNForLabel(TN);

            //Необходимо перенести список на этап сканирования
            ////Спискок ЕУ запилим

            //listEU = new List<WebReference.Relmuch>();

            //for (int i = 0; i < _tblEU.Rows.Count; i++)
            //{
            //    if (_tblEU.Rows[i]["Select"].ToString() == "1")
            //    {
            //        //Вот тут то и дичка
            //        listEU.Add(_tblEU.Rows[i]["Label"].ToString());
            //    }

            //}


            if (BufferToBD.ModeNetTerminalB)
            {//Если мы в Онлайне
                try
                {
                    DataTable result = BrServer.POST_EU_LIST_SHIP_TYPE(listEU.ToArray(), RZDN, null);

                    dataGridEu.BackColor = Color.LightGray;
                    OpenNETCF.Media.SystemSounds.Beep.Play();

                    ////Далее нужен алгоритм обработки ответа

                    //foreach (DataRow dr in dataGridEu.Rows)
                    //{

                    //}
                    SetColorBackGround(StatusScan.Ok);
                }

                catch (System.Net.WebException ex)
                {
                    dataGridEu.BackColor = Color.LemonChiffon;

                    BufferToBD.ModeNetTerminalB = false;
                    CLog.WriteException("EUSHip.cs", "SetShip", ex.ToString());
                    //Отправляем в буфер
                    BufferOper_POST_EU_LIST_SHIP Oper = new BufferOper_POST_EU_LIST_SHIP(RZDN, listEU.ToArray());
                    BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_LIST_SHIP, Oper));
                    OpenNETCF.Media.SystemSounds.Beep.Play();
                    Thread.Sleep(100);
                    OpenNETCF.Media.SystemSounds.Beep.Play();

                    SetColorBackGround(StatusScan.Buffer);
                }

                catch (System.Net.Sockets.SocketException ex)
                {//На случай если во время выполнения сломается связть
                    dataGridEu.BackColor = Color.LemonChiffon;

                    BufferToBD.ModeNetTerminalB = false;
                    CLog.WriteException("EUSHip.cs", "SetShip", ex.ToString());
                    //Отправляем в буфер
                    BufferOper_POST_EU_LIST_SHIP Oper = new BufferOper_POST_EU_LIST_SHIP(RZDN, listEU.ToArray());
                    BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_LIST_SHIP, Oper));
                    OpenNETCF.Media.SystemSounds.Beep.Play();
                    Thread.Sleep(100);
                    OpenNETCF.Media.SystemSounds.Beep.Play();

                    SetColorBackGround(StatusScan.Buffer);
                }
            }
            else
            {//Если мы в Офлайне
                BufferOper_POST_EU_LIST_SHIP Oper = new BufferOper_POST_EU_LIST_SHIP(RZDN, listEU.ToArray());
                BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_LIST_SHIP, Oper));

                dataGridEu.BackColor = Color.LemonChiffon;
                OpenNETCF.Media.SystemSounds.Beep.Play();
                Thread.Sleep(100);
                OpenNETCF.Media.SystemSounds.Beep.Play();

                SetColorBackGround(StatusScan.Buffer);
            }
            //Анализируем результат, и подсветку делаем строк
        }