/// <summary> /// Sessioned campaign audience constructor. /// </summary> /// <param name="config">Configuration object which injected for correct store execution.</param> public SessionedCampaignAudience(CampaignAudienceConfig config) : base(config.UserConnection, config.CampaignId) { config.CheckArgumentNull("config"); CampaignParticipantTableName = "CampaignParticipantOp"; SessionId = config.SessionId; }
private CampaignAudienceDataSource ResolveDataSource(CampaignAudienceConfig config) { config.CheckArgumentNull("config"); if (config.SessionId != default(Guid)) { return(CampaignAudienceDataSource.SessionedAudience); } return(CampaignAudienceDataSource.DefaultAudience); }
/// <summary> /// Create object for manipulation campaign audience based on config <paramref name="config"/>. /// </summary> /// <param name="config">Contains description for campaign audience class.</param> /// <returns>Concrete instance of campaign audience object.</returns> public ICampaignAudience GetCampaignAudience(CampaignAudienceConfig config) { var dataSourceKey = ResolveDataSource(config); if (!_dataSources.ContainsKey(dataSourceKey)) { throw new KeyNotFoundException(); } return(_dataSources[dataSourceKey](config)); }
public CampaignAudience(CampaignAudienceConfig config) : this(config.UserConnection, config.CampaignId) { CampaignScheduledDate = config.CampaignScheduledDate; }