Show / Hide Table of Contents

Class PersonContactExtenderHelper

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Inheritance
object
PersonContactExtenderHelper
Inherited Members
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.BusinessLogic.dll
Syntax
public class PersonContactExtenderHelper

Constructors

PersonContactExtenderHelper(ExtensibleColumnsBase)

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
public PersonContactExtenderHelper(ExtensibleColumnsBase parent)
Parameters
Type Name Description
ExtensibleColumnsBase parent

Fields

C_NameDepartmentColumnBaseName

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
public const string C_NameDepartmentColumnBaseName = "nameDepartment"
Field Value
Type Description
string

_colAddressId

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
protected ArchiveColumnInfo _colAddressId
Field Value
Type Description
ArchiveColumnInfo

_colCity

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
protected ArchiveColumnInfo _colCity
Field Value
Type Description
ArchiveColumnInfo

_colCounty

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
protected ArchiveColumnInfo _colCounty
Field Value
Type Description
ArchiveColumnInfo

_colLine1

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
protected ArchiveColumnInfo _colLine1
Field Value
Type Description
ArchiveColumnInfo

_colLine2

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
protected ArchiveColumnInfo _colLine2
Field Value
Type Description
ArchiveColumnInfo

_colLine3

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
protected ArchiveColumnInfo _colLine3
Field Value
Type Description
ArchiveColumnInfo

_colZip

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
protected ArchiveColumnInfo _colZip
Field Value
Type Description
ArchiveColumnInfo

Properties

AddressColumns

Provide an iterator that will give the address columns only

Declaration
public IEnumerable<ArchiveColumnInfo> AddressColumns { get; }
Property Value
Type Description
IEnumerable<ArchiveColumnInfo>

Methods

AddAndInitializeExtensionProvider<ExtenderType>(ExtenderType, string, string)

Reflection of a similar method in ExtensibleColumnsBase, needed here to initialize extenders on behalf of our parent

Declaration
protected ExtenderType AddAndInitializeExtensionProvider<ExtenderType>(ExtenderType extender, string namePrefix, string displayNamePrefix) where ExtenderType : IArchiveExtender
Parameters
Type Name Description
ExtenderType extender
string namePrefix
string displayNamePrefix
Returns
Type Description
ExtenderType
Type Parameters
Name Description
ExtenderType

CreateNameAndDepartmentArgumentField(ArchiveSelect, ArchiveColumnInfo)

Sets up an ArgumentField on the query for the name and department combination, and maps it to the provided column. Call from ModifyQuery when you see the column in the desired columns. Pair it with PopulateNameAndDepartmentFromReader(SoDataReader, ArchiveRow, bool, ArchiveColumnInfo) in InnerPopulateRowFromReader for populating the column data.

Declaration
public void CreateNameAndDepartmentArgumentField(ArchiveSelect query, ArchiveColumnInfo column)
Parameters
Type Name Description
ArchiveSelect query
ArchiveColumnInfo column

GetFullName(SoDataReader, ArchiveRow, bool)

Get the full name according to formatting preferences, without contact component

Declaration
public ArchiveColumnData GetFullName(SoDataReader reader, ArchiveRow row, bool wantNavLinks)
Parameters
Type Name Description
SoDataReader reader
ArchiveRow row
bool wantNavLinks
Returns
Type Description
ArchiveColumnData

GetFullNameWithContact(SoDataReader, ArchiveRow, bool, ContactExtenderBase)

Get the full name according to formatting preferences, including the contact name and department

Declaration
public ArchiveColumnData GetFullNameWithContact(SoDataReader reader, ArchiveRow row, bool wantNavLinks, ContactExtenderBase contactExtender)
Parameters
Type Name Description
SoDataReader reader
ArchiveRow row
bool wantNavLinks
ContactExtenderBase contactExtender
Returns
Type Description
ArchiveColumnData

GetNameAndDepartment(SoDataReader, bool, ArchiveColumnInfo)

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
public ArchiveColumnData GetNameAndDepartment(SoDataReader reader, bool wantNavLinks, ArchiveColumnInfo column)
Parameters
Type Name Description
SoDataReader reader
bool wantNavLinks
ArchiveColumnInfo column
Returns
Type Description
ArchiveColumnData

InitializeAddressExtenders()

Initialize the address extenders. Call from constructor

Declaration
public void InitializeAddressExtenders()

PopulateAddressColumns(ArchiveRow, bool, ColumnHelper)

Populate the requested address columns from various subextenders. Call from InnerPopulateRowFromReader.

Declaration
public void PopulateAddressColumns(ArchiveRow row, bool wantPersonAddress, ColumnHelper columnHelper)
Parameters
Type Name Description
ArchiveRow row
bool wantPersonAddress
ColumnHelper columnHelper

PopulateNameAndDepartmentFromReader(SoDataReader, ArchiveRow, bool, ArchiveColumnInfo)

Populate the row column under the actual prefixed column key the extender registered. In navigation/prefixed contexts (e.g. DotSyntax 'contact.associate_id.person_id.contact_id. nameDepartment' or NamePrefix '<prefix>/nameDepartment'), the extender's _colNameAndDepartment.Name is the prefixed form; callers pass the column itself so the row column key matches the desired-column key the consumer looks up by.

Declaration
public void PopulateNameAndDepartmentFromReader(SoDataReader reader, ArchiveRow row, bool wantNavLinks, ArchiveColumnInfo column)
Parameters
Type Name Description
SoDataReader reader
ArchiveRow row
bool wantNavLinks
ArchiveColumnInfo column

ProcessFullNameRestriction(ArchiveRestrictionInfo, ArchiveSelect)

Helper for processing fullname restriction

Declaration
public void ProcessFullNameRestriction(ArchiveRestrictionInfo restriction, ArchiveSelect targetQuery)
Parameters
Type Name Description
ArchiveRestrictionInfo restriction
ArchiveSelect targetQuery

SetContactTableInfo(ContactTableInfo)

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
public void SetContactTableInfo(ContactTableInfo contactTable)
Parameters
Type Name Description
ContactTableInfo contactTable

SetDesiredAddressColumns(string[])

Fish out address columns from a set of desired columns, and do the prefixing magic needed. Call from SetDesiredColumns

Declaration
public bool SetDesiredAddressColumns(string[] columnIds)
Parameters
Type Name Description
string[] columnIds
Returns
Type Description
bool

true if at least one address column has been requested

SetFullNameOrderBy(ArchiveColumnInfo, ArchiveColumnInfo, ArchiveColumnInfo, ArchiveColumnInfo, ArchiveColumnInfo, ArchiveColumnInfo, ArchiveColumnInfo)

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
public void SetFullNameOrderBy(ArchiveColumnInfo _colFullName, ArchiveColumnInfo _colFullNameWithContact, ArchiveColumnInfo _colFirstName, ArchiveColumnInfo _colMiddleName, ArchiveColumnInfo _colLastName, ArchiveColumnInfo _colPosition, ArchiveColumnInfo _colRank)
Parameters
Type Name Description
ArchiveColumnInfo _colFullName
ArchiveColumnInfo _colFullNameWithContact
ArchiveColumnInfo _colFirstName
ArchiveColumnInfo _colMiddleName
ArchiveColumnInfo _colLastName
ArchiveColumnInfo _colPosition
ArchiveColumnInfo _colRank

SetPersonTableInfo(PersonTableInfo)

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
public void SetPersonTableInfo(PersonTableInfo ourTable)
Parameters
Type Name Description
PersonTableInfo ourTable

StandardNameDepartmentColumn()

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

Declaration
public static ArchiveColumnInfo StandardNameDepartmentColumn()
Returns
Type Description
ArchiveColumnInfo

Extension Methods

EnumUtil.MapEnums<From, To>(From)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top