コード例 #1
0
        public void SendAdultVerificationQuiz(AdultVerificationQuizRequest request, Action <GuestControllerResult <AdultVerificationQuizResponse> > callback)
        {
            QueueItem item = CreateQueueItem("/client/{client-id}/guest/{swid}/adult-verification-quiz", HttpMethod.POST, request, GuestControllerAuthenticationType.AccessToken, callback);

            queue.Add(item);
            ExecuteNextCall();
        }
コード例 #2
0
 public static void AnswerQuiz(AbstractLogger logger, IGuestControllerClient guestControllerClient, IVerifyAdultQuizAnswers answers, Action <IVerifyAdultResult> callback)
 {
     if (string.IsNullOrEmpty(answers.Id) || answers.Answers == null || answers.Answers.Count == 0)
     {
         callback(new VerifyAdultFailedMissingInfoResult());
     }
     else if (!ValidateAnswers(answers))
     {
         callback(new VerifyAdultFailedInvalidDataResult());
     }
     else
     {
         try
         {
             AdultVerificationQuizRequest adultVerificationQuizRequest = new AdultVerificationQuizRequest();
             adultVerificationQuizRequest.applicationId = answers.Id;
             adultVerificationQuizRequest.answers       = (from keyValue in answers.Answers
                                                           select new AdultVerificationQuizAnswer
             {
                 choice = keyValue.Value,
                 questionId = keyValue.Key.QuestionId
             }).ToList();
             AdultVerificationQuizRequest request = adultVerificationQuizRequest;
             guestControllerClient.SendAdultVerificationQuiz(request, delegate(GuestControllerResult <AdultVerificationQuizResponse> r)
             {
                 if (!r.Success)
                 {
                     callback(MakeGenericFailure());
                 }
                 else if (r.Response.error != null)
                 {
                     callback(ParseError(r.Response));
                 }
                 else if (r.Response.data == null)
                 {
                     callback(MakeGenericFailure());
                 }
                 else
                 {
                     callback(new VerifyAdultResult(r.Response.data.verified, r.Response.data.maxAttempts));
                 }
             });
         }
         catch (Exception arg)
         {
             logger.Critical("Unhandled exception: " + arg);
             callback(MakeGenericFailure());
         }
     }
 }