Ejemplo n.º 1
0
 public void AnswerVerifyAdultQuiz(IVerifyAdultQuizAnswers answers, Action <IVerifyAdultResult> callback)
 {
     VerifyAdultQuizAnswersSender.AnswerQuiz(logger, guestControllerClient, answers, delegate(IVerifyAdultResult r)
     {
         if (r.Success)
         {
             registrationProfile.IsAdultVerified = true;
         }
         callback(r);
     });
 }
 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());
         return;
     }
     if (!ValidateAnswers(answers))
     {
         callback(new VerifyAdultFailedInvalidDataResult());
         return;
     }
     try
     {
         AdultVerificationQuizRequest adultVerificationQuizRequest = new AdultVerificationQuizRequest();
         adultVerificationQuizRequest.applicationId = answers.Id;
         adultVerificationQuizRequest.answers       = answers.Answers.Select((KeyValuePair <IVerifyAdultQuestion, string> keyValue) => 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 ex)
     {
         logger.Critical("Unhandled exception: " + ex);
         callback(MakeGenericFailure());
     }
 }
        private static bool ValidateAnswers(IVerifyAdultQuizAnswers answers)
        {
            int num = answers.Answers.Count((KeyValuePair <IVerifyAdultQuestion, string> pair) => pair.Key.Choices.Any((string choice) => choice == pair.Value));

            return(num == answers.Answers.Count);
        }
Ejemplo n.º 4
0
 public void AnswerVerifyAdultQuiz(IVerifyAdultQuizAnswers answers, Action <IVerifyAdultResult> callback)
 {
     throw new NotImplementedException();
 }