예제 #1
0
        public async Task <SkillResponse> Handle(string purchaseResult)
        {
            LOGGER.log.INFO("Buy", "Handle");

            switch (purchaseResult)
            {
            case PurchaseResult.Accepted:
                LOGGER.log.INFO("Buy", "Handle", "Purchase Result Accepted.");
                return(new Accepted().Handle());

            case PurchaseResult.Declined:
                LOGGER.log.INFO("Buy", "Handle", "Purchase Result Declined.");
                return(await new Declined(skillRequest).Handle());

            case PurchaseResult.AlreadyPurchased:
                LOGGER.log.INFO("Buy", "Handle", "Purchase Result Already Purchased.");
                // purchase is detected on launch, so should not get here, respond appropriately
                break;

            case PurchaseResult.Error:
                LOGGER.log.INFO("Buy", "Handle", "Purchase Result Error.");
                // unsure of how this case is reached
                break;
                // add default to handle purchase pending
            }
            return(AlexaResponse.Say(" You want to buy Something."));
        }
예제 #2
0
        public async Task <SkillResponse> Handle()
        {
            await this.userProfile.GetUserProfileData();

            if (this.userProfile.CurrentScheduleRequiresPurchase())
            {
                await this.userProfile.DecrementUserProfileSchedule();
            }

            return(AlexaResponse.Say(CommonPhrases.UpSellDeclined()));
        }
예제 #3
0
        public async Task <SkillResponse> HandleRequest()
        {
            LOGGER.log.INFO("Connection", "HandleRequest");
            string paymentType    = ((ConnectionResponseRequest <ConnectionResponsePayload>)skillRequest.Request).Name;
            string purchaseResult = ((ConnectionResponseRequest <ConnectionResponsePayload>)skillRequest.Request).Payload.PurchaseResult;

            switch (paymentType)
            {
            case PaymentType.Buy:
                return(await new Buy(skillRequest).Handle(purchaseResult));

            case PaymentType.Upsell:
                return(await new Upsell(skillRequest).Handle(purchaseResult));

            case PaymentType.Cancel:
                return(new Cancel(this.skillRequest).HandleIntent());
            }

            return(AlexaResponse.Say("Goodbye Moycan!"));
        }
예제 #4
0
 public SkillResponse Handle()
 {
     return(AlexaResponse.Say(CommonPhrases.UpSellAccepted()));
 }
예제 #5
0
 public async Task <SkillResponse> HandleRequest()
 {
     LOGGER.log.INFO("SessionEnded", "HandleRequest");
     return(AlexaResponse.Say("Goodbye Moycan!"));
 }