public void AsyncCallFixedWeight(IAsyncResult res) { try { WebReference.WebSDataBrCode BrServer = res.AsyncState as WebReference.WebSDataBrCode; String result = BrServer.EndFixedWeight(res); if (result == "1") { labelStatus.BeginInvoke(new Action(() => { labelStatus.Text = "Фиксация веса произведена успешно"; })); CLog.WriteInfo("DataScales.cs", "Fixed: " + result); //GetDataEU(LabelEU); //тут апдейтнем локальную БД UpdateSqlLiteWeigth(LabelEU, this.UnitWeght); //Делаем перезапрос GetDataEUSqlLite(LabelEU); //Вывести сообщение что вес успешно обновлен } else { labelStatus.BeginInvoke(new Action(() => { labelStatus.Text = "Ошибка фиксации: " + result; })); CLog.WriteInfo("DataScales.cs", "Fixed: " + result); } } catch (Exception ex) { CLog.WriteException("DataScales.cs", "AsyncCallFixedWeight", ex.Message); } }
public WarehouseSel(Intermec.DataCollection.BarcodeReader _bcr, string _LoginUser, string _Date, string _Sm, ListScanOperation _ScanOperation) { InitializeComponent(); bcr = _bcr; ScanOperation = _ScanOperation; this.LoginUser = _LoginUser; this.Text = _LoginUser + " Смена:" + _Sm; try { _TblAgr = SqlLiteQuery.GetWareHouse(); } catch (Exception exe) { CLog.WriteException("WarehouseSel.cs", "WarehouseSel", exe.Message); } InitUi(); InitScaner(); labelStatus.Text = ""; //Тут правим лейбл string StatusBD = "БД: " + SqLiteDB.UpdateDateTime + ". Операции: " + BufferToBD.CountBuffer; labelBD.BeginInvoke(new Action(() => { labelBD.Text = StatusBD; })); this.KeyPreview = true; }
private void CleanCommitEU(int CodeAutomcatic) { //Проверем была ли нажата кнопка if (!OperationComplete) { return; } OperationComplete = false; try { listEU = new List <WebReference.Relmuch>(); //Удаляем все УЕ которые отправиль в БД. //Создадим новую таблицу и добавим в новую. DataTable TmpTbl = InitTable(); for (int i = 0; i < _tblEU.Rows.Count; i++) { if ((_tblEU.Rows[i]["Commit"].ToString() == "0") || (_tblEU.Rows[i]["Commit"].ToString() == "-1")) { TmpTbl.ImportRow(_tblEU.Rows[i]); WebReference.Relmuch EUT = new WebReference.Relmuch(); EUT.LABEL = _tblEU.Rows[i]["Label"].ToString(); EUT.CODEAUTOMATIC = CodeAutomcatic; listEU.Add(EUT); break; } } _tblEU = TmpTbl; } catch (Exception ex) { CLog.WriteException("WarehousePost.cs", "CleanCommitEU", ex.ToString()); } }
private void buttonExit_Click(object sender, EventArgs e) { //if (!set.Emulator) // DisposeScaner(); //BufferToBD.StopReadBuffer(); //CLog.WriteInfo("StartMenu.cs", "Close UI Form"); //this.Close(); if (BufferToBD.CountBufferI > 0) { //Если в буфере остались данные то спросить пользователя?!? if (DialogResult.OK == MessageBox.Show("Остались незавершенные операции. Вы действительно хотите выйти?", "Внимание", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)) {//Выходим // CLog.WriteInfo("StartMenu.cs", "User.ОК Buffer: " + BufferToBD.CountBuffer); this.Close(); } } else { this.Close(); } }
void bcr_BarcodeReadScanWareHouse(object sender, BarcodeReadEventArgs bre) { try { string EU = bre.strDataBuffer; //заюзаем новую дичь, в зависимости от кода операции будем использовать ту или иную дичь switch (ScanOperation) { case ListScanOperation.MXView: { if (EU.IndexOf("MX") == 0) { // if (_view == null) { _view = new WareHouseView(EU); _view.Show(); } else { _view.Close(); // _scan.Dispose(); _view = new WareHouseView(EU); _view.Show(); } } break; } case ListScanOperation.EUShip: { if (EU.IndexOf("S") == 0) { //Это вагонная карта ///TN = "S0001500000106002016"; if (_ship == null) { _ship = new EUShip(bcr, EU); _ship.Show(); } else { if (_ship.FormActive) { return; } _ship.Close(); // _scan.Dispose(); _ship = new EUShip(bcr, EU); _ship.Show(); } } break; } } } catch (Exception exp) { CLog.WriteException("ScanWareHouse.cs", "bcr_BarcodeReadScanWareHouse", exp.Message); //MessageBox.Show(exp.Message); } }
void bcr_BarcodeRead(object sender, BarcodeReadEventArgs bre) { try { string EU = bre.strDataBuffer; if (EU.IndexOf("MX") == 0) {//Это место хранения //bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead); switch (ScanOperation) { case ListScanOperation.MXSet: { //Если операция размещение то нужно что то сделать...!!!! if (_WareHousePost == null) { _WareHousePost = new WarehousePost(bcr, EU, ScanOperation, 5); _WareHousePost.Show(); } else { if (_WareHousePost.FormActive) { } else { _WareHousePost.Close(); // UIEU.Dispose(); _WareHousePost = new WarehousePost(bcr, EU, ScanOperation, 5); _WareHousePost.Show(); } } break; } case ListScanOperation.EUTaskMove: { //Если операция Перемещение то нужно что то сделать...!!!! if (_WareHousePost == null) { _WareHousePost = new WarehousePost(bcr, EU, ScanOperation, 5); _WareHousePost.Show(); } else { if (_WareHousePost.FormActive) { } else { _WareHousePost.Close(); // UIEU.Dispose(); _WareHousePost = new WarehousePost(bcr, EU, ScanOperation, 5); _WareHousePost.Show(); } } break; } } //Возвращаем обработку события этого делать тут не стоит //bcr.BarcodeRead += new BarcodeReadEventHandler(bcr_BarcodeRead); } else { } } catch (Exception exp) { CLog.WriteException("WarehouseSel.cs", "bcr_BarcodeRead", exp.Message); //MessageBox.Show(exp.Message); } }
void bcr_BarcodeReadInventTaskMX(object sender, BarcodeReadEventArgs bre) { try { string EU = bre.strDataBuffer; if (EU.IndexOf("MX") == 0) {//Это место хранения //bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead); //А тперь проверим на соответсвие списку по ведомости bool GoScan = false; if (_tblTask != null) { for (int ii = 0; ii < _tblTask.Rows.Count; ii++) { if (_tblTask.Rows[ii]["MX_LABEL"].ToString().ToUpper() == EU) { GoScan = true; } } } if (GoScan) { switch (ScanOperation) { case ListScanOperation.InventoryTask: { //Если операция Перемещение то нужно что то сделать...!!!! if (_WareHousePost == null) { _WareHousePost = new WarehousePost(bcr, EU, ScanOperation, 5); _WareHousePost.SETRZDN = SelectRZDN; _WareHousePost.Show(); } else { if (_WareHousePost.FormActive) { } else { _WareHousePost.Close(); // UIEU.Dispose(); _WareHousePost = new WarehousePost(bcr, EU, ScanOperation, 5); _WareHousePost.SETRZDN = SelectRZDN; _WareHousePost.Show(); } } break; } } } } else { } } catch (Exception exp) { CLog.WriteException("InventTaskMX.cs", "bcr_BarcodeReadInventTaskMX", exp.Message); //MessageBox.Show(exp.Message); } }
void bcr_BarcodeReadQueueTaskEU(object sender, BarcodeReadEventArgs bre) { try { string EU = bre.strDataBuffer; LabelEU = EU; ///Тут Алгоритм разбора что мы все-таки считали ///Для начала считаем по-умолчанию что считываем мы только ЕУ и пишем алгоритм ///Открытия формы if (EU.IndexOf("MX") == 0) {// //labelStatus.BeginInvoke(new Action(() => //{ // labelStatus.Text = "Считано место хранения: " + EU; //})); return; } //labelStatus.BeginInvoke(new Action(() => //{ // labelStatus.Text = "Label: " + EU; //})); //MessageBox.Show(EU); // GetDataEU(EU); //Проверим есть ли данная ЕУ в списке if (ValidateList.CheckEUByListType(listEU, LabelEU)) { //ЕУ уже в списке Sound.PlaySoundWarning(); //Vibration.PlayVibration(2000); return; } dataGridEu.BeginInvoke(new Action(() => { dataGridEu.BackColor = Color.White; })); //Тут делаем таблицу и выводим инфу DataRow row1 = _tblEU.NewRow(); row1["Label"] = EU; Double WEIGHT_EU = 0; //WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode(); //BrServer.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12; //BrServer.Url = set.AdressAppServer; //DataTable result = BrServer.EU_GetData(EU); string MarkaEU = ""; using (SQLiteConnection connection = new SQLiteConnection()) { ;//(SQLiteConnection)factory.CreateConnection(); connection.ConnectionString = "Data Source = " + SqLiteDB.pathDBFull_EU; SQLiteCommand command = new SQLiteCommand(connection); SQLiteCommand insert = new SQLiteCommand("select * from EU e WHERE e.RELMUCH_LABEL = '" + EU + "';", connection); connection.Open(); SQLiteDataReader reader = insert.ExecuteReader(); while (reader.Read()) { //Запроск К БД MarkaEU = _getReaderByName(reader, "MARKA_NAME"); string sWEIGHT_EU = _getReaderByName(reader, "RELMUCH_VES"); row1["УЕ"] = _getReaderByName(reader, "RPRT_NOM"); row1["Марка"] = MarkaEU; row1["Размер"] = _getReaderByName(reader, "RELMUCH_THICKNESS") + "х" + _getReaderByName(reader, "RELMUCH_WIDTH"); row1["Вес"] = sWEIGHT_EU; // row1["S"] = ""; /* * CREATE TABLE [EU] ( * [RELMUCH_LABEL] char(20) NOT NULL, * [RELMUCH_PRM] char(20), * [RELMUCH_VES] char(20), * [RELMUCH_FVES] char(20), * [RELMUCH_WIDTH] char(20), * [RELMUCH_THICKNESS] char(20), * [RPRT_NOM] char(20), * [RPRTTYP_NAME] char(20), * [RPRT_TOL] char(20), * [RPRT_SHRN] char(20), * [RPRT_PLVNOM] char(20), * [MARKA_NAME] char(20), * [MARKA_GOST] char(20), * [FACT_STORAGE_CODE] char(20), * [TEHUZ_LABEL] char(20), * [FACT_PLACE_NAME] char(20), * [INTRV_TMBEG] char(20)) * */ try { WEIGHT_EU = Double.Parse(sWEIGHT_EU); } catch (Exception) { } } reader.Close(); connection.Close(); command.Dispose(); insert.Dispose(); reader.Dispose(); } //MarkaEU = MarkaEU.ToUpper() ////Тут введем проверку на Марку b и потом что то еще if (MarkaEU.ToUpper() == MarkaRZDN.ToUpper()) { ScanWeigth -= WEIGHT_EU; _tblEU.Rows.Add(row1); WebReference.Relmuch EUT = new WebReference.Relmuch(); EUT.LABEL = EU; EUT.CODEAUTOMATIC = 5; listEU.Add(EUT); } else if (MarkaRZDNList.IndexOf(MarkaEU.ToUpper()) != -1) { //вкошмарим поиск ScanWeigth -= WEIGHT_EU; _tblEU.Rows.Add(row1); WebReference.Relmuch EUT = new WebReference.Relmuch(); EUT.LABEL = EU; EUT.CODEAUTOMATIC = 5; listEU.Add(EUT); } else { OpenNETCF.Media.SystemSounds.Beep.Play(); Thread.Sleep(100); OpenNETCF.Media.SystemSounds.Beep.Play(); } dataGridEu.BeginInvoke(new Action(() => { dataGridEu.DataSource = _tblEU; })); labelCountScan.BeginInvoke(new Action(() => { labelCountScan.Text = listEU.Count.ToString(); })); labelMX.BeginInvoke(new Action(() => { //Вычитаем и обновляем тонны labelMX.Text = "Осталось: " + Math.Round(ScanWeigth, 2).ToString() + " т."; if (ScanWeigth <= 0) { labelMX.ForeColor = Color.White; } else { labelMX.ForeColor = Color.Tomato; } })); } catch (Exception exp) { CLog.WriteException("WarehousePost.cs", "bcr_BarcodeRead", exp.Message); //MessageBox.Show(exp.Message); } }
private void ThreadGetDataScales() { DataBarCode.CLog.WriteInfo("DataScales.cs", "Start Thread Get DataScales"); CTCPClient _client = new CTCPClient(set.DataScalesServerIp, set.DataScalesServerPort); while (GetDataScales) { try { if (SelectedScales != null) { string[] data = _client.getData(SelectedScales); buttonFix.BeginInvoke(new Action(() => { buttonFix.Enabled = true; })); if (data != null) { string Weigth = data[2]; bool Stabl = bool.Parse(data[4]); //CLog.WriteInfo("DataScales.cs", "Пришел вес: " + Weigth + " ;Стаб: " + Stabl.ToString()); labelWeigth.BeginInvoke(new Action(() => { labelWeigth.Text = Weigth; if (Stabl) { labelWeigth.ForeColor = Color.White; } else { labelWeigth.ForeColor = Color.Tomato; } })); } } } catch (SocketException exp) { CLog.WriteException("DataScales.cs", "ThreadGetDataScales_SocketException", exp.Message); labelWeigth.BeginInvoke(new Action(() => { labelWeigth.Text = "Нет связи"; labelWeigth.ForeColor = Color.Tomato; })); buttonFix.BeginInvoke(new Action(() => { buttonFix.Enabled = false; })); Thread.Sleep(set.DataScalesServerTime * 5); } catch (Exception exp) { CLog.WriteException("DataScales.cs", "ThreadGetDataScales", exp.Message); labelWeigth.BeginInvoke(new Action(() => { labelWeigth.Text = "Ошибка"; labelWeigth.ForeColor = Color.Tomato; })); buttonFix.BeginInvoke(new Action(() => { buttonFix.Enabled = false; })); } Thread.Sleep(set.DataScalesServerTime); } CLog.WriteInfo("DataScales.cs", "Stop Thread Get DataScales"); }
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; })); } }
private void GetDataEUSqlLite(string EU) { lblID.BeginInvoke(new Action(() => { lblID.Text = "ID: "; })); labelMark.BeginInvoke(new Action(() => { labelMark.Text = "Марка: "; })); labelPart.BeginInvoke(new Action(() => { labelPart.Text = "Партия: "; })); labelplav.BeginInvoke(new Action(() => { labelplav.Text = "Плавка: "; })); labelUnitWegth.BeginInvoke(new Action(() => { labelUnitWegth.Text = "Вес: "; })); //Загружаем по новому try { using (SQLiteConnection connection = new SQLiteConnection()) { ;//(SQLiteConnection)factory.CreateConnection(); connection.ConnectionString = "Data Source = " + SqLiteDB.pathDBFull_EU; SQLiteCommand command = new SQLiteCommand(connection); SQLiteCommand insert = new SQLiteCommand("select * from EU e WHERE e.RELMUCH_LABEL = '" + EU + "';", connection); connection.Open(); SQLiteDataReader reader = insert.ExecuteReader(); while (reader.Read()) { /* * CREATE TABLE [EU] ( * [RELMUCH_LABEL] char(20) NOT NULL, * [RELMUCH_PRM] char(20), * [RELMUCH_VES] char(20), * [RELMUCH_FVES] char(20), * [RELMUCH_WIDTH] char(20), * [RELMUCH_THICKNESS] char(20), * [RPRT_NOM] char(20), * [RPRTTYP_NAME] char(20), * [RPRT_TOL] char(20), * [RPRT_SHRN] char(20), * [RPRT_PLVNOM] char(20), * [MARKA_NAME] char(20), * [MARKA_GOST] char(20), * [FACT_STORAGE_CODE] char(20), * [TEHUZ_LABEL] char(20), * [FACT_PLACE_NAME] char(20), * [INTRV_TMBEG] char(20)) * */ //lblID.Text = "ID: " + _getReaderByName(reader, "RELMUCH_PRM"); //labelMark.Text = "Марка: " + _getReaderByName(reader, "MARKA_NAME"); //labelPart.Text = "Партия: " + _getReaderByName(reader, "RPRT_NOM"); //labelplav.Text = "Плавка: " + _getReaderByName(reader, "RPRT_PLVNOM"); //labelUnitWegth.Text = "Вес: " + _getReaderByName(reader, "RELMUCH_FVES"); string id = _getReaderByName(reader, "RELMUCH_PRM"); string MARKA_NAME = _getReaderByName(reader, "MARKA_NAME"); string RPRT_NOM = _getReaderByName(reader, "RPRT_NOM"); string RPRT_PLVNOM = _getReaderByName(reader, "RPRT_PLVNOM"); string RELMUCH_FVES = _getReaderByName(reader, "RELMUCH_FVES"); lblID.BeginInvoke(new Action(() => { lblID.Text = "ID: " + id; })); labelMark.BeginInvoke(new Action(() => { labelMark.Text = "Марка: " + MARKA_NAME; })); labelPart.BeginInvoke(new Action(() => { labelPart.Text = "Партия: " + RPRT_NOM; })); labelplav.BeginInvoke(new Action(() => { labelplav.Text = "Плавка: " + RPRT_PLVNOM; })); labelUnitWegth.BeginInvoke(new Action(() => { labelUnitWegth.Text = "Вес: " + RELMUCH_FVES; })); } reader.Close(); connection.Close(); command.Dispose(); insert.Dispose(); reader.Dispose(); } } catch (Exception ex) { CLog.WriteException("DataScales.cs", "GetDataEUSqlLite", ex.Message); } }
private void SetMXSet() { DateTime NowTime = DateTime.Now; 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 { //Перед запросом сбросим все for (int ii = 0; ii < _tblEU.Rows.Count; ii++) { _tblEU.Rows[ii]["Commit"] = "-1"; } DataTable result = BrServer.POST_EU_LIST_Warehouse(listEU.ToArray(), labelPlace, null); // dataGridEu.BackColor = Color.MediumAquamarine; OpenNETCF.Media.SystemSounds.Beep.Play(); ////Далее нужен алгоритм обработки ответа //Парсим ответ, и выставляем биты.. for (int i = 0; i < result.Rows.Count; i++) { string Label = result.Rows[i]["Label"].ToString(); string RCode = result.Rows[i]["resultCode"].ToString(); for (int ii = 0; ii < _tblEU.Rows.Count; ii++) { string LabelScan = _tblEU.Rows[ii]["Label"].ToString(); string RCodeScan = _tblEU.Rows[ii]["Commit"].ToString(); if (RCodeScan == "-1") { //Не смотрим уже измененные if (LabelScan == Label) //Поиск по лейблу { _tblEU.Rows[ii]["Commit"] = RCode; } } } if (RCode == "0") { string RCodeEx = result.Rows[i]["result"].ToString(); //Запишем все в логи... CLog.WriteException("WarehousePost.cs", "SetMXSet", "Label: " + Label + " resultCode: " + RCode + " result: " + RCodeEx); } } dataGridEu.BeginInvoke(new Action(() => { dataGridEu.DataSource = _tblEU; })); } catch (System.Net.WebException ex) { dataGridEu.BackColor = Color.LemonChiffon; BufferToBD.ModeNetTerminalB = false; CLog.WriteException("WarehousePost.cs", "buttonNext_Click_1", ex.ToString()); //Отправляем в буфер BufferOper_POST_EU_LIST_Warehouse Oper = new BufferOper_POST_EU_LIST_Warehouse(labelPlace, listEU.ToArray()); BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_LIST_Warehouse, 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", "buttonNext_Click_1", ex.ToString()); //Отправляем в буфер BufferOper_POST_EU_LIST_Warehouse Oper = new BufferOper_POST_EU_LIST_Warehouse(labelPlace, listEU.ToArray()); BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_LIST_Warehouse, 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_LIST_Warehouse Oper = new BufferOper_POST_EU_LIST_Warehouse(labelPlace, listEU.ToArray()); BufferToBD.BufferAdd(new BufferOperation(TypeClassBuffer.POST_EU_LIST_Warehouse, 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; })); } //Анализируем результат, и подсветку делаем строк }
//public void TestAdd(string EU) //{ // try // { // LabelEU = EU; // ///Тут Алгоритм разбора что мы все-таки считали // ///Для начала считаем по-умолчанию что считываем мы только ЕУ и пишем алгоритм // ///Открытия формы // if (EU.IndexOf("MX") == 0) // {// // //labelStatus.BeginInvoke(new Action(() => // //{ // // labelStatus.Text = "Считано место хранения: " + EU; // //})); // return; // } // //labelStatus.BeginInvoke(new Action(() => // //{ // // labelStatus.Text = "Label: " + EU; // //})); // //MessageBox.Show(EU); // // GetDataEU(EU); // dataGridEu.BeginInvoke(new Action(() => // { // dataGridEu.BackColor = Color.White; // })); // //Тут делаем таблицу и выводим инфу // DataRow row1 = _tblEU.NewRow(); // row1["Label"] = EU; // //WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode(); // //BrServer.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12; // //BrServer.Url = set.AdressAppServer; // //DataTable result = BrServer.EU_GetData(EU); // using (SQLiteConnection connection = new SQLiteConnection()) // { // ;//(SQLiteConnection)factory.CreateConnection(); // connection.ConnectionString = "Data Source = " + SqLiteDB.pathDBFull_EU; // SQLiteCommand command = new SQLiteCommand(connection); // SQLiteCommand insert = new SQLiteCommand("select e.RPRT_NOM, e.MARKA_NAME, e.RELMUCH_THICKNESS, e.RELMUCH_WIDTH from EU e WHERE e.RELMUCH_LABEL = '" + EU + "';", connection); // connection.Open(); // SQLiteDataReader reader = insert.ExecuteReader(); // while (reader.Read()) // { // //Запроск К БД // row1["УЕ"] = _getReaderByName(reader, "RPRT_NOM"); // row1["Марка"] = _getReaderByName(reader, "MARKA_NAME"); // row1["Размер"] = _getReaderByName(reader, "RELMUCH_THICKNESS") + "х" + _getReaderByName(reader, "RELMUCH_WIDTH"); // // row1["S"] = ""; // /* // * CREATE TABLE [EU] ( // [RELMUCH_LABEL] char(20) NOT NULL, // [RELMUCH_PRM] char(20), // [RELMUCH_VES] char(20), // [RELMUCH_FVES] char(20), // [RELMUCH_WIDTH] char(20), // [RELMUCH_THICKNESS] char(20), // [RPRT_NOM] char(20), // [RPRTTYP_NAME] char(20), // [RPRT_TOL] char(20), // [RPRT_SHRN] char(20), // [RPRT_PLVNOM] char(20), // [MARKA_NAME] char(20), // [MARKA_GOST] char(20), // [FACT_STORAGE_CODE] char(20), // [TEHUZ_LABEL] char(20), // [FACT_PLACE_NAME] char(20), // [INTRV_TMBEG] char(20)) // * */ // } // reader.Close(); // connection.Close(); // command.Dispose(); // insert.Dispose(); // reader.Dispose(); // } // _tblEU.Rows.Add(row1); // listEU.Add(EU); // labelCountScan.Text = listEU.Count.ToString(); // dataGridEu.BeginInvoke(new Action(() => // { // dataGridEu.DataSource = _tblEU; // })); // } // catch (Exception exp) // { // CLog.WriteException("WarehousePost.cs", "TestAdd", exp.Message); // MessageBox.Show(exp.Message); // } //} void bcr_BarcodeReadWarehousePost(object sender, BarcodeReadEventArgs bre) { try { string EU = bre.strDataBuffer; LabelEU = EU; ///Тут Алгоритм разбора что мы все-таки считали ///Для начала считаем по-умолчанию что считываем мы только ЕУ и пишем алгоритм ///Открытия формы if (EU.IndexOf("MX") == 0) {// //labelStatus.BeginInvoke(new Action(() => //{ // labelStatus.Text = "Считано место хранения: " + EU; //})); return; } //Проверим есть ли данная ЕУ в списке if (ValidateList.CheckEUByList(listEU, LabelEU)) { //ЕУ уже в списке Sound.PlaySoundWarning(); //Vibration.PlayVibration(2000); return; } dataGridEu.BeginInvoke(new Action(() => { dataGridEu.BackColor = Color.White; })); //Тут делаем таблицу и выводим инфу DataRow row1 = _tblEU.NewRow(); row1["Label"] = EU; //WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode(); //BrServer.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12; //BrServer.Url = set.AdressAppServer; //DataTable result = BrServer.EU_GetData(EU); using (SQLiteConnection connection = new SQLiteConnection()) { ;//(SQLiteConnection)factory.CreateConnection(); connection.ConnectionString = "Data Source = " + SqLiteDB.pathDBFull_EU; SQLiteCommand command = new SQLiteCommand(connection); SQLiteCommand insert = new SQLiteCommand("select * from EU e WHERE e.RELMUCH_LABEL = '" + EU + "';", connection); connection.Open(); SQLiteDataReader reader = insert.ExecuteReader(); while (reader.Read()) { //Запроск К БД row1["УЕ"] = _getReaderByName(reader, "RPRT_NOM"); row1["Марка"] = _getReaderByName(reader, "MARKA_NAME"); row1["Размер"] = _getReaderByName(reader, "RELMUCH_THICKNESS") + "х" + _getReaderByName(reader, "RELMUCH_WIDTH"); row1["Вес"] = SqlLiteQuery.getReaderByName(reader, "RELMUCH_VES"); // row1["S"] = ""; /* * CREATE TABLE [EU] ( * [RELMUCH_LABEL] char(20) NOT NULL, * [RELMUCH_PRM] char(20), * [RELMUCH_VES] char(20), * [RELMUCH_FVES] char(20), * [RELMUCH_WIDTH] char(20), * [RELMUCH_THICKNESS] char(20), * [RPRT_NOM] char(20), * [RPRTTYP_NAME] char(20), * [RPRT_TOL] char(20), * [RPRT_SHRN] char(20), * [RPRT_PLVNOM] char(20), * [MARKA_NAME] char(20), * [MARKA_GOST] char(20), * [FACT_STORAGE_CODE] char(20), * [TEHUZ_LABEL] char(20), * [FACT_PLACE_NAME] char(20), * [INTRV_TMBEG] char(20)) * */ } reader.Close(); connection.Close(); command.Dispose(); insert.Dispose(); reader.Dispose(); } _tblEU.Rows.InsertAt(row1, 0); listEU.Add(EU); labelCountScan.BeginInvoke(new Action(() => { labelCountScan.Text = listEU.Count.ToString(); })); dataGridEu.BeginInvoke(new Action(() => { dataGridEu.DataSource = _tblEU; })); } catch (Exception exp) { CLog.WriteException("WarehousePost.cs", "bcr_BarcodeReadWarehousePost", exp.Message); //MessageBox.Show(exp.Message); } }
private void OperationNext() { dataGridEu.BackColor = Color.White; //Операция размещения try { switch (ScanOperation) { case ListScanOperation.MXSet: { SetMXSet(); break; } case ListScanOperation.EUTaskMove: { TaskMove(); break; } case ListScanOperation.EuInAgr: { OperationComplete = true; EUInAgr(); break; } case ListScanOperation.EuInAgrTESA: { OperationComplete = true; EUInAgr(); break; } case ListScanOperation.InventoryTask: { InventorySet(); break; } } } catch (Exception ex) { //labelStatus.BeginInvoke(new Action(() => //{ // labelStatus.Text = "Place: " + ex.Message; //})); CLog.WriteException("WarehousePost.cs", "buttonNext_Click_1", ex.ToString()); } //Тут правим лейбл string StatusBD = "БД: " + SqLiteDB.UpdateDateTime + ". Операции: " + BufferToBD.CountBuffer; labelBD.BeginInvoke(new Action(() => { labelBD.Text = StatusBD; })); }
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); } }
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); } //Анализируем результат, и подсветку делаем строк }
void bcr_BarcodeRead(object sender, BarcodeReadEventArgs bre) { if (_WareHousePost != null) {//не обрабатываем ничего if (_WareHousePost.FormActive) { return; } } try { string EU = bre.strDataBuffer; ///Тут Алгоритм разбора что мы все-таки считали ///Для начала считаем по-умолчанию что считываем мы только ЕУ и пишем алгоритм ///Открытия формы //Это открытие фрормы ЭкшенЕУ, тут так же пилим для размещения форму if (EU.IndexOf("MX") == 0) {//Это место хранения // bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead); //Возвращаем обработку события этого делать тут не стоит //bcr.BarcodeRead += new BarcodeReadEventHandler(bcr_BarcodeRead); if (_WareHousePost == null) { _WareHousePost = new WarehousePost(bcr, EU, ListScanOperation.MXSet); _WareHousePost.Show(); } else { _WareHousePost.Close(); // UIEU.Dispose(); _WareHousePost = new WarehousePost(bcr, EU, ListScanOperation.MXSet); _WareHousePost.Show(); } } else if (EU.IndexOf("S") == 0) {//Это вагонная карта, обработчик будет потом } else { if (UIEU == null) { UIEU = new EU_Action(bcr, EU); UIEU.Show(); } else { UIEU.Close(); UIEU.Dispose(); UIEU = new EU_Action(bcr, EU); UIEU.Show(); } } textBoxScan.BeginInvoke(new Action(() => { textBoxScan.Text = EU; })); } catch (Exception exp) { CLog.WriteException("StartMenu.cs", "bcr_BarcodeRead", exp.Message); //MessageBox.Show(exp.Message); } }
private void pictureBox1_DoubleClick(object sender, EventArgs e) { CLog.WriteInfo("DataBrCode", "CloseProgram"); Application.Exit(); }
private void StartMenu_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Escape) { // this.Close(); } else if (e.KeyCode == Keys.F4) { if (BufferToBD.CountBufferI > 0) { //Если в буфере остались данные то спросить пользователя?!? if (DialogResult.OK == MessageBox.Show("Остались незавершенные операции. Вы действительно хотите выйти?", "Внимание", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)) {//Выходим // CLog.WriteInfo("StartMenu.cs", "User.ОК Buffer: " + BufferToBD.CountBuffer); this.Close(); } } else { this.Close(); } } else if (e.KeyCode == Keys.D1) { //По кнопочке просто открываем форму весовую, если туда передадим параметр весов, то запуск от сканера bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead); DataScales scales = new DataScales(bcr); DialogResult DL = scales.ShowDialog(); //Возвращаем обработку события bcr.BarcodeRead += new BarcodeReadEventHandler(bcr_BarcodeRead); } else if (e.KeyCode == Keys.D2) { bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead); WarehouseSel _WareHouseSel = new WarehouseSel(bcr, LoginUser, _Date, _Sm, ListScanOperation.MXSet); DialogResult DL = _WareHouseSel.ShowDialog(); //Возвращаем обработку события bcr.BarcodeRead += new BarcodeReadEventHandler(bcr_BarcodeRead); } else if (e.KeyCode == Keys.D3) { bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead); using (ScanWareHouse _scan = new ScanWareHouse(bcr, ListScanOperation.EUShip)) { _scan.ShowDialog(); } bcr.BarcodeRead += new BarcodeReadEventHandler(bcr_BarcodeRead); } else if (e.KeyCode == Keys.D4) { bcr.BarcodeRead -= new BarcodeReadEventHandler(bcr_BarcodeRead); //WarehouseSel _WareHouseSel = new WarehouseSel(bcr, LoginUser, _Date, _Sm); //DialogResult DL = _WareHouseSel.ShowDialog(); MenuWereHouse _MPlace = new MenuWereHouse(bcr); // { _MPlace.ShowDialog(); // } //Возвращаем обработку события bcr.BarcodeRead += new BarcodeReadEventHandler(bcr_BarcodeRead); } else if (e.KeyCode == Keys.D5) { } else if (e.KeyCode == Keys.F5) {///Обновляем БД StartManualUpdateBD(); } else if (e.KeyCode == Keys.F13) {///Отправка логов LogUpload _lupload = new LogUpload(); _lupload.ShowDialog(); } else if (e.KeyCode == Keys.F14) { WiFiTest test = new WiFiTest(); test.Show(); } else if (e.KeyCode == Keys.F16) { bool rezult = ScreenShot.MakeShot("StartMenu"); if (rezult) { MessageBox.Show("Снимок успешно сохранен", "ScreenShot", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1); } else { MessageBox.Show("Ошибка сохранения", "ScreenShot", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1); } } }
private void MainWindow_Closing(object sender, CancelEventArgs e) { CLog.WriteInfo("DataBrCode", "CloseProgram"); }
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); } } }
void bcr_BarcodeReadWarehousePost(object sender, BarcodeReadEventArgs bre) { try { string EU = bre.strDataBuffer; LabelEU = EU; ///Тут Алгоритм разбора что мы все-таки считали ///Для начала считаем по-умолчанию что считываем мы только ЕУ и пишем алгоритм ///Открытия формы if (EU.IndexOf("MX") == 0) {// //Проверим все ли ЕУ заквитированы if (_tblEU == null) { ReInitMX(EU); } else if (_tblEU.Rows.Count == 0) { ReInitMX(EU); } else {//Проверим на квитацию. int counterEU = 0; for (int i = 0; i < _tblEU.Rows.Count; i++) { if ((_tblEU.Rows[i]["Commit"].ToString() == "0") || (_tblEU.Rows[i]["Commit"].ToString() == "-1")) { counterEU++; } } if (counterEU == 0) { ReInitMX(EU); } else { Sound.PlaySoundExclamationVolumeVeryHIGH(); Thread.Sleep(100); Sound.PlaySoundExclamationVolumeVeryHIGH(); return; } } return; } //Проверим есть ли данная ЕУ в списке if (ValidateList.CheckEUByListType(listEU, LabelEU)) { //ЕУ уже в списке Sound.PlaySoundWarning(); //Vibration.PlayVibration(2000); return; } //Удалим все УЕ которые закоммитилист. switch (ScanOperation) { case ListScanOperation.EuInAgr: { CleanCommitEU(5); break; } case ListScanOperation.EuInAgrTESA: { CleanCommitEU(3); if (CheckEuInAgrTESA()) { Sound.PlaySoundExclamationVolumeVeryHIGH(); Thread.Sleep(100); Sound.PlaySoundExclamationVolumeVeryHIGH(); return; } break; } default: break; } //Очистка звершена. dataGridEu.BeginInvoke(new Action(() => { dataGridEu.BackColor = Color.White; })); //Тут делаем таблицу и выводим инфу DataRow row1 = _tblEU.NewRow(); row1["Label"] = EU; //WebReference.WebSDataBrCode BrServer = new WebReference.WebSDataBrCode(); //BrServer.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12; //BrServer.Url = set.AdressAppServer; //DataTable result = BrServer.EU_GetData(EU); using (SQLiteConnection connection = new SQLiteConnection()) { ;//(SQLiteConnection)factory.CreateConnection(); connection.ConnectionString = "Data Source = " + SqLiteDB.pathDBFull_EU; SQLiteCommand command = new SQLiteCommand(connection); SQLiteCommand insert = new SQLiteCommand("select * from EU e WHERE e.RELMUCH_LABEL = '" + EU + "';", connection); connection.Open(); SQLiteDataReader reader = insert.ExecuteReader(); while (reader.Read()) { //Запроск К БД row1["УЕ"] = _getReaderByName(reader, "RPRT_NOM"); row1["Марка"] = _getReaderByName(reader, "MARKA_NAME"); row1["Размер"] = _getReaderByName(reader, "RELMUCH_THICKNESS") + "х" + _getReaderByName(reader, "RELMUCH_WIDTH"); row1["Вес"] = SqlLiteQuery.getReaderByName(reader, "RELMUCH_VES"); } reader.Close(); connection.Close(); command.Dispose(); insert.Dispose(); reader.Dispose(); } _tblEU.Rows.InsertAt(row1, 0); WebReference.Relmuch EUT = new WebReference.Relmuch(); EUT.LABEL = EU; EUT.CODEAUTOMATIC = 5; listEU.Add(EUT); labelCountScan.BeginInvoke(new Action(() => { labelCountScan.Text = listEU.Count.ToString(); })); dataGridEu.BeginInvoke(new Action(() => { dataGridEu.DataSource = _tblEU; })); } catch (Exception exp) { CLog.WriteException("WarehousePost.cs", "bcr_BarcodeReadWarehousePost", exp.Message); //MessageBox.Show(exp.Message); } }