public List <PhoneManagerCampaignDetail> GetMatchingRecordsFromPhoneManager(CriteriaParameterHolder _criteriaParameters, IRepository _repository)
        {
            List <PhoneManagerCampaignDetail> foundRecords = new List <PhoneManagerCampaignDetail>();

            var cleansedQueryStrings = _criteriaParameters.CleansedQueryStrings;

            if (cleansedQueryStrings?.HasKeys() ?? false)
            {
                var foundDefaultCampaignQSValue = cleansedQueryStrings[_repository.GetDefaultSettings().DefaultCampaignQueryStringKey] ?? string.Empty;

                if (!string.IsNullOrEmpty(foundDefaultCampaignQSValue))
                {
                    foundRecords.AddRange(_repository.GetMatchingCriteriaRecords_QueryString_UsingDefaultCampaignQSKey(
                                              foundDefaultCampaignQSValue,
                                              AppConstants.UmbracoDocTypeAliases.PhoneManagerModel_PhoneManagerCampaignDetail.CampaignCode,
                                              AppConstants.UmbracoDocTypeAliases.PhoneManagerModel_PhoneManagerCampaignDetail.UseAltCampaignQueryStringKey, cleansedQueryStrings
                                              ));
                }

                foundRecords.AddRange(_repository.GetMatchingCriteriaRecords_QueryString_UsingAltCampaignQueryStringKey(
                                          AppConstants.UmbracoDocTypeAliases.PhoneManagerModel_PhoneManagerCampaignDetail.CampaignCode,
                                          AppConstants.UmbracoDocTypeAliases.PhoneManagerModel_PhoneManagerCampaignDetail.UseAltCampaignQueryStringKey, cleansedQueryStrings
                                          ));
            }

            return(foundRecords);
        }
예제 #2
0
        public List <PhoneManagerCampaignDetail> GetMatchingRecordsFromPhoneManager(CriteriaParameterHolder _criteriaParameters, IRepository _repository)
        {
            if (!string.IsNullOrEmpty(_criteriaParameters.RequestInfo_NotIncludingQueryStrings.EntryPage))
            {
                return(_repository.GetMatchingRecords_Criteria_EntryPage(AppConstants.UmbracoDocTypeAliases.PhoneManagerModel_PhoneManagerCampaignDetail.EntryPage, _criteriaParameters.RequestInfo_NotIncludingQueryStrings.EntryPage));
            }

            return(new List <PhoneManagerCampaignDetail>());
        }
        public List <PhoneManagerCampaignDetail> GetMatchingRecordsFromPhoneManager(CriteriaParameterHolder _criteriaParameters, IRepository _repository)
        {
            var safeReferrer = _criteriaParameters.RequestInfo_NotIncludingQueryStrings.Referrer.ToSafeString(ProviderType.Referrer);

            if (!string.IsNullOrEmpty(safeReferrer))
            {
                return(_repository.GetMatchingCriteriaRecords_Referrer(AppConstants.UmbracoDocTypeAliases.PhoneManagerModel_PhoneManagerCampaignDetail.Referrer, safeReferrer));
            }

            return(new List <PhoneManagerCampaignDetail>());
        }
예제 #4
0
 public CriteriaProcessor(CriteriaParameterHolder criteriaParameters, IRepository repository) // override default data provider
 {
     _repository         = repository;
     _criteriaParameters = criteriaParameters;
 }