public async Task Transfer() { if (Transmitting) { return; } Transmitting = true; foreach (var IndividualList in ListsToTransfer.Where(o => o.HasItemsToTransfer)) { while (IndividualList.HasItemsToTransfer && connectionWorking) { var itemToTransfer = IndividualList.ItemToTransfer; using (SPXML sp = new SPXML(conn, "pLaunchProcess_ReadingSessionControl")) { //SPXML _sp = new SPXML(Values.gDatos, "pLaunchProcess_ReadingSessionControl"); sp.AddParameterValue("@DB", IndividualList.DataBase); sp.AddParameterValue("@ProcedureName", IndividualList.ProcedureName); sp.AddParameterValue("@Parameters", itemToTransfer.ProcedureParameters()); sp.AddParameterValue("@TableDB", ""); sp.AddParameterValue("@TableName", ""); sp.AddParameterValue("@TablePK", ""); try { await sp.ExecuteAsync(); if (sp.LastMsg.Substring(0, 2) != "OK") { Transmitting = false; OnTransmissionError(new TransmissionErrorEventArgs() { ErrorMessage = sp.LastMsg }); return; } else { itemToTransfer.Status = dataStatus.TRANSMITTED; } } catch (Exception ex) { Transmitting = false; OnTransmissionError(new TransmissionErrorEventArgs() { ErrorMessage = ex.Message }); return; } } { } } } }
public async Task <CPendingDataReading> CreateNewSession(string system, string customerService, string cod3, string userCode, string serial) { SendMessage("Creating new session."); var _result = new CPendingDataReading(); int _minSeq; int _maxSeq; var _sp = new SPXML(Conn, "pSequencingSessionCabAdd"); //_sp.AddParameterValue("msg", _msg); _sp.AddParameterValue("System", system); _sp.AddParameterValue("CustomerService", customerService); _sp.AddParameterValue("COD3", cod3); _sp.AddParameterValue("UserCode", userCode); _sp.AddParameterValue("DeviceSerial", serial); await _sp.ExecuteAsync(); if (_sp.LastMsg.Substring(0, 2) != "OK") { SendError($"Error returned by SQL Server:\n {_sp.LastMsg}"); return(_result); } _result.SessionID = _sp.LastMsg.Substring(3); _result.UserCode = userCode; _minSeq = _sp.Parameters["@MinSequence"].Value.ToInt(); _maxSeq = _sp.Parameters["@MaxSequence"].Value.ToInt(); SendMessage($"New session created {_result.SessionID}"); SendMessage($"Assigning sequences from {_minSeq} to {_maxSeq}"); for (int i = _minSeq; i <= _maxSeq; i++) { var _d = new DataReading(); _d.SequenceNumber = i.ToString(); _result.Readings.Add(_d); } return(_result); }
private async Task <bool> ActionGo(string data) { if (data == "") { await cSounds.Error(Activity); Toast.MakeText(Activity, "Please enter one valid Order Number", ToastLength.Long).Show(); data = ""; return(false); } string _orderNumber; string _blockCode; if (data.IsNumeric() && data.Length > 6) { _orderNumber = data; _blockCode = ""; } else { _orderNumber = null; _blockCode = data; } //buttonOk.Enabled = false; Values.gDatos.DataBase = "LOGISTICA"; Values.iFt.pushInfo("Creating Session"); var _sp = new SPXML(Values.gDatos, "pAddCabReadingSession"); _sp.AddParameterValue("Block", _blockCode); //_sp.AddParameterValue("Service", " "); _sp.AddParameterValue("User", Values.gDatos.User); _sp.AddParameterValue("orderNumber", _orderNumber); try { await _sp.ExecuteAsync(); } catch (Exception ex) { Toast.MakeText(Activity, ex.Message, ToastLength.Long).Show(); Values.iFt.pushInfo(ex.Message); data = ""; //buttonOk.Enabled = true; return(false); } Values.iFt.pushInfo("Done"); Values.gSession = _sp.LastMsg.Substring(3); Values.hFt.t2.Text = string.Format("Session: {0}", Values.gSession); Values.gBlock = _sp.ReturnValues()["@Block"].ToString(); if (_orderNumber != null) { Values.gOrderNumber = data.ToInt(); Values.hFt.t4.Text = string.Format("Order: {0}", Values.gOrderNumber); } Values.gService = _sp.ReturnValues()["@Service"].ToString(); //update database data //await Values.sFt.ChangeProgressVisibility(true); var _settings = new Settings { User = Values.gDatos.User, Password = Values.gDatos.Password, Block = Values.gBlock, Order = Values.gOrderNumber, Session = Values.gSession, Service = Values.gService }; await Values.SQLidb.db.ExecuteAsync("DELETE FROM Settings"); await Values.SQLidb.db.InsertAsync(_settings); await getDataFromServer(); Values.SQLidb.Complete = true; //await Values.sFt.ChangeProgressVisibility(false); return(true); }
public static async Task Transfer() { if (Transmitting) { return; } Transmitting = true; //readings while (true) { try { var query = await Values.SQLidb.db.Table <ScannedData>().Where(r => r.Transmitted == false).OrderBy(o => o.idreg).ToListAsync(); if (query.Count == 0) { break; } foreach (var r in query) { //show the list in the debug fragment //var q = await Values.SQLidb.db.Table<ScannedData>().Where(z => z.Transmitted == false).ToListAsync(); //Values.dFt.Clear(); //q.ForEach(async z => await Values.dFt.pushInfo(z.Action, z.LabelRack+z.Serial, z.Partnumber, z.Qty.ToString())); //Thread.Sleep(500); if (DataTransferManager.monitor.State == NetworkState.ConnectedData || DataTransferManager.monitor.State == NetworkState.ConnectedWifi) { //Values.sFt.socksProgress.Visibility = ViewStates.Visible; Values.gDatos.DataBase = "PROCESOS"; using (SPXML _sp = new SPXML(Values.gDatos, "pLaunchProcess_ReadingSessionControl")) { //SPXML _sp = new SPXML(Values.gDatos, "pLaunchProcess_ReadingSessionControl"); _sp.AddParameterValue("@DB", "LOGISTICA"); _sp.AddParameterValue("@ProcedureName", "pReadingSessionControl"); _sp.AddParameterValue("@Parameters", r.ProcedureParameters()); _sp.AddParameterValue("@TableDB", ""); _sp.AddParameterValue("@TableName", ""); _sp.AddParameterValue("@TablePK", ""); try { await _sp.ExecuteAsync(); if (_sp.LastMsg.Substring(0, 2) != "OK") { Transmitting = false; return; } else { r.Transmitted = true; await Values.SQLidb.db.UpdateAsync(r); Values.sFt.UpdateInfo(); //switch (r.Action) //{ // case "CHECK": // Values.sFt.CheckQtyTransmitted++; // break; // case "ADD": // Values.sFt.ReadQtyTransmitted++; // break; //} } } catch (Exception ex) { Transmitting = false; Values.dFt.SetMessage(ex.Message); return; } } } else { Transmitting = false; return; } } } catch { Transmitting = false; return; } } //location data while (true) { try { var query = await Values.SQLidb.db.Table <DeviceLocation>().Where(r => r.Transmitted == false).OrderBy(o => o.idreg).ToListAsync(); if (query.Count == 0) { break; } foreach (var r in query) { //show the list in the debug fragment //var q = await Values.SQLidb.db.Table<ScannedData>().Where(z => z.Transmitted == false).ToListAsync(); //Values.dFt.Clear(); //q.ForEach(async z => await Values.dFt.pushInfo(z.Action, z.LabelRack+z.Serial, z.Partnumber, z.Qty.ToString())); //Thread.Sleep(500); if (DataTransferManager.monitor.State == NetworkState.ConnectedData || DataTransferManager.monitor.State == NetworkState.ConnectedWifi) { //Values.sFt.socksProgress.Visibility = ViewStates.Visible; Values.gDatos.DataBase = "PROCESOS"; using (SPXML _sp = new SPXML(Values.gDatos, "pLaunchProcess_ReadingSessionControl")) { //SPXML _sp = new SPXML(Values.gDatos, "pLaunchProcess_ReadingSessionControl"); _sp.AddParameterValue("@DB", "LOGISTICA"); _sp.AddParameterValue("@ProcedureName", "pReadingSessionControlLocation"); _sp.AddParameterValue("@Parameters", r.ProcedureParameters()); _sp.AddParameterValue("@TableDB", ""); _sp.AddParameterValue("@TableName", ""); _sp.AddParameterValue("@TablePK", ""); try { await _sp.ExecuteAsync(); if (_sp.LastMsg.Substring(0, 2) != "OK") { Transmitting = false; return; } else { r.Transmitted = true; await Values.SQLidb.db.UpdateAsync(r); Values.sFt.UpdateInfo(); //switch (r.Action) //{ // case "CHECK": // Values.sFt.CheckQtyTransmitted++; // break; // case "ADD": // Values.sFt.ReadQtyTransmitted++; // break; //} } } catch (Exception ex) { Transmitting = false; Values.dFt.SetMessage(ex.Message); return; } } } else { Transmitting = false; return; } } } catch { Transmitting = false; return; } } //Values.dFt.SetMessage(""); Transmitting = false; return; }
private async Task <bool> ActionGo() { //buttonOk.Enabled = false; Values.gDatos.DataBase = "SEQUENCING"; //await getDataFromServer(); //Values.iFt.pushInfo("Creating Session"); //string _msg = ""; var _sp = new SPXML(Values.gDatos, "SEQUENCING..pSequencingSessionCabAdd"); //_sp.AddParameterValue("msg", _msg); _sp.AddParameterValue("System", Values.System); _sp.AddParameterValue("CustomerService", CustomerService); _sp.AddParameterValue("COD3", COD3); _sp.AddParameterValue("UserCode", gDatos.User); try { await _sp.ExecuteAsync(); } catch (Exception ex) { Toast.MakeText(this, ex.Message, ToastLength.Long).Show(); //Values.iFt.pushInfo(ex.Message); //buttonOk.Enabled = true; return(false); } //iFt.pushInfo("Done"); Session = _sp.LastMsg.Substring(3); //hFt.t2.Text = string.Format("Session: {0}", Values.Session); //get if service should have gps control /* * using (var rs = new XMLRS($"Select GEO=dbo.CheckFlag(flags,'GEO'), COD3 from {Values.System}..Servicios WHERE Codigo='{CustomerService}'", Values.gDatos)) * { * await rs.OpenAsync(); * if (rs.RecordCount != 0) * { * IsLocationService = rs["GEO"].ToInt() == 1; * COD3 = rs["COD3"].ToString(); * sFt.LocationVisibility = true; * } * else * { * IsLocationService = false; * sFt.LocationVisibility = false; * } * } * // create GeoSession * Values.gDatos.DataBase = "GEO"; * using (var sp = new SPXML(gDatos, "GEO..pGeoSessionCabAdd")) * { * sp.AddParameterValue("COD3", COD3); * sp.AddParameterValue("System", Values.System); * sp.AddParameterValue("Service", CustomerService); * sp.AddParameterValue("ServiceSession", Session); * sp.AddParameterValue("UserCode", gDatos.User); * try * { * await sp.ExecuteAsync(); * Values.GeoSession = sp.LastMsg.Substring(3); * } * catch (Exception ex) * { * Toast.MakeText(this, $"Failure starting GeoLocation: {ex.Message}", ToastLength.Long).Show(); * //Values.iFt.pushInfo(ex.Message); * Values.IsLocationService = false; * //return false; * //buttonOk.Enabled = true; * } * * Values.gDatos.DataBase = "LOGISTICA"; * * * } */ //update database data //await Values.sFt.ChangeProgressVisibility(true); var _settings = new Settings { User = Values.gDatos.User, Password = gDatos.Password, Session = Session, Service = CustomerService, COD3 = COD3 }; await Values.SQLidb.db.ExecuteAsync("DELETE FROM Settings"); await Values.SQLidb.db.InsertAsync(_settings); Values.SQLidb.Complete = true; //await Values.sFt.ChangeProgressVisibility(false); return(true); }