コード例 #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);
                }
            }
        }
コード例 #2
0
        private void EUInAgr()
        {
            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);
            if (BufferToBD.ModeNetTerminalB)
            {//Если мы в Онлайне
                try
                {
                    DataTable result = BrServer.POST_EU_IN_AGR(listEU.ToArray(), labelPlace, null);

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


                    //Меняем статус на нужный
                    for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                    {
                        _tblEU.Rows[ii]["Commit"] = "1";
                    }

                    dataGridEu.BeginInvoke(new Action(() =>
                    {
                        dataGridEu.DataSource = _tblEU;
                    }));
                }

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

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


                    //Меняем статус на нужный
                    for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                    {
                        _tblEU.Rows[ii]["Commit"] = "3";
                    }

                    dataGridEu.BeginInvoke(new Action(() =>
                    {
                        dataGridEu.DataSource = _tblEU;
                    }));
                }

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

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


                    //Меняем статус на нужный
                    for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                    {
                        _tblEU.Rows[ii]["Commit"] = "3";
                    }

                    dataGridEu.BeginInvoke(new Action(() =>
                    {
                        dataGridEu.DataSource = _tblEU;
                    }));
                }
            }
            else
            {//Если мы в Офлайне
                BufferOper_POST_EU_IN_AGR Oper = new BufferOper_POST_EU_IN_AGR(labelPlace, listEU.ToArray());
                BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_IN_AGR, Oper));

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


                //Меняем статус на нужный
                for (int ii = 0; ii < _tblEU.Rows.Count; ii++)
                {
                    _tblEU.Rows[ii]["Commit"] = "3";
                }

                dataGridEu.BeginInvoke(new Action(() =>
                {
                    dataGridEu.DataSource = _tblEU;
                }));
            }
        }