Class HasConsentExtender
Extender that adds functionality to read/test whether a person has a certain Consent. Virtual columns are generated for each ConsentPurpose
Inheritance
HasConsentExtender
Assembly: SoDataBase.dll
Syntax
public class HasConsentExtender : TableExtenderBase<ConsentPersonTableInfo>, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible, IPlugin
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()
Fields
_colIsMailingRecipient
Declaration
protected ArchiveColumnInfo _colIsMailingRecipient
Field Value
_mailingConsentPersonTableInfo
Declaration
protected ConsentPersonTableInfo _mailingConsentPersonTableInfo
Field Value
_strictGDPRMode
Declaration
protected bool _strictGDPRMode
Field Value
IsEmarketingColName
Declaration
public const string IsEmarketingColName = "isMailingRecipient"
Field Value
Properties
TableToExtend
This extender cannot itself be meaningfully extended
Declaration
public override TableInfo TableToExtend { get; }
Property Value
Overrides
SuperOffice.CRM.ArchiveLists.TableExtenderBase<SuperOffice.CRM.Data.ConsentPersonTableInfo>.TableToExtend
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
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
SuperOffice.CRM.ArchiveLists.ExtenderBase<SuperOffice.CRM.Data.ConsentPersonTableInfo>.InnerModifyQuery()
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
Overrides
SuperOffice.CRM.ArchiveLists.TableExtenderBase<SuperOffice.CRM.Data.ConsentPersonTableInfo>.InnerPopulateRowFromReader(SuperOffice.Data.SoDataReader, SuperOffice.CRM.ArchiveLists.ArchiveRow)
SetJoin()
Dummy - just check that our parent is someone who offers a PersonTableInfo
Declaration
protected override ConsentPersonTableInfo SetJoin()
Returns
Overrides
SuperOffice.CRM.ArchiveLists.ExtenderBase<SuperOffice.CRM.Data.ConsentPersonTableInfo>.SetJoin()
WithdrawnKeyToColumnName(String)
Declaration
public static string WithdrawnKeyToColumnName(string consentPurpose)
Parameters
Type |
Name |
Description |
String |
consentPurpose |
|
Returns
Implements
Extension Methods
EnumUtil.MapEnums<From, To>(From)