예제 #1
0
        /*** 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);
                }
            }
        }