public static void GetRequirements(AbstractLogger logger, string countryCode, IMixWebCallFactory mixWebCallFactory, Action <bool, bool> successCallback, Action failureCallback) { try { PilCheckRequest pilCheckRequest = new PilCheckRequest(); pilCheckRequest.PersonalInformationUsage = "PUBLIC_DISCLOSURE"; pilCheckRequest.CountryCode = countryCode; PilCheckRequest request = pilCheckRequest; IWebCall <PilCheckRequest, PilCheckResponse> webCall = mixWebCallFactory.PilCheckPost(request); webCall.OnResponse += delegate(object sender, WebCallEventArgs <PilCheckResponse> e) { bool?adultVerificationRequired = e.Response.AdultVerificationRequired; bool?adultVerificationAvailable = e.Response.AdultVerificationAvailable; if (!adultVerificationRequired.HasValue || !adultVerificationAvailable.HasValue) { failureCallback(); } else { successCallback(adultVerificationRequired.Value, adultVerificationAvailable.Value); } }; webCall.OnError += delegate { failureCallback(); }; webCall.Execute(); } catch (Exception ex) { logger.Critical("Unhandled exception: " + ex); failureCallback(); } }
public IWebCall <PilCheckRequest, PilCheckResponse> PilCheckPost(PilCheckRequest request) { return(CreateWebCall <PilCheckRequest, PilCheckResponse>(HttpMethod.POST, new Uri(host + "/pil/check"), request)); }