public async Task displayUrl(Library.Models.ProductDisplay display)
        {
            await Task.Factory.StartNew(() => {
                this.Dispatcher.Invoke(() => {
                    BitmapImage bitmap = new BitmapImage();
                    bitmap.BeginInit();
                    bitmap.UriSource = new Uri(APIHelper.Instance.makeImageUrl(display.ImgURL),
                                               UriKind.Absolute);
                    bitmap.DecodePixelWidth = 254;
                    bitmap.EndInit();

                    productMainUrl.ImageSource = bitmap;
                    productMainUrl.Stretch     = Stretch.Uniform;
                });
            });
        }
        public async void initData(string productId)
        {
            this.productId = productId;

            string apiUrl = ApiRoutes.Product.getProductDisplay;

            apiUrl = apiUrl.Replace("{id}", productId);
            Response <Library.Models.ProductDisplay> response = await APIHelper.Instance.Get
                                                                <Response <Library.Models.ProductDisplay> >(apiUrl);

            Library.Models.ProductDisplay display = response.Result;

            await displayUrl(display);

            productPrice.Text     = display.displayPrice;
            productName.Text      = display.ProductName;
            productTotalSale.Text = "Sold " + display.totalSale.ToString();
        }