public void DidDetect(NFCNdefReaderSession session, NFCNdefMessage[] messages) { int user_id = 0; try { if (messages != null && messages.Length > 0) { var first = messages[0]; string messa = GetRecords(first.Records); string[] variables = messa.Split('='); string[] depura_userid = variables[1].Split('&'); string tag_id = variables[2]; user_id = Convert.ToInt32(depura_userid[0]); //if (write_tag.modo_escritura == false) { Imprime_box.Consulta_user(user_id.ToString(), tag_id); } Imprime_box.Consulta_user(user_id.ToString(), tag_id); } } catch (Exception e) { Console.WriteLine(e); } //user_id_tag = user_id.ToString(); //if (write_tag.modo_escritura == true) //{ // session.InvalidateSession(); // session.Dispose(); // Thread.Sleep(7000); // write_tag.modo_escritura = false; // write_tag myobject = new write_tag(); // myobject.ScanWriteAsync(); //} session.InvalidateSession(); Session.InvalidateSession(); }
public async Task <Box> GetBoxDefault(int id) { if (id == null || id == 0) { await Application.Current.MainPage.DisplayAlert( Languages.Error, Languages.UserNotFound, Languages.Accept); return(null); } Box = new Box(); var connection = await this.apiService.CheckConnection(); if (!connection.IsSuccess) { await Application.Current.MainPage.DisplayAlert( Languages.Error, connection.Message, Languages.Accept); return(null); } var apiSecurity = Application.Current.Resources["APISecurity"].ToString(); var UserFornaneo = await this.apiService.GetUserId( apiSecurity, "/api", "/Users/", id); if (UserFornaneo == null) { await Application.Current.MainPage.DisplayAlert( Languages.Error, Languages.UserNotFound, Languages.Accept); return(null); } var BoxL = await this.apiService.GetBoxDefault <Box>( apiSecurity, "/api", "/Boxes/GetBoxDefault", id); if (BoxL == null) { await Application.Current.MainPage.DisplayAlert( Languages.Error, Languages.UserWithoutBoxes, Languages.Accept); return(null); } int UserIdToSend = UserFornaneo.UserId; //Perfil predeterminado, que es el perfil de Mynfo y box predeterminada de Ese perfil if (UserFornaneo.Share != true) { UserIdToSend = 1; BoxL = await apiService.GetBoxDefault <Box>( apiSecurity, "/api", "/Boxes/GetBoxDefault", UserIdToSend); if (BoxL == null) { await Application.Current.MainPage.DisplayAlert( Languages.Error, Languages.UserWithoutBoxes, Languages.Accept); return(null); } } Imprime_box.InsertForeignData(UserIdToSend, BoxL.BoxId); return(Box); }
protected override void OnResume() { base.OnResume(); try { if (TAGPage.write_nfc == true) { //PopupNavigation.Instance.PopAsync(); PopupNavigation.Instance.PushAsync(new ConfigStikerPage()); int user_id = 0; if (NfcAdapter.ActionNdefDiscovered.Equals(Intent.Action)) { //Get the NFC ID var myTag = Intent.GetParcelableArrayExtra(NfcAdapter.ExtraNdefMessages); var msg = (NdefMessage)myTag[0]; var record = msg.GetRecords()[0]; //If the NFC Card ID is not null if (record != null) { if (record.Tnf == NdefRecord.TnfWellKnown) // The data is defined by the Record Type Definition (RTD) specification available from http://members.nfc-forum.org/specs/spec_list/ { // Get the transfered data var data = Encoding.ASCII.GetString(record.GetPayload()); string result = data.Substring(1); string[] variables = result.Split('='); string[] depura_userid = variables[1].Split('&'); user_id = Convert.ToInt32(depura_userid[0]); } } } string dominio = "boxweb.azurewebsites.net/"; string user = MainViewModel.GetInstance().User.UserId.ToString(); string tag_id = ""; if (user_id == Convert.ToInt32(user) || 0 == user_id) { string url = dominio + "index3.aspx?user_id=" + user + "&tag_id=" + tag_id; //http://localhost:58951/index.aspx?user_id=7 var tag = Intent.GetParcelableExtra(NfcAdapter.ExtraTag) as Tag; if (tag != null) { Ndef ndef = Ndef.Get(tag); if (ndef != null && ndef.IsWritable) { /*var payload = Encoding.ASCII.GetBytes(url); * var mimeBytes = Encoding.ASCII.GetBytes("text/html"); * var record = new NdefRecord(NdefRecord.TnfWellKnown, mimeBytes, new byte[0], payload); * var ndefMessage = new NdefMessage(new[] { record }); * ndef.Connect(); * ndef.WriteNdefMessage(ndefMessage); * ndef.Close();*/ ndef.Connect(); NdefRecord mimeRecord = NdefRecord.CreateUri("http://" + url); ndef.WriteNdefMessage(new NdefMessage(mimeRecord)); ndef.Close(); } } TAGPage.write_nfc = false; var duration = TimeSpan.FromMilliseconds(2000); Vibration.Vibrate(duration); } else { System.Threading.Tasks.Task task = App.DisplayAlertAsync("¡Este Tag esta vinculado con otro usuario!"); } PopupNavigation.Instance.PopAsync(); PopupNavigation.Instance.PushAsync(new Stickerconfig()); Thread.Sleep(4000); PopupNavigation.Instance.PopAsync(); } else { if (NfcAdapter.ActionNdefDiscovered.Equals(Intent.Action)) { //Get the NFC ID var myTag = Intent.GetParcelableArrayExtra(NfcAdapter.ExtraNdefMessages); var msg = (NdefMessage)myTag[0]; var record = msg.GetRecords()[0]; //If the NFC Card ID is not null if (record != null) { if (record.Tnf == NdefRecord.TnfWellKnown) // The data is defined by the Record Type Definition (RTD) specification available from http://members.nfc-forum.org/specs/spec_list/ { // Get the transfered data var data = Encoding.ASCII.GetString(record.GetPayload()); string result = data.Substring(1); string[] variables = result.Split('='); string[] depura_userid = variables[1].Split('&'); string tag_id = variables[2]; string user_id = depura_userid[0]; Imprime_box.Consulta_user(user_id, tag_id); } } } } } catch (Exception ex) { Console.WriteLine(ex); } }