Class DynamicPersonExtender
Customized dynamic extender for the Person table, with some special features
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
[DynamicExtender("person")]
public class DynamicPersonExtender : DynamicExtender, IArchiveProviderQueryMapping, IArchiveDynamicExtender, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible, IPlugin, IArchiveProviderDynamicExtend
Remarks
The following special fields are handled:
fullName - gives persons full, formatted name
phone/formattedNumber - gives the first phone number for the person (first of direct, mobile, private, pager, fax - in this order)
emailAddress - email address with rank = 1
address/ a number of fields: addressId, line1 - line3, county, city, zip; includes fallback logic to contact address if no person address
Most of the logic is taken from the
Constructors
DynamicPersonExtender()
Construct and set up all links and subextenders
Declaration
public DynamicPersonExtender()
Fields
_colFullName
Full name columns
Declaration
protected ArchiveColumnInfo _colFullName
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
_colPhone
Phone number column
Declaration
protected ArchiveColumnInfo _colPhone
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
_FirstName
Declaration
protected ArchiveColumnInfo _FirstName
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
_LastName
Declaration
protected ArchiveColumnInfo _LastName
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
_MiddleName
Declaration
protected ArchiveColumnInfo _MiddleName
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
_Position
Declaration
protected ArchiveColumnInfo _Position
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
_Rank
Declaration
protected ArchiveColumnInfo _Rank
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
TableName
Name of handled table
Declaration
public const string TableName = "person"
Field Value
Type | Description |
---|---|
String |
Methods
InnerModifyQuery()
Override: Handle needed fields for fullName, address, and phone
Declaration
protected override void InnerModifyQuery()
Overrides
InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
Override: Populate fullname through helper, and address through helper. Phone is handled by root base class
Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
Type | Name | Description |
---|---|---|
SoDataReader | reader | |
ArchiveRow | row |
Overrides
SetDesiredColumns(String[])
Override: Handle address columns through helper
Declaration
public override void SetDesiredColumns(params string[] columnIds)
Parameters
Type | Name | Description |
---|---|---|
String[] | columnIds |