/*** Private methods ***************************************************************************************************/ /// <summary> /// Get purchase status of application. Method controls visibility/Enable of PBarStatus, TblkPurchaseApp, and ButPurchaseApp. /// </summary> private async Task AppPurchaseCheck() { if (mainPage.boolAppPurchased) { // App has been purchased so hide following values and return. PBarStatus.Visibility = Visibility.Collapsed; TblkPurchaseApp.Visibility = Visibility.Collapsed; LibMPC.ButtonVisibility(ButPurchaseApp, false); } else { if (mainPage.boolPurchaseCheckCompleted) { // App has not been purchased but purchase check done so show previous message. This occurs if User returning from another page. PBarStatus.Visibility = Visibility.Collapsed; LibMPC.OutputMsgError(TblkPurchaseApp, mainPage.stringPurchaseCheckOutput); TblkPurchaseApp.Visibility = Visibility.Visible; LibMPC.ButtonVisibility(ButPurchaseApp, true); } else { // App has not been purchased so do purchase check. LibMPC.OutputMsgBright(TblkPurchaseApp, "Application purchase check in progress..."); PBarStatus.Foreground = LibMPC.colorError; // Set color PBarStatus from default. PBarStatus.Visibility = Visibility.Visible; PBarStatus.IsIndeterminate = true; EnablePageItems(false); mainPage.boolAppPurchased = await LibMPC.AppPurchaseStatusAsync(mainPage.applicationDataContainer, mainPage.ds_BoolAppPurchased); if (mainPage.boolAppPurchased) { LibMPC.OutputMsgSuccess(TblkPurchaseApp, LibMPC.stringAppPurchaseResult); LibMPC.ButtonVisibility(ButPurchaseApp, false); } else { LibMPC.OutputMsgError(TblkPurchaseApp, LibMPC.stringAppPurchaseResult); LibMPC.ButtonVisibility(ButPurchaseApp, true); } PBarStatus.IsIndeterminate = false; PBarStatus.Visibility = Visibility.Collapsed; mainPage.boolPurchaseCheckCompleted = true; mainPage.stringPurchaseCheckOutput = TblkPurchaseApp.Text; EnablePageItems(true); } } }