Class HasConsentExtender
Extender that adds functionality to read/test whether a person has a certain Consent. Virtual columns are generated for each ConsentPurpose
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public class HasConsentExtender : TableExtenderBase<ConsentPersonTableInfo>, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible
Remarks
A consent is present if a) there is ConsentPerson row between the person and the given ConsentPurpose, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent.
Constructors
HasConsentExtender()
For each ConsentPurpose with key #XYZ, generate a boolean column called hasXyxConsent (note casing); inherit the name and description from the consent purpose entry
Declaration
public HasConsentExtender()
Remarks
A consent is present if a) there is ConsentPerson row between the person and the given ConsentPurpose, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent.
Fields
IsEmarketingColName
Extender that adds functionality to read/test whether a person has a certain Consent. Virtual columns are generated for each ConsentPurpose
Declaration
public const string IsEmarketingColName = "isMailingRecipient"
Field Value
Type | Description |
---|---|
string |
Remarks
A consent is present if a) there is ConsentPerson row between the person and the given ConsentPurpose, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent.
_colIsMailingRecipient
Extender that adds functionality to read/test whether a person has a certain Consent. Virtual columns are generated for each ConsentPurpose
Declaration
protected ArchiveColumnInfo _colIsMailingRecipient
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
A consent is present if a) there is ConsentPerson row between the person and the given ConsentPurpose, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent.
_mailingConsentPersonTableInfo
Extender that adds functionality to read/test whether a person has a certain Consent. Virtual columns are generated for each ConsentPurpose
Declaration
protected ConsentPersonTableInfo _mailingConsentPersonTableInfo
Field Value
Type | Description |
---|---|
ConsentPersonTableInfo |
Remarks
A consent is present if a) there is ConsentPerson row between the person and the given ConsentPurpose, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent.
_strictGDPRMode
Extender that adds functionality to read/test whether a person has a certain Consent. Virtual columns are generated for each ConsentPurpose
Declaration
protected bool _strictGDPRMode
Field Value
Type | Description |
---|---|
bool |
Remarks
A consent is present if a) there is ConsentPerson row between the person and the given ConsentPurpose, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent.
Properties
TableToExtend
This extender cannot itself be meaningfully extended
Declaration
public override TableInfo TableToExtend { get; }
Property Value
Type | Description |
---|---|
TableInfo |
Overrides
Remarks
A consent is present if a) there is ConsentPerson row between the person and the given ConsentPurpose, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent.
Methods
ConsentKeyToColumnName(string)
Transform a consent purpose key like #EMARKETING into the column name hasEmarketingConsent
Declaration
public static string ConsentKeyToColumnName(string consentPurpose)
Parameters
Type | Name | Description |
---|---|---|
string | consentPurpose |
Returns
Type | Description |
---|---|
string |
Remarks
A consent is present if a) there is ConsentPerson row between the person and the given ConsentPurpose, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent.
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 consent is present if a) there is ConsentPerson row between the person and the given ConsentPurpose, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent.
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 consent is present if a) there is ConsentPerson row between the person and the given ConsentPurpose, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent.
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 consent is present if a) there is ConsentPerson row between the person and the given ConsentPurpose, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent.
WithdrawnKeyToColumnName(string)
Extender that adds functionality to read/test whether a person has a certain Consent. Virtual columns are generated for each ConsentPurpose
Declaration
public static string WithdrawnKeyToColumnName(string consentPurpose)
Parameters
Type | Name | Description |
---|---|---|
string | consentPurpose |
Returns
Type | Description |
---|---|
string |
Remarks
A consent is present if a) there is ConsentPerson row between the person and the given ConsentPurpose, AND b) the LegalBaseId is not the special "Withdrawn" item, which means active denial of consent.