public BasketViewController (Order order)
		{
			this.Title = "Your Basket";
			//This hides the back button text when you leave this View Controller
			this.NavigationItem.BackBarButtonItem = new UIBarButtonItem ("", UIBarButtonItemStyle.Plain, handler: null);
			TableView.Source = new TableViewSource (this.order = order) {
				RowDeleted = CheckEmpty,
			};
			TableView.SeparatorStyle = UITableViewCellSeparatorStyle.None;
			TableView.RowHeight = 75;
			TableView.TableFooterView = new UIView (new RectangleF (0, 0, 0, BottomButtonView.Height));
			this.View.AddSubview (BottomView = new BottomButtonView () {
				ButtonText = "Checkout",
				ButtonTapped = () => {
					if (Checkout != null)
						Checkout (this, EventArgs.Empty);
				}
			});
			CheckEmpty (false);
			totalAmount = new UILabel () {
				Text = "$1,000",
				TextColor = UIColor.White,
				TextAlignment = UITextAlignment.Center,
				Font = UIFont.BoldSystemFontOfSize (17),
			};
			totalAmount.SizeToFit ();
			this.NavigationItem.RightBarButtonItem = new UIBarButtonItem (totalAmount);
			UpdateTotals ();
		}
示例#2
0
        public WebService()
        {
            CurrentOrder = new Order();
            httpClient = new HttpClient();
            httpClient.BaseAddress = new Uri(storeurl);
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        }
 public BasketFragment(Order order)
 {
     if (order == null) throw new ArgumentNullException("order");
     _order = order;
 }
 public BasketFragment(Order order)
 {
     _order = order;
 }
			public TableViewSource (Order order)
			{
				this.order = order;

			}
		public WebService ()
		{
			CurrentOrder = new Order ();
		}
		public async Task<OrderResult> PlaceOrder (User user, bool verify = false) 
        {
			try {
                var httpClient = CreateClient();
				var res =
                    await httpClient.PostAsync("order" + (verify ? "?verify=1" : ""), new StringContent(CurrentOrder.GetJson(user)));

                res.EnsureSuccessStatusCode();

			    var json = await res.Content.ReadAsStringAsync();
                var result = Newtonsoft.Json.JsonConvert.DeserializeObject<OrderResult>(json);
				if(!verify && result.Success)
					CurrentOrder = new Order();
				return result;
			} catch (Exception ex) {
				return new OrderResult {
					Success = false,
					Message = ex.Message,
				};
			}
		}
		public Task<OrderResult> PlaceOrder (User user, bool verify = false) {
			return Task.Factory.StartNew (() => {
				try {
					var content = Encoding.UTF8.GetBytes (CurrentOrder.GetJson (user));

					var request = CreateRequest ("order" + (verify ? "?verify=1" : ""));
					request.Method = "POST";
					request.ContentLength = content.Length;

					using (Stream s = request.GetRequestStream ()) {
						s.Write (content, 0, content.Length);
					}
					string response = ReadResponseText (request);
					var result = Newtonsoft.Json.JsonConvert.DeserializeObject<OrderResult> (response);
					if(!verify && result.Success)
						CurrentOrder = new Order();
					return result;
				} catch (Exception ex) {
					return new OrderResult {
						Success = false,
						Message = ex.Message,
					};
				}
			});
		}
示例#9
0
 public async Task<OrderResult> PlaceOrder(User user, bool verify = true)
 {
     try
     {
         var request = CreateRequest(HttpMethod.Post, "order" + (verify ? "?verify=1" : ""));
         request.Content = new StringContent(CurrentOrder.GetJson(user), Encoding.UTF8, "application/json");
         string response = await ReadResponseText(request);
         var result = Newtonsoft.Json.JsonConvert.DeserializeObject<OrderResult>(response);
         if (!verify && result.Success)
             CurrentOrder = new Order();
         return result;
     }
     catch (Exception ex)
     {
         return new OrderResult
         {
             Success = false,
             Message = ex.Message,
         };
     }
 }