public MyBets() { // Create the ListView. listView = new ListView(); // Define template for displaying each item. listView.ItemTemplate = new DataTemplate(typeof(BetCell)); //Define action for item selected listView.ItemSelected += (sender, e) => { var BetObject = (Bet)e.SelectedItem; var BetPage = new BetPage (); BetPage.BindingContext = BetObject; ((App)App.Current).ResumeAtBetId = BetObject.ID; Navigation.PushAsync (BetPage); }; // Accomodate iPhone status bar. this.Padding = new Thickness(10, Device.OnPlatform(20, 0, 0), 10, 5); listView.HasUnevenRows = true; var tbi = new ToolbarItem("+", null, async () => { var action = await DisplayActionSheet ("Add Bet", "Cancel", null, "Manually", "Picture"); switch (action){ case "Manually": { var BetObject = new Bet(); var BetPage = new BetPage(); BetPage.BindingContext = BetObject; Navigation.PushAsync(BetPage); break; } case "Picture": { Navigation.PushAsync( new CameraView()); break; } } } ); this.ToolbarItems.Add(tbi); listView.IsPullToRefreshEnabled = true; listView.Refreshing += ListView_Refreshing; // Build the page. this.Content = new StackLayout { Children = { listView } }; }
async void Btn2_Clicked (object sender, EventArgs e) { try{ WebService conn = new WebService (); string token = Application.Current.Properties ["key"] as string; var response = await conn.RequestOCR (imgByte,token); if(response != null) { var dataReceived = response[0]; if(dataReceived.result.Equals("True")){ await DisplayAlert("Message", "Your photo has been sucessfully sent","OK"); bool _done = false; List<Dictionary<string, dynamic>> rep2 = null; await App.Sleep(2000); while(!_done){ rep2 = await conn.GetTicket(token, dataReceived.request); var responseResult = rep2[0]["result"]; if(!responseResult.Equals("WAIT")) { _done = true; } else { await App.Sleep(1000); } } var combinationResult = rep2[0]["response"]; var msg = JsonConvert.DeserializeObject<HelperAPI>(rep2[0]["response"]); await conn.DeleteTicket(token, dataReceived.request); if(rep2[0]["result"]) { await DisplayAlert("Message", "Ticket Received","OK"); //Move to AddPage var BetObject = new Bet(); var BetPage = new BetPage(); BetObject.Date = DateTime.Now.ToString (); //Parse string[] to string string numbersFinal = ""; string starsFinal = ""; int counter = 0; foreach (string n in msg.numbers) { if(counter != 4){ numbersFinal +=n+"-"; } else {numbersFinal +=n; } } counter = 0; foreach (string s in msg.stars) { if(counter != 1){ starsFinal +=s+"-"; }else{ starsFinal +=s; } } BetObject.Numbers = numbersFinal; BetObject.Stars = starsFinal; BetPage.BindingContext = BetObject; Navigation.PushAsync(BetPage); } else{ await DisplayAlert("Message", "Some error ocurred" ,"OK"); } } else{ await DisplayAlert("Error", "Deu merda amigo","OK"); } } } catch(Exception exc){ DisplayAlert("Error",exc.Message,"OK"); } }