示例#1
0
		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");
			}

		}