コード例 #1
0
		public ProductDetailViewController(Product product)
		{
			CurrentProduct = product;

			Title = CurrentProduct.Name;
			LoadProductData();
			TableView.TableFooterView = new UIView(new RectangleF(0, 0, 0, BottomButtonView.Height));

			View.AddSubview(BottomView = new BottomButtonView()
			{
				ButtonText = "Add to Basket",
				Button =
				{
					Image = (tshirtIcon = UIImage.FromBundle("t-shirt")),
				},
				ButtonTapped = async () => await addToBasket()
			});
		}
コード例 #2
0
ファイル: Order.cs プロジェクト: pmourfield/xamarin-store-app
 public void Add(Product product)
 {
     _products.Insert(0, (Product)product.Clone());
     var evt = ProductsChanged;
     if (evt != null)
         evt(this, EventArgs.Empty);
 }
コード例 #3
0
ファイル: Order.cs プロジェクト: pmourfield/xamarin-store-app
 public bool Remove(Product product)
 {
     var result = _products.Remove(product);
     if (result)
     {
         var evt = ProductsChanged;
         if (evt != null)
             evt(this, EventArgs.Empty);
     }
     return result;
 }
コード例 #4
0
 public void ShowProductDetail(Product product)
 {
     var productDetails = new ProductDetailViewController(product);
     productDetails.AddToBasket += p =>
     {
         WebService.Shared.CurrentOrder.Add(p);
         UpdateProductsCount();
     };
     navigation.PushViewController(productDetails, true);
 }
コード例 #5
0
 public async Task Update(Product product)
 {
     NameLabel.Text = product.Name;
     SizeLabel.Text = product.Size.Description;
     ColorLabel.Text = product.Color.Name;
     PriceLabel.Text = product.PriceDescription;
     var imageTask = FileCache.Download(product.ImageForSize(320));
     if (!imageTask.IsCompleted)
         //Put default before doing the web request;
         ImageView.Image = Image.Value;
     var image = await imageTask;
     ImageView.Image = UIImage.FromFile(image);
 }
コード例 #6
0
        public void ShowProductDetail(Product product, int itemVerticalOffset)
        {
            var productDetails = new ProductDetailsFragment(product, itemVerticalOffset);

            productDetails.AddToBasket += p =>
            {
                WebService.Shared.CurrentOrder.Add(p);

                SetupActionBar();
            };

            SwitchScreens(productDetails);
        }
コード例 #7
0
 public ProductDetailsFragment(Product product, int slidingDelta)
 {
     this.slidingDelta = slidingDelta;
     currentProduct = product;
     images = product.ImageUrls.ToArray().Shuffle() ?? new string[0];
 }
コード例 #8
0
 async void LoadProductImage(View mainView, ProgressBar progressView, ImageView imageView, Product product)
 {
     progressView.Visibility = ViewStates.Visible;
     imageView.SetImageResource(Android.Resource.Color.Transparent);
     await Images.SetImageFromUrlAsync(imageView, product.ImageForSize(Images.ScreenWidth));
     progressView.Visibility = ViewStates.Invisible;
 }
コード例 #9
0
 public ProductDescriptionView(Product product)
     : this()
 {
     this.Update(product);
 }
コード例 #10
0
 public void Update(Product product)
 {
     Name.Text = product.Name;
     DescriptionLabel.Text = product.Description;
     Price.Text = product.PriceDescription;
 }