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); } } }
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; })); } }