private static void GetDefaultAgeBand(SiteConfigurationData siteConfig, out ConfigurationAgeBand configurationAgeBand, out string configurationAgeBandKey) { Compliance compliance = siteConfig.compliance; configurationAgeBand = DictionaryUtils.TryGetValue(compliance.ageBands, compliance.defaultAgeBand); configurationAgeBandKey = compliance.defaultAgeBand; }
private static IEnumerable <string> GetMarketingTextIds(SiteConfigurationData siteConfig, string ageBandKey, bool registration) { ConfigurationMarketingAgeBand ageBand = DictionaryUtils.TryGetValue(siteConfig.marketing, ageBandKey); Dictionary <string, ConfigurationMarketingItem> configuration = GetConfiguration(ageBand, registration); return(GetKeysOrEmpty(configuration).Distinct()); }
private static IEnumerable <string> GetLegalTextIds(SiteConfigurationData siteConfig, string ageBandKey, bool registration) { LegalGroup legalGroup = DictionaryUtils.TryGetValue(siteConfig.legal, ageBandKey); return(UseCreate(registration, legalGroup) ? (from proxy in legalGroup.CREATE select CreateTextId(proxy)) : legalGroup.documents.Keys.Distinct()); }
private static IAgeBand CreateAgeBand(SiteConfigurationData siteConfig, ConfigurationAgeBand configurationAgeBand, string configurationAgeBandKey, bool registration, IList <RegistrationText> legalTexts) { IRegistrationPermissions permissions = CreateRegistrationPermissions(registration ? configurationAgeBand.CREATE : configurationAgeBand.UPDATE); IEnumerable <ILegalDocument> legalDocuments = BuildLegalDocs(siteConfig.legal, configurationAgeBandKey, registration, legalTexts); IEnumerable <string> legalDocumentsTypeOrder = GetLegalDocumentsTypeOrder(siteConfig.legal, configurationAgeBandKey); IEnumerable <IMarketingItem> marketing = BuildMarketingItems(siteConfig, configurationAgeBandKey, registration, legalTexts); AgeBandType type = AgeBandTypeConverter.Convert(configurationAgeBandKey); string country = configurationAgeBand.country; return(new AgeBand(permissions, legalDocuments, legalDocumentsTypeOrder, marketing, type, country)); }
private static void GetConfigurationAgeBand(SiteConfigurationData siteConfig, string ageBandKey, int age, out ConfigurationAgeBand configurationAgeBand, out string configurationAgeBandKey) { if (ageBandKey != null) { GetAgeBandByKey(siteConfig, ageBandKey, out configurationAgeBand, out configurationAgeBandKey); if (configurationAgeBand != null) { return; } } GetAgeBandByAge(siteConfig, age, out configurationAgeBand, out configurationAgeBandKey); if (configurationAgeBand == null) { GetDefaultAgeBand(siteConfig, out configurationAgeBand, out configurationAgeBandKey); } }
private void GetRegistrationText(SiteConfigurationData siteConfig, ConfigurationAgeBand configurationAgeBand, string configurationAgeBandKey, string languageCode, bool registration, Action <IGetAgeBandResult> callback) { List <string> documentIds = GetAllTextIds(siteConfig, configurationAgeBandKey, registration); if (documentIds.Count == 0) { HandleRequestSuccess(siteConfig, configurationAgeBand, configurationAgeBandKey, registration, new List <RegistrationText>(), callback); } else { try { GetRegistrationTextRequest getRegistrationTextRequest = new GetRegistrationTextRequest(); getRegistrationTextRequest.LanguageCode = languageCode; getRegistrationTextRequest.TextCodes = documentIds; getRegistrationTextRequest.CountryCode = configurationAgeBand.country; getRegistrationTextRequest.AgeBand = configurationAgeBandKey; GetRegistrationTextRequest request = getRegistrationTextRequest; IWebCall <GetRegistrationTextRequest, GetRegistrationTextResponse> webCall = webCallFactory.RegistrationTextPost(request); webCall.OnResponse += delegate(object sender, WebCallEventArgs <GetRegistrationTextResponse> e) { GetRegistrationTextResponse response = e.Response; if (ValidateResponse(response, documentIds)) { HandleRequestSuccess(siteConfig, configurationAgeBand, configurationAgeBandKey, registration, response.RegistrationText, callback); } else { callback(new GetAgeBandResult(success: false, null)); } }; webCall.OnError += delegate { callback(new GetAgeBandResult(success: false, null)); }; webCall.Execute(); } catch (Exception arg) { logger.Critical("Unhandled exception: " + arg); callback(new GetAgeBandResult(success: false, null)); } } }
private static void GetAgeBandByAge(SiteConfigurationData siteConfig, int age, out ConfigurationAgeBand configurationAgeBand, out string configurationAgeBandKey) { configurationAgeBand = null; configurationAgeBandKey = null; foreach (KeyValuePair <string, ConfigurationAgeBand> ageBand in siteConfig.compliance.ageBands) { string key = ageBand.Key; ConfigurationAgeBand value = ageBand.Value; if (value != null && age >= value.minAge && age <= value.maxAge && ValidateAgeBandKey(key)) { LegalGroup legalGroup = DictionaryUtils.TryGetValue(siteConfig.legal, key); if (legalGroup != null) { configurationAgeBand = value; configurationAgeBandKey = key; } } } }
private static void GetAgeBandByKey(SiteConfigurationData siteConfig, string ageBandKey, out ConfigurationAgeBand configurationAgeBand, out string configurationAgeBandKey) { configurationAgeBand = null; configurationAgeBandKey = null; if (!ValidateAgeBandKey(ageBandKey)) { return; } ConfigurationAgeBand configurationAgeBand2 = DictionaryUtils.TryGetValue(siteConfig.compliance.ageBands, ageBandKey); if (configurationAgeBand2 != null) { LegalGroup legalGroup = DictionaryUtils.TryGetValue(siteConfig.legal, ageBandKey); if (legalGroup != null) { configurationAgeBand = configurationAgeBand2; configurationAgeBandKey = ageBandKey; } } }
public RegistrationConfiguration(SiteConfigurationData siteConfig, IAgeBandBuilder ageBandBuilder) { this.siteConfig = siteConfig; this.ageBandBuilder = ageBandBuilder; }
private static bool ValidateResponseNotNull(SiteConfigurationData siteConfig) { return(siteConfig != null && siteConfig.compliance != null && siteConfig.compliance.ageBands != null && siteConfig.compliance.defaultAgeBand != null && siteConfig.legal != null); }
private static LegalGroup GetDefaultLegalGroup(SiteConfigurationData siteConfig) { return(DictionaryUtils.TryGetValue(siteConfig.legal, siteConfig.compliance.defaultAgeBand)); }
public void Build(SiteConfigurationData siteConfig, string ageBandKey, int age, string languageCode, bool registration, Action <IGetAgeBandResult> callback) { GetConfigurationAgeBand(siteConfig, ageBandKey, age, out ConfigurationAgeBand configurationAgeBand, out string configurationAgeBandKey); GetRegistrationText(siteConfig, configurationAgeBand, configurationAgeBandKey, languageCode, registration, callback); }
private static IEnumerable <IMarketingItem> BuildMarketingItems(SiteConfigurationData siteConfig, string ageBandKey, bool registration, IEnumerable <RegistrationText> legalTexts) { ConfigurationMarketingAgeBand ageBand = DictionaryUtils.TryGetValue(siteConfig.marketing, ageBandKey); return(GetMarketingItems(GetConfiguration(ageBand, registration), legalTexts)); }
private static void HandleRequestSuccess(SiteConfigurationData siteConfig, ConfigurationAgeBand configurationAgeBand, string configurationAgeBandKey, bool registration, IList <RegistrationText> legalTexts, Action <IGetAgeBandResult> callback) { IAgeBand ageBand = CreateAgeBand(siteConfig, configurationAgeBand, configurationAgeBandKey, registration, legalTexts); callback(new GetAgeBandResult(ageBand != null, ageBand)); }
private static List <string> GetAllTextIds(SiteConfigurationData siteConfig, string ageBandKey, bool registration) { return(GetLegalTextIds(siteConfig, ageBandKey, registration).Concat(GetMarketingTextIds(siteConfig, ageBandKey, registration)).ToList()); }
public void Build(SiteConfigurationData siteConfig, string ageBandKey, int age, string languageCode, bool registration, Action <IGetAgeBandResult> callback) { CoroutineRunner.StartPersistent(returnAdult(callback), this, "return adult"); }