private async Task <bool> CheckLocationPermision() { if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) { } var permissionId = Activity.CheckSelfPermission(permission); if (permissionId == (int)Permission.Granted) { return(true); } bool dialogResult = await AlertDialogHelper.ShowAsync(Activity, "Permisos", "Para seguir usando esta applicacion necesitas los permisos de localizacion.", "Activar", "No Activar"); if (dialogResult) { var permissionAndroid = Task.Run(() => RequestPermissions(PermissionsLocation, RequestLocationId)); permissionAndroid.Wait(); permissionId = Activity.CheckSelfPermission(permission); if (permissionId == (int)Permission.Granted) { dialogResult = await Task.FromResult <bool>(true); } else { dialogResult = await Task.FromResult <bool>(false); } } return(await Task.FromResult <bool>(dialogResult)); }
public Task ShowMessage(string title, string message, string positiveButtonTitle, Action positiveAction, string negativeButtonTitle, Action negativeAction) { var dispatcher = TinyIoCContainer.Current.Resolve <IMvxViewDispatcher>(); var tcs = new TaskCompletionSource <object>(); dispatcher.RequestMainThreadAction(async() => AlertDialogHelper.Show( Context.Activity, title, message, positiveButtonTitle, () => { if (positiveAction != null) { positiveAction(); } tcs.TrySetResult(null); }, negativeButtonTitle, () => { if (negativeAction != null) { negativeAction(); } tcs.TrySetResult(null); })); return(tcs.Task); }
private async void SendButtonOnClick(object sender, EventArgs e) { if (_messageText.Text == "") { await AlertDialogHelper.ShowAsync(Activity, "Atención", "Para enviar el mensaje con éxito, es necesario llenar todos los campos.", "OK", ""); return; } _sendButton.Activated = false; IInboxProxy inboxProxy = BasicProxiesFactory.GetInboxProxy(); Tuple <int, string> truckInfo = GetTruckId(); Common.ReportTypesEnum reportType = GetReportType(); DTO.InboxDTO inboxDTO = GenerateInboxMessage(truckInfo, reportType); try { _lottieAnimation.Visibility = ViewStates.Visible; _commentView.Visibility = ViewStates.Gone; var response = await inboxProxy.Create(inboxDTO); } catch (Exception ex) { _sendButton.Activated = true; Toast.MakeText(Activity, "¡Lo sentimos! El envío de comentarios no se encuentra disponible.", ToastLength.Long).Show(); } FragmentManager.BeginTransaction().Replace(Resource.Id.fragments_container, new Fragments.MessageSend()).Commit(); }
/// <inheritdoc/> public async Task ShowMessageAsync(string message, string title) { if (string.IsNullOrEmpty(title)) { title = "SilentNotes"; } await AlertDialogHelper.ShowAsync(_rootActivity, message, title, _languageService.LoadText("ok"), null); }
public Task ShowMessage(string title, string message) { var dispatcher = TinyIoCContainer.Current.Resolve <IMvxViewDispatcher>(); var tcs = new TaskCompletionSource <object>(); dispatcher.RequestMainThreadAction(async() => AlertDialogHelper.Show(Context.Activity, title, message, () => tcs.TrySetResult(null))); return(tcs.Task); }
/// <inheritdoc/> public async Task <MessageBoxResult> ShowMessageAsync(string message, string title, MessageBoxButtons buttons, bool conservativeDefault) { ButtonArrangement arrangement = ButtonArrangement.Create(buttons, _languageService); bool dialogResult = await AlertDialogHelper.ShowAsync( _rootActivity, message, title, arrangement.PositiveButtonText, arrangement.NegativeButtonText); return(arrangement.ToMessageBoxResult(dialogResult)); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.onboarding_layout); GetWidgets(); helper = new CookieBarHelper(this); dialogHelper = new AlertDialogHelper(this); sessionManager = SessionManager.GetInstance(); auth = sessionManager.GetFirebaseAuth(); callbackManager = CallbackManagerFactory.Create(); LoginManager.Instance.RegisterCallback(callbackManager, this); }
/// <inheritdoc/> public async Task <MessageBoxResult> ShowMessageAsync(string message, string title, MessageBoxButtons buttons, bool conservativeDefault) { ButtonArrangement arrangement = new ButtonArrangement(buttons, _languageService); AlertDialogHelper.DialogResult dialogResult = await AlertDialogHelper.ShowAsync( _rootActivity, message, title, arrangement.PrimaryButtonText, arrangement.SecondaryButtonText, arrangement.CloseButtonText); return(arrangement.ToMessageBoxResult(dialogResult)); }
private void ResetDefaults_PreferenceClick(object sender, Preference.PreferenceClickEventArgs e) { AlertDialogHelper.DisplayDialog(Activity, "Reset settings to default", "This will reset ALL settings to default values! Are you sure?", () => { ProgressDialogHelper.RunTask(Activity, "Resetting settings...", () => { PreferenceHelper.ResetToDefaults(); PreferenceScreen = null; SetPreferencesFromResource(Resource.Xml.preferences, _rootKey); //InitializePreferences(); }); }); }
public async Task Process(string data) { try { tFt.EnableDeleting = false; await RS.AddData(data, Activity); if (RS.Status == ReadingStatusEnum.PARTNUMBER) { cSounds.Correct(Activity); await Values.DataReadingList.Add(RS.CurrentData); tFt.EnableDeleting = true; tFt.FillData(RS.CurrentGap, RS.CurrentData); } Values.DataReadingList.Processing = false; DataTransferManager.Active = true; //Activity.RunOnUiThread(() => //{ // ElData.Enabled = true; // ElData.Text = ""; //}); RS.Next(); SetMessage(RS.MessageStatus); if (RS.Status == ReadingStatusEnum.FINISHED) { Activity.RunOnUiThread(async() => { await Values.DataReadingList.Add(Values.CloseCode); }); } //await Values.gDRL.Add(e.ReceivedData); } catch (Exception ex) { Values.DataReadingList.Processing = false; DataTransferManager.Active = true; Activity.RunOnUiThread(async() => { cSounds.Error(Activity); bool dialogResult = await AlertDialogHelper.ShowAsync(Context, "ERROR", "Error reading scan: " + ex.Message, "ACKNOWLEDGE", ""); //Toast.MakeText(Activity, "Error reading scan." + ex.Message, ToastLength.Long).Show(); //ElData.Enabled = true; //ElData.Text = ""; }); } }
public Task <string> ShowPromptDialog(string title, string message, Action cancelAction = null, bool isNumericOnly = false, string inputText = "") { var tcs = new TaskCompletionSource <string> (); var dispatcher = TinyIoCContainer.Current.Resolve <IMvxViewDispatcher>(); dispatcher.RequestMainThreadAction(async() => { try { var result = await AlertDialogHelper.ShowPromptDialog( Context.Activity, title, message, () => { tcs.TrySetResult(null); if (cancelAction != null) { cancelAction(); } }, isNumericOnly, inputText); if (result != null) { tcs.TrySetResult(result); } } catch (Exception ex) { Logger.LogError(ex); } }); return(tcs.Task); }
private async Task DoThings() { if (cUser.Text == "" || cPassword.Text == "") { cMsgText.Text = "Please input correct User and Password"; } else { this.RunOnUiThread(() => { cUser.Enabled = false; cPassword.Enabled = false; }); gDatos.DataBase = "SISTEMAS"; gDatos.Server = LogonDetails.ConnectionServer; gDatos.User = "******"; gDatos.Password = "******"; bool error = false; try { await gDatos.ConnectAsync(); //RunOnUiThread(async () => { }); } catch (Exception ex) { var builder = new Android.Support.V7.App.AlertDialog.Builder(this); builder.SetTitle("ERROR"); builder.SetIcon(Android.Resource.Drawable.IcDialogAlert); builder.SetMessage("Error: " + ex.Message); builder.SetNeutralButton("OK", delegate { Intent intent = new Intent(); intent.PutExtra("Result", "ERROR"); SetResult(Result.Ok, intent); Finish(); }); RunOnUiThread(() => { builder.Create().Show(); }); error = true; } if (!error) { RSFrame _RS; _RS = (RSFrame)CObjectFactory.CreateObject("RS", typeofCaller, "select date=getdate()", gDatos); await _RS.OpenAsync(); gDatos.Close(); SPFrame LogonSP; LogonSP = (SPFrame)CObjectFactory.CreateObject("SP", typeofCaller, gDatos, "pLogonUser"); LogonSP.AddParameterValue("User", cUser.Text); LogonSP.AddParameterValue("Password", cPassword.Text); LogonSP.AddParameterValue("Origin", packageName.ToUpper()); LogonSP.AddParameterValue("FullName", ""); string _version = "123456"; string _packageName = "123456789"; LogonSP.AddParameterValue("Version", _version); LogonSP.AddParameterValue("PackageName", _packageName); try { await LogonSP.ExecuteAsync(); if (LogonSP.LastMsg.Substring(0, 2) != "OK") { throw new Exception(LogonSP.LastMsg); } else { Toast.MakeText(this, "Logon OK!", ToastLength.Short).Show(); LogonDetails.User = LogonSP.ReturnValues()["@User"].ToString(); LogonDetails.Password = LogonSP.ReturnValues()["@Password"].ToString(); LogonDetails.FullName = LogonSP.ReturnValues()["@FullName"].ToString(); _version = LogonSP.ReturnValues()["@Version"].ToString(); var _versionArray = _version.Split('.'); _version = string.Format("{0}.{1}", _versionArray[0], _versionArray[1]); var versionArray = version.Split('.'); version = string.Format("{0}.{1}", versionArray[0], versionArray[1]); _packageName = LogonSP.ReturnValues()["@PackageName"].ToString(); #if DEBUG //if (true) if (Convert.ToSingle(_version) > Convert.ToSingle(version)) #else if (Convert.ToSingle(_version) > Convert.ToSingle(version)) #endif { bool dialogResult = await AlertDialogHelper.ShowAsync(this, "New version found", "Do you want to update your current program?", "Yes", "No"); if (dialogResult) { try { Window.SetFlags(Android.Views.WindowManagerFlags.NotTouchable, Android.Views.WindowManagerFlags.NotTouchable); progressBarHolder.Visibility = ViewStates.Visible; await UpdatePackageURL(_packageName); //pd.Dismiss(); progressBarHolder.Visibility = ViewStates.Gone; Window.ClearFlags(WindowManagerFlags.NotTouchable); } catch (Exception ex) { Window.ClearFlags(WindowManagerFlags.NotTouchable); cMsgText.Text = string.Format("Error updating app, {0}: {1}", ex.Message, ex.InnerException.Message); Window.ClearFlags(WindowManagerFlags.NotTouchable); } } } Intent intent = new Intent(); intent.PutExtra("Result", "OK"); SetResult(Result.Ok, intent); Finish(); } } catch (Exception ex) { cMsgText.Text = string.Format("{0}: {1}", ex.Message, ex.InnerException.Message); cUser.Text = ""; cPassword.Text = ""; #if DEBUG cUser.Text = "restelles"; cPassword.Text = "1312"; #endif cUser.RequestFocus(); } } this.RunOnUiThread(() => { cUser.Enabled = true; cPassword.Enabled = true; }); } }
public async Task AddData(string text, Context context) { if (Status == ReadingStatusEnum.FINISHED) { Status = ReadingStatusEnum.TROLL; } //ticket var ticketPattern = @"(.*)(?:\ +|%)(\d\d\d\d)(?:\ +|%)(.*)"; var ticketMatch = Regex.Match(text, ticketPattern); if (ticketMatch.Success) //ticket { if (Status != ReadingStatusEnum.TICKET) { throw new Exception($"Wrong data, expecting {Status.ToString()}"); } var ticketVINNr = ticketMatch.Groups[1].ToString().Replace("%", ""); var ticketSequenceNumber = ticketMatch.Groups[2].ToString().Replace("%", ""); var ticketPartnumberSeqLabel = ticketMatch.Groups[3].ToString().Replace("%", "").Replace(" ", ""); //check if already read if (await SQLidb.db.Table <Tickets>().FirstOrDefaultAsync(o => o.SequenceNumber == ticketSequenceNumber && o.TicketVIN == ticketVINNr && o.TicketPartnumber == ticketPartnumberSeqLabel) != null) { throw new Exception($"This Ticket has already been read today in a different session."); } if (await SQLidb.db.Table <ScannedData>().Where(o => o.VINNr == ticketVINNr && o.SequenceNumber == ticketSequenceNumber && o.PartnumberSeqLabel == ticketPartnumberSeqLabel).CountAsync() != 0) { throw new Exception($"Wrong ticket, already scanned."); } if (ticketSequenceNumber == "0001" && tFt.Trolley.UsedGaps != 0) { bool dialogResult = await AlertDialogHelper.ShowAsync(context, "New sequence number start", "This sequence means the end of the previous day and the start of a new group of sequence numbers. Are you sure?", "Yes", "No"); if (!dialogResult) { throw new Exception($"Cancelled the new sequence number group."); } } var _usedGaps = tFt.Trolley.UsedGaps; if (ticketSequenceNumber != "0001" && _usedGaps != 0) { var _prevSeqNum = tFt.Trolley[_usedGaps].SequenceNumber; if (Convert.ToInt32(ticketSequenceNumber) != (Convert.ToInt32(_prevSeqNum) + 1)) { throw new Exception($"Wrong ticket, Sequence Numbers should be consecutive or 0001."); } } CurrentData.VINNr = ticketVINNr; CurrentData.SequenceNumber = ticketSequenceNumber; CurrentData.PartnumberSeqLabel = ticketPartnumberSeqLabel; iFt.InfoSeqNr.Text = $"SeqNr: { CurrentData.SequenceNumber}"; iFt.InfoVIN.Text = $"VIN: { CurrentData.VINNr}"; iFt.InfoPartnumber.Text = $"Partnumber: { CurrentData.PartnumberSeqLabel}"; return; } //trolley var trollPattern = "(T..)-(..)"; var trollMatch = Regex.Match(text, trollPattern); if (trollMatch.Success) //troll { if (Status != ReadingStatusEnum.TROLL) { throw new Exception($"Wrong data, expecting {Status.ToString()}"); } var _previousGap = Convert.ToInt32(CurrentGap?.Substring(1, 2) ?? "0"); var _curGap = trollMatch.Groups[2].ToString(); if ((tFt.Trolley.Gaps[$"g{_curGap}"].Status != GapStatus.ERASED) && Convert.ToInt32(_curGap) != _previousGap + 1) { throw new Exception($"Wrong gap, please follow order, next gap expected is {_previousGap + 1}"); } CurrentGap = $"g{_curGap}"; if (CurrentTrolley == null) { CurrentTrolley = trollMatch.Groups[1].ToString(); hFt.t3.Text = $"Trolley: {CurrentTrolley}"; hFt.t4.Text = $"Gap: {CurrentGap}"; } else if (CurrentTrolley != trollMatch.Groups[1].ToString()) { throw new Exception($"Wrong trolley, expecting {CurrentTrolley}"); } CurrentGap = $"g{trollMatch.Groups[2].ToString()}"; if (await SQLidb.db.Table <ScannedData>().Where(o => o.TrollLocation == text).CountAsync() != 0) { //if (Values.DataReadingList.OfType<ScannedData>().Where(o => o.TrollLocation==text).Count() != 0) throw new Exception($"Wrong trolley, already scanned."); } CurrentData.TrollLocation = text; iFt.Clear(); iFt.InfoTrolley.Text = $"Trolley: {text}"; tFt.SetStatus(CurrentGap, GapStatus.FILLING); return; } //if (text==) //QTY //{ // if (Status != ReadingStatusEnum.QTY) // throw new Exception($"Wrong data, expecting {Status.ToString()}"); // CurrentData.Qty = text.ToInt(); // iFt.InfoQTY.Text = "Qty: "+ text; // return; //} //partnumber if (Status == ReadingStatusEnum.PARTNUMBER) { if (text == "icugoxaco9") { CurrentData.Qty = 0; CurrentData.PartnumberLabel = "NO-STOCK"; //iFt.InfoPartnumber.Text = $"Partnumber: {partnumber}✓"; iFt.InfoBatch.Text = $"Batch: --"; iFt.InfoQTY.Text = "Qty: NO STOCK"; return; } var labelPattern = @"(.*)(?:\r\n|\r|\n)(.*)(?:\r\n|\r|)"; var match = Regex.Match(text, labelPattern, RegexOptions.Singleline); if (!match.Success) { throw new Exception($"'{text}' wrong data, expecting {Status.ToString()}"); } var partnumber = match.Groups[1].ToString(); var batch = match.Groups[2].ToString(); if (!partnumber.Contains(CurrentData.PartnumberSeqLabel)) { throw new Exception($"Wrong partnumber, does not match ticket."); } CurrentData.PartnumberLabel = partnumber; CurrentData.Batch = batch; CurrentData.Qty = 1; iFt.InfoPartnumber.Text = $"Partnumber: {partnumber}✓"; iFt.InfoBatch.Text = $"Batch: {batch}"; iFt.InfoQTY.Text = "Qty: OK"; return; } throw new Exception($"'{text}' wrong data, expecting {Status.ToString()}"); }
protected override async void OnActivityResult(int requestCode, Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); if (resultCode == Result.Ok && requestCode == 0) { string Result = data.GetStringExtra("Result"); if (Result == "OK") { Values.gDatos.DataBase = "LOGISTICA"; Values.gDatos.Server = "net.espackeuro.com"; Values.gDatos.User = LogonDetails.User; Values.gDatos.Password = LogonDetails.Password; string _mainScreenMode = "NEW"; //create sqlite database Values.SQLidb = new SQLiteDatabase("DELIVERIES"); if (Values.SQLidb.Exists) //check if database exists { //Values.SQLidb.CreateDatabase(); //link the file to the sqlite database await Values.CreateDatabase(); //create tables if not exist Settings _settings = await Values.SQLidb.db.Table<Settings>().FirstOrDefaultAsync(); //get settings of persistent data if (_settings != null && _settings.User == Values.gDatos.User && _settings.Password == Values.gDatos.Password) //if not empty and user and password matches the logon ones { //var _lastXfec = from r in Values.SQLidb.db.Table<ScannedData>().ToListAsync().Result orderby r.xfec descending select xfec; try { var _lastRecord = await Values.SQLidb.db.QueryAsync<ScannedData>("Select * from ScannedData order by idreg desc limit 1"); //ScannedData _lastRecord = await Values.SQLidb.db.Table<ScannedData>().FirstOrDefaultAsync(); //get the last record time added, nullable datetime type if (_lastRecord.Count !=0 && (DateTime.Now - _lastRecord[0].xfec).Minutes < 60) //if time less than one hour { bool _a1, _a2 = false; _a1 = await AlertDialogHelper.ShowAsync(this, "Warning", "There are incomplete session data in the device, do you want to continue last session or erase and start a new one?", "ERASE", "CONTINUE SESSION"); if (_a1) //ERASE { _a2 = await AlertDialogHelper.ShowAsync(this, "Warning", "This will erase all pending content present in the device, are you sure?", "ERASE", "CONTINUE SESSION"); } if (!_a1 || !_a2) { Values.gSession = _settings.Session; Values._block = _settings.Block; Values.gOrderNumber = _settings.Order; Values.gService = _settings.Service; _mainScreenMode = "CONTINUE"; } else { await Values.EmptyDatabase(); await Values.CreateDatabase(); } } else { await Values.EmptyDatabase(); await Values.CreateDatabase(); } } catch(Exception ex) { Console.WriteLine(ex.Message); } } else { await Values.EmptyDatabase(); await Values.CreateDatabase(); } } else { await Values.CreateDatabase(); } // var intent = new Intent(this, typeof(MainScreen)); intent.PutExtra("MainScreenMode", _mainScreenMode); StartActivityForResult(intent, 1); //SetContentView(Resource.Layout.mainLayout); } else { Finish(); } } else { Finish(); } }
private async void TxtPwd_EditorAction(object sender, TextView.EditorActionEventArgs e) { e.Handled = false; if (e.ActionId == Android.Views.InputMethods.ImeAction.Send) { e.Handled = true; if (txtUser.Text == "" || txtPwd.Text == "") { txtMsg.Text = "Please input correct User and Password"; } else { string _connectionString = string.Format("Server={0};Initial Catalog={1};User Id={2};Password={3};MultipleActiveResultSets=True;Connection Lifetime=3;Max Pool Size=3", "net.espackeuro.com", "SISTEMAS", "SA", "5380"); using (SqlConnection gDatos = new SqlConnection(_connectionString)) { try { await gDatos.OpenAsync(); } catch (Exception ex) { throw ex;//control errores TBD } using (var sp = new SqlCommand("pLogonUser", gDatos) { CommandType = CommandType.StoredProcedure }) { SqlCommandBuilder.DeriveParameters(sp); sp.Parameters["@msg"].Value = ""; sp.Parameters["@User"].Value = txtUser.Text; sp.Parameters["@Password"].Value = txtPwd.Text; sp.Parameters["@Origin"].Value = packageName; sp.Parameters["@Version"].Value = ""; sp.Parameters["@PackageName"].Value = ""; sp.Parameters["@FullName"].Value = ""; try { await sp.ExecuteNonQueryAsync(); } catch (Exception ex) { txtMsg.Text = ex.Message; txtUser.Text = ""; txtPwd.Text = ""; #if DEBUG txtUser.Text = "restelles"; txtPwd.Text = "1312"; #endif txtUser.RequestFocus(); } if (sp.Parameters["@msg"].Value.ToString() != "OK") { throw new Exception(sp.Parameters["@msg"].Value.ToString()); } string _version = sp.Parameters["@Version"].Value.ToString(); string _packageName = sp.Parameters["@PackageName"].Value.ToString(); LoginDetails.User = sp.Parameters["@User"].Value.ToString(); LoginDetails.FullName = sp.Parameters["@FullName"].Value.ToString(); LoginDetails.Password = sp.Parameters["@Password"].Value.ToString(); var _versionArray = _version.Split('.'); _version = string.Format("{0}.{1}", _versionArray[0], _versionArray[1]); var versionArray = oldVersion.Split('.'); var version = string.Format("{0}.{1}", versionArray[0], versionArray[1]); if (_version != version) { bool dialogResult = await AlertDialogHelper.ShowAsync(this, "New version found", "Do you want to update your current program?", "Yes", "No"); if (dialogResult) { var pd = ProgressDialog.Show(this, "", "Downloading...", false, false); pd.SetProgressStyle(ProgressDialogStyle.Spinner); await UpdatePackageURL(_packageName); pd.Dismiss(); } } Intent intent = new Intent(); intent.PutExtra("Result", "OK"); SetResult(Result.Ok, intent); Finish(); } } } } }
private void ShowDialog() { AlertDialogHelper.Show(this, _title, _items, (s, e) => ReturnResult(e.Which)); }
//protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) //{ // base.OnActivityResult(requestCode, resultCode, data); // if (resultCode == Result.Ok && requestCode == 0) // { // string Result = data.GetStringExtra("Result"); // if (Result == "OK") // { // if (CallingPkg == null) // { // var intent = new Intent(this, typeof(MainScreen)); // StartActivityForResult(intent, 1); // } else // { // MainActivity.LaunchPackage(CallingPkg, this); // } // } // else // { // Finish(); // } // } // else // { // Finish(); // } //} public async static Task LaunchPackage(string packageName, Context context) { try { Intent intent = packageName == "com.espack.logon" ? new Intent(context, typeof(MainScreen)) : context.PackageManager.GetLaunchIntentForPackage(packageName); //((Activity)context).RunOnUiThread(async () => //{ //check if package exists if (intent == null) { var pd = ProgressDialog.Show(context, "", "Downloading...", false, false); pd.SetProgressStyle(ProgressDialogStyle.Spinner); try { await UpdatePackage.DoUpdatePackage(packageName, context); intent = context.PackageManager.GetLaunchIntentForPackage(packageName); } catch (Exception ex) { Toast.MakeText(context, ex.Message, ToastLength.Long); pd.Dismiss(); return; } pd.Dismiss(); } //check if package is updated if (UpdatePackage.CheckPackageIsOutdated(packageName, Values.LogonDetails.Version, context)) { bool dialogResult = await AlertDialogHelper.ShowAsync(context, "New version found", "Do you want to update your current program?", "Yes", "No"); if (dialogResult) { var pd = ProgressDialog.Show(context, "", "Downloading...", false, false); pd.SetProgressStyle(ProgressDialogStyle.Spinner); try { await UpdatePackage.DoUpdatePackage(packageName, context); return; //intent = context.PackageManager.GetLaunchIntentForPackage(packageName); } catch (Exception ex) { var builder = new Android.Support.V7.App.AlertDialog.Builder(context); builder.SetTitle("ERROR"); builder.SetIcon(Android.Resource.Drawable.IcDialogAlert); builder.SetMessage(ex.Message); builder.SetNeutralButton("OK", delegate { }); } pd.Dismiss(); } } intent.PutExtra("USR", LogonDetails.User); intent.PutExtra("PWD", LogonDetails.Password); intent.PutExtra("SRV", "db01.local"); intent.PutExtra("VERSION", LogonDetails.Version); intent.PutExtra("FULLNAME", LogonDetails.FullName); context.StartActivity(intent); //}); } catch (Exception ex) { Toast.MakeText(context, ex.Message, ToastLength.Long); } }
public async Task Add(string reading) { if (Context == null) { throw new Exception("Context not set"); } Processing = true; cData _data; //QRCODE if (reading.Length > 2 && reading.Substring(0, 2) == "@@" && reading.Substring(reading.Length - 2, 2) == "##") //QRCODE { var _readingFields = reading.Split('|'); if (Values.WorkMode == WorkModes.READING) { //"QRCODE|R GRAZ|07/02/2017|724008707|VCE15|303639641|KLT3215|U00045|L538|1000|W700530S300|STRAP 3-80X4.6 PLA||" reading = string.Format("%{0}%{1}%{2}", _readingFields[11], _readingFields[4], _readingFields[12]); } else { reading = _readingFields[5]; } } // CHECKING if ((reading.IsNumeric() && reading.Length == 9) || (reading.Length > 9 && reading.Substring(0, 1) == "S" && reading.Substring(1, 9).IsNumeric())) //checking { if (reading.Substring(0, 1) == "S" && reading.Substring(1, 9).IsNumeric()) { reading = reading.Substring(1, 9); } if (Values.WorkMode == WorkModes.READING) { cSounds.Error(Context); await AlertDialogHelper.ShowAsync(Context, "ERROR", "Current mode is READING, cannot process this data.", "OK", ""); Processing = false; return; } //check if serial is in list if (_dataList.OfType <dataChecking>().FirstOrDefault(r => r.Serial == reading) != null) { cSounds.Error(Context); Values.iFt.SetMessage(string.Format("Error: Serial {0} already checked.", reading)); Processing = false; return; } _data = new dataChecking() { Context = Context, Rack = Values.CurrentRack, Data = reading, Serial = reading }; if (await _data.doCheckings()) { _dataList.Add(_data); position++; //Values.sFt.CheckQtyReceived++; } _data.PushInfo(); Processing = false; return; } else // READING if (reading.Substring(0, 1) == "%") //reading { if (Values.WorkMode == WorkModes.CHECKING) { cSounds.Error(Context); await AlertDialogHelper.ShowAsync(Context, "ERROR", "Current mode is CHECKING, cannot process this data.", "OK", ""); Processing = false; return; } var _split = reading.Split('%'); string _pn = _split[1]; string _lr = _split[2]; string _ls = _split.Length == 4 ? _split[3] : ""; dataReading _r; bool newReading = false; //SAME READING QTY+1 if (position > -1 && Current() is dataReading) { _r = (dataReading)Current(); if (_r.Partnumber == _pn && _r.LabelRack == _lr && _r.LabelService == _ls) { _r.Qty++; await _r.doCheckings(); Current().UpdateCurrent(); Processing = false; return; } else { newReading = true; } } else { newReading = true; } if (newReading) { //NEW READING //get previous reading in the rack with the same data var itemToRemove = _dataList.SingleOrDefault(r => r is dataReading && ((dataReading)r).Partnumber == _pn && ((dataReading)r).LabelRack == _lr && ((dataReading)r).LabelService == _ls && (((dataReading)r).Status == dataStatus.READ || ((dataReading)r).Status == dataStatus.WARNING)); //var _query = from r in _dataList // where r is dataReading && ((dataReading)r).Partnumber == _pn && ((dataReading)r).LabelRack == _lr && ((dataReading)r).LabelService == _ls && (((dataReading)r).Status == dataStatus.READ || ((dataReading)r).Status == dataStatus.WARNING) // select r; //foreach (var d in _query) //_dataList.Remove(d); if (itemToRemove != null) { _dataList.Remove(itemToRemove); position--; } //_dataList.OfType<dataReading>().Select(r) => r.Partnumber=_pn && r.) _data = new dataReading() { Context = Context, Rack = Values.CurrentRack, Data = reading, Partnumber = _split[1], LabelRack = _split[2], LabelService = _split.Length == 4 ? _split[3] : "", Qty = 1 }; if (await _data.doCheckings()) { _dataList.Add(_data); position++; //Values.sFt.ReadQtyReceived++; } _data.PushInfo(); Processing = false; return; } } else //CLOSE CODE if (reading == Values.gCloseCode) { //set alert for executing the task bool dialogResult = await AlertDialogHelper.ShowAsync(Context, "Confirm Close Session", "This will close current session. Are you sure?", "Close Session", "Cancel"); if (!dialogResult) { ((Activity)Context).RunOnUiThread(() => { Toast.MakeText(Context, "Cancelled!", ToastLength.Short).Show(); }); Processing = false; return; } _data = new dataCloseSession() { Context = Context, Data = reading }; if (await _data.doCheckings()) { _dataList.Add(_data); //after close code we insert all reading from previous rack Values.dFt.SetMessage("Waiting for the pending data to be transmitted"); foreach (var r in _dataList.Where(r => r.Status == dataStatus.READ || r.Status == dataStatus.WARNING)) { await r.ToDB(); } Values.sFt.UpdateInfo(); //await Values.iFt.pushInfo("Waiting for the pending data to be transmitted"); while (true) { //SpinWait.SpinUntil(() => Values.SQLidb.pendingData && (monitor.State == NetworkState.ConnectedData || monitor.State == NetworkState.ConnectedWifi)); await Task.Delay(1000); if (Values.SQLidb.db.Table <ScannedData>().Where(r => r.Transmitted == false).CountAsync().Result == 0)//(Values.sFt.ReadQtyReceived == Values.sFt.ReadQtyTransmitted && Values.sFt.CheckQtyReceived == Values.sFt.CheckQtyTransmitted) { break; } } await Values.EmptyDatabase(); //clear info, debug and status fragments Values.iFt.Clear(); Values.dFt.Clear(); Values.sFt.Clear(); Values.hFt.Clear(); Values.gDatos.User = ""; Values.gDatos.Password = ""; Values.gSession = ""; Values.gService = ""; Values.gOrderNumber = 0; Values.gBlock = ""; _dataList.Clear(); position = -1; Values.SetCurrentRack(""); //change to enter order fragment var intent = new Intent(Context, typeof(MainActivity)); ((MainScreen)Context).StartActivityForResult(intent, 1); //Context.Dispose(); Processing = false; return; } } else //NEW READING QTY if (reading.IsNumeric()) { if (position > -1 && Current() is dataReading) { dataReading _r = (dataReading)Current(); _r.Qty = reading.ToInt(); await _r.doCheckings(); } else { cSounds.Error(Context); Processing = false; return; } cSounds.Scan(Context); Current().UpdateCurrent(); Processing = false; return; } else //NEW RACK CODE { if (reading == Values.CurrentRack) { ((Activity)Context).RunOnUiThread(() => { Toast.MakeText(Context, "Scanned Rack is the current one.", ToastLength.Short).Show(); cSounds.Error(Context); }); Processing = false; return; } _data = new dataChangeRack() { Context = Context, Data = reading }; if (await _data.doCheckings()) { //after new rack code we insert all reading from previous rack if (_dataList.Count != 0) { Values.dFt.SetMessage(string.Format("Transmitting Rack {0}", Values.CurrentRack)); foreach (var r in _dataList.Where(r => r.Status == dataStatus.READ || r.Status == dataStatus.WARNING)) { await r.ToDB(); } } _dataList.Add(_data); Values.sFt.UpdateInfo(); position++; //try //{ // await Values.dtm.Transfer(); //} //catch (Exception ex) //{ // await Values.dFt.pushInfo(ex.Message); //} } _data.PushInfo(); Processing = false; return; } }
public async Task Add(string reading) { if (Context == null) { throw new Exception("Context not set"); } Processing = true; cData _data; //CLOSE CODE if (reading == Values.CloseCode) { //set alert for executing the task bool dialogResult = await AlertDialogHelper.ShowAsync(Context, "Confirm Close Session", "This will close current session. Are you sure?", "Close Session", "Cancel"); if (!dialogResult) { ((Activity)Context).RunOnUiThread(() => { Toast.MakeText(Context, "Cancelled!", ToastLength.Short).Show(); }); Processing = false; return; } _data = new DataCloseSession() { Context = Context, Data = reading }; if (await _data.doCheckings()) { dataList.Add(_data); //after close code we insert all reading from previous rack Values.dFt.SetMessage("Waiting for the pending data to be transmitted"); foreach (var r in dataList.Where(r => r.Status == dataStatus.READ || r.Status == dataStatus.WARNING)) { await r.ToDB(); } Values.sFt.UpdateInfo(); //await Values.iFt.pushInfo("Waiting for the pending data to be transmitted"); while (true) { //SpinWait.SpinUntil(() => Values.SQLidb.pendingData && (monitor.State == NetworkState.ConnectedData || monitor.State == NetworkState.ConnectedWifi)); await Task.Delay(1000); if (Values.SQLidb.db.Table <ScannedData>().Where(r => r.Transmitted == false).CountAsync().Result == 0)//(Values.sFt.ReadQtyReceived == Values.sFt.ReadQtyTransmitted && Values.sFt.CheckQtyReceived == Values.sFt.CheckQtyTransmitted) { break; } } await Values.EmptyDatabase(); //clear info, debug and status fragments Values.iFt.Clear(); Values.dFt.Clear(); Values.sFt.Clear(); Values.hFt.Clear(); Values.gDatos.User = ""; Values.gDatos.Password = ""; Values.Session = ""; dataList.Clear(); position = -1; //change to enter order fragment var intent = new Intent(Context, typeof(MainActivity)); ((MainScreen)Context).StartActivityForResult(intent, 1); //Context.Dispose(); Processing = false; return; } } else //NEW READING QTY if (reading.IsNumeric()) { if (position > -1 && Current() is DataReading) { DataReading _r = (DataReading)Current(); _r.Qty = reading.ToInt(); await _r.doCheckings(); } else { cSounds.Error(Context); Processing = false; return; } cSounds.Scan(Context); Current().UpdateCurrent(); Processing = false; return; } }