Class SubscriptionExtender
Extender that adds functionality to search for persons with emarketing subscriptions
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public class SubscriptionExtender : TableExtenderBase<ConsentPersonTableInfo>, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible, IPlugin
Remarks
A subscription is present if a) there is ConsentPerson row between the person and the ConsentPurpose #Emarketing, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent and c) there is no opt-out row for the particular mailing type.
Constructors
SubscriptionExtender()
Extender that adds functionality to search for persons with emarketing subscriptions
Declaration
public SubscriptionExtender()
Remarks
A subscription is present if a) there is ConsentPerson row between the person and the ConsentPurpose #Emarketing, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent and c) there is no opt-out row for the particular mailing type.
Fields
_colSubscription
Column and corresponding cached info
Declaration
protected ArchiveColumnInfo _colSubscription
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
A subscription is present if a) there is ConsentPerson row between the person and the ConsentPurpose #Emarketing, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent and c) there is no opt-out row for the particular mailing type.
Properties
TableToExtend
This extender cannot itself be meaningfully extended
Declaration
public override TableInfo TableToExtend { get; }
Property Value
Type | Description |
---|---|
TableInfo |
Overrides
Remarks
A subscription is present if a) there is ConsentPerson row between the person and the ConsentPurpose #Emarketing, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent and c) there is no opt-out row for the particular mailing type.
Methods
InnerModifyQuery()
For each column actually used, generate a join to its corresponding (cached) tableinfo, bind to custom restriction handling
Declaration
protected override void InnerModifyQuery()
Overrides
Remarks
A subscription is present if a) there is ConsentPerson row between the person and the ConsentPurpose #Emarketing, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent and c) there is no opt-out row for the particular mailing type.
InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
Determine whether consent exists, and retrieve the ConsentPerson id so a good tooltip can be generated
Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
Type | Name | Description |
---|---|---|
SoDataReader | reader | |
ArchiveRow | row |
Overrides
Remarks
A subscription is present if a) there is ConsentPerson row between the person and the ConsentPurpose #Emarketing, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent and c) there is no opt-out row for the particular mailing type.
SetJoin()
Dummy - just check that our parent is someone who offers a PersonTableInfo
Declaration
protected override ConsentPersonTableInfo SetJoin()
Returns
Type | Description |
---|---|
ConsentPersonTableInfo |
Overrides
Remarks
A subscription is present if a) there is ConsentPerson row between the person and the ConsentPurpose #Emarketing, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent and c) there is no opt-out row for the particular mailing type.