public async Task Init(Data.MagazineViewModel mag, bool local = false, bool intern = false) { bool needToUpdateImage = false; if (mag.Image != null) { thumbnail.Source = mag.Image; } else { needToUpdateImage = true; } title.Text = mag.Title; subtitle.Text = mag.Subtitle; var loader = new ResourceLoader(); if (local) { _item = mag; noOptions.Visibility = Windows.UI.Xaml.Visibility.Collapsed; noOptions.Text = loader.GetString("no_options"); subscribeBtnContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; subscribeBtn1Container.Visibility = Windows.UI.Xaml.Visibility.Collapsed; buyMagContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; getSampleContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; open.Text = loader.GetString("read"); openContainer.Visibility = Windows.UI.Xaml.Visibility.Visible; delete.Text = loader.GetString("delete"); deleteContainer.Visibility = Windows.UI.Xaml.Visibility.Visible; if (_item.IsSampleDownloaded) { subtitle.Text += " SAMPLE"; } this.Visibility = Windows.UI.Xaml.Visibility.Visible; return; } if (mag.IsSampleDownloaded) { getSample.Text = loader.GetString("open_sample"); getSampleButton.Content = "\xe16f"; } else { getSample.Text = loader.GetString("download_sample"); getSampleButton.Content = "\xe118"; } _item = mag; product_id = mag.FileName.Replace("_.pdf", ""); relativePath = mag.RelativePath; licenseInformation = CurrentApp.LicenseInformation; IReadOnlyDictionary <string, ProductListing> productListings = null; try { var appListing = await CurrentApp.LoadListingInformationAsync(); productListings = appListing.ProductListings; } catch { subscribeBtnContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; subscribeBtn1Container.Visibility = Windows.UI.Xaml.Visibility.Collapsed; buyMagContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; if (!intern) { getSampleContainer.Visibility = Windows.UI.Xaml.Visibility.Visible; } else { getSampleContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } openContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; deleteContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; noOptions.Visibility = Windows.UI.Xaml.Visibility.Visible; noOptions.Text = loader.GetString("no_options"); this.Visibility = Windows.UI.Xaml.Visibility.Visible; if (needToUpdateImage) { var task = LoadImage(mag); } return; } ProductListing product = null; //statusContainer.Visibility = Windows.UI.Xaml.Visibility.Visible; //buttonContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; subscribeBtnContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; subscribeBtn1Container.Visibility = Windows.UI.Xaml.Visibility.Collapsed; buyMagContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; if (!intern) { getSampleContainer.Visibility = Windows.UI.Xaml.Visibility.Visible; } else { getSampleContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } openContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; deleteContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; this.Visibility = Windows.UI.Xaml.Visibility.Visible; try { product = productListings[product_id]; } catch { } if (product != null) { if (!licenseInformation.ProductLicenses[product.ProductId].IsActive) { string receipt = ""; try { receipt = await CurrentApp.GetAppReceiptAsync().AsTask(); receipt = DownloadManager.GetProductReceiptFromAppReceipt(product.ProductId, receipt); } catch { } if (receipt != "") { await DownloadManager.StoreReceiptAsync(product_id, receipt); var app = Application.Current as App; var url = DownloadManager.GetUrl(product_id, receipt, relativePath, app.ClientName, app.MagazineName); if (!url.Equals("NoReceipt")) { Bought(this, url); return; } else { noOptions.Visibility = Windows.UI.Xaml.Visibility.Collapsed; buyMag.Text = loader.GetString("buy_number") + " " + product.FormattedPrice; buyMagContainer.Visibility = Windows.UI.Xaml.Visibility.Visible; } } else { var app = Application.Current as App; var url = await DownloadManager.GetUrl(product_id, relativePath, app.ClientName, app.MagazineName); if (!url.Equals("NoReceipt")) { Bought(this, url); return; } else { noOptions.Visibility = Windows.UI.Xaml.Visibility.Collapsed; buyMag.Text = loader.GetString("buy_number") + " " + product.FormattedPrice; buyMagContainer.Visibility = Windows.UI.Xaml.Visibility.Visible; } } } else { if (Bought != null) { var app = Application.Current as App; var url = await DownloadManager.GetUrl(product_id, relativePath, app.ClientName, app.MagazineName); if (url.Equals("NoReceipt")) { string receipt = ""; try { receipt = await CurrentApp.GetAppReceiptAsync().AsTask(); } catch { } if (receipt != "") { await DownloadManager.StoreReceiptAsync(product_id, receipt); url = DownloadManager.GetUrl(product_id, receipt, relativePath, app.ClientName, app.MagazineName); if (!url.Equals("NoReceipt")) { Bought(this, url); return; } else { var messageDialog = new MessageDialog("No Receipt"); var task = messageDialog.ShowAsync().AsTask(); } } else { var messageDialog = new MessageDialog("No Receipt"); var task = messageDialog.ShowAsync().AsTask(); } } else { Bought(this, url); return; } } else { var messageDialog = new MessageDialog(loader.GetString("purchase_successfull")); var task = messageDialog.ShowAsync().AsTask(); } } } product = null; try { product = productListings["yearlysubscription"]; } catch { } if (product != null) { if (!licenseInformation.ProductLicenses[product.ProductId].IsActive) { string receipt = ""; try { receipt = await CurrentApp.GetAppReceiptAsync().AsTask(); receipt = DownloadManager.GetProductReceiptFromAppReceipt(product.ProductId, receipt); } catch { } if (receipt != "") { await DownloadManager.StoreReceiptAsync("yearlysubscription", receipt); var app = Application.Current as App; var url = DownloadManager.GetUrl("yearlysubscription", receipt, relativePath, app.ClientName, app.MagazineName); if (!url.Equals("NoReceipt")) { Bought(this, url); return; } else { noOptions.Visibility = Windows.UI.Xaml.Visibility.Collapsed; subscribeBtn.Text = loader.GetString("subscribe_one_year") + " " + product.FormattedPrice; subscribeBtnContainer.Visibility = Windows.UI.Xaml.Visibility.Visible; } } else { var app = Application.Current as App; var url = await DownloadManager.GetUrl("yearlysubscription", relativePath, app.ClientName, app.MagazineName); if (!url.Equals("NoReceipt")) { Bought(this, url); return; } else { noOptions.Visibility = Windows.UI.Xaml.Visibility.Collapsed; subscribeBtn.Text = loader.GetString("subscribe_one_year") + " " + product.FormattedPrice; subscribeBtnContainer.Visibility = Windows.UI.Xaml.Visibility.Visible; } } } else { //var productLicense1 = licenseInformation.ProductLicenses["Subscription1"]; //var longdateTemplate = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("longdate"); //var text = "Subscription1 expires on: " + longdateTemplate.Format(productLicense1.ExpirationDate); //var remainingDays = (productLicense1.ExpirationDate - DateTime.Now).Days; if (Bought != null) { var app = Application.Current as App; var url = await DownloadManager.GetUrl("yearlysubscription", relativePath, app.ClientName, app.MagazineName); if (url.Equals("NoReceipt")) { string receipt = ""; try { receipt = await CurrentApp.GetAppReceiptAsync().AsTask(); } catch { } if (receipt != "") { await DownloadManager.StoreReceiptAsync("yearlysubscription", receipt); url = DownloadManager.GetUrl("yearlysubscription", receipt, relativePath, app.ClientName, app.MagazineName); if (!url.Equals("NoReceipt")) { Bought(this, url); return; } else { var messageDialog = new MessageDialog("No Receipt"); var task = messageDialog.ShowAsync().AsTask(); } } else { var messageDialog = new MessageDialog("No Receipt"); var task = messageDialog.ShowAsync().AsTask(); } } else { Bought(this, url); return; } } else { var messageDialog = new MessageDialog(loader.GetString("purchase_successfull")); var task = messageDialog.ShowAsync().AsTask(); } } } product = null; try { product = productListings["monthlysubscription"]; } catch { } if (product != null) { if (!licenseInformation.ProductLicenses[product.ProductId].IsActive) { string receipt = ""; try { receipt = await CurrentApp.GetAppReceiptAsync().AsTask(); receipt = DownloadManager.GetProductReceiptFromAppReceipt(product.ProductId, receipt); } catch { } if (receipt != "") { await DownloadManager.StoreReceiptAsync("monthlysubscription", receipt); var app = Application.Current as App; var url = DownloadManager.GetUrl("monthlysubscription", receipt, relativePath, app.ClientName, app.MagazineName); if (!url.Equals("NoReceipt")) { Bought(this, url); return; } else { noOptions.Visibility = Windows.UI.Xaml.Visibility.Collapsed; subscribeBtn1.Text = loader.GetString("subscribe_one_month") + " " + product.FormattedPrice; subscribeBtn1Container.Visibility = Windows.UI.Xaml.Visibility.Visible; } } else { var app = Application.Current as App; var url = await DownloadManager.GetUrl("monthlysubscription", relativePath, app.ClientName, app.MagazineName); if (!url.Equals("NoReceipt")) { Bought(this, url); return; } else { noOptions.Visibility = Windows.UI.Xaml.Visibility.Collapsed; subscribeBtn1.Text = loader.GetString("subscribe_one_month") + " " + product.FormattedPrice; subscribeBtn1Container.Visibility = Windows.UI.Xaml.Visibility.Visible; } } } else { if (Bought != null) { var app = Application.Current as App; var url = await DownloadManager.GetUrl("monthlysubscription", relativePath, app.ClientName, app.MagazineName); if (url.Equals("NoReceipt")) { string receipt = ""; try { receipt = await CurrentApp.GetAppReceiptAsync().AsTask(); } catch { } if (receipt != "") { await DownloadManager.StoreReceiptAsync("monthlysubscription", receipt); url = DownloadManager.GetUrl("monthlysubscription", receipt, relativePath, app.ClientName, app.MagazineName); if (!url.Equals("NoReceipt")) { Bought(this, url); return; } else { var messageDialog = new MessageDialog("No Receipt"); var task = messageDialog.ShowAsync().AsTask(); } } else { var messageDialog = new MessageDialog("No Receipt"); var task = messageDialog.ShowAsync().AsTask(); } } else { Bought(this, url); return; } } else { var messageDialog = new MessageDialog(loader.GetString("purchase_successfull")); var task = messageDialog.ShowAsync().AsTask(); } } } if (buyMagContainer.Visibility == Windows.UI.Xaml.Visibility.Collapsed) { if (subscribeBtnContainer.Visibility == Windows.UI.Xaml.Visibility.Visible) { //subscribeBtnContainer.Margin = new Thickness(0, 22, 0, 10); } else if (subscribeBtn1Container.Visibility == Windows.UI.Xaml.Visibility.Visible) { //subscribeBtn1.Margin = new Thickness(0, 22, 0, 10); } else { noOptions.Visibility = Windows.UI.Xaml.Visibility.Visible; noOptions.Text = loader.GetString("no_options"); } } if (needToUpdateImage) { await LoadImage(mag); } //statusContainer.Visibility = Windows.UI.Xaml.Visibility.Collapsed; //buttonContainer.Visibility = Windows.UI.Xaml.Visibility.Visible; }