Show / Hide Table of Contents

Class PersonExtenderBase

This is the base class for all extenders that add Person fields to their base query. It handles all person-related fields, as well as having its own standard extenders for udef, email, phone and fax. Derived classes should simply implement the method to join a PersonTableInfo to the .

Inheritance
Object
ExtensibleColumnsBase
ExtenderBase<PersonTableInfo>
TableExtenderBase<PersonTableInfo>
PersonExtenderBase
AppointmentPersonExtender
ChatSessionPersonExtender
CombinedPersonExtenderBase
ConsentPersonPersonExtender
DocumentPersonExtender
EmailItemPersonExtender
FavouritePersonExtender
FormSubmissionPersonExtender
AppointmentInvitedPersonExtender
PersonLinkExtender
PersonPersonExtender
ProjectMemberPersonExtender
ProjectPersonExtender
RecyclePersonExtender
RelationPersonExtenderBase
SaleHistoryPersonExtender
SalePersonExtender
SaleStakeholderPersonExtender
SimplePersonExtender
TicketCustomersExtender
TicketMessagePersonExtender
TicketPersonExtender
Implements
IArchiveProviderQueryMapping
IArchiveExtender
IArchiveProviderDoesExtend
IArchiveProviderHasColumns
IArchiveProviderExtensible
Inherited Members
TableExtenderBase<PersonTableInfo>._ourTable
TableExtenderBase<PersonTableInfo>.ModifyQuery()
TableExtenderBase<PersonTableInfo>.TableToExtend
TableExtenderBase<PersonTableInfo>.MainTableName
ExtenderBase<PersonTableInfo>.SetJoin()
ExtenderBase<PersonTableInfo>.GetRankRestriction(FieldInfo)
ExtenderBase<PersonTableInfo>.StyleHintPrefix
ExtensibleColumnsBase._minuteFields
ExtensibleColumnsBase.Visible
ExtensibleColumnsBase.Invisible
ExtensibleColumnsBase.AllowOrderBy
ExtensibleColumnsBase.DenyOrderBy
ExtensibleColumnsBase.GetAllRestriction
ExtensibleColumnsBase.GetNoneRestriction
ExtensibleColumnsBase.SetParent(IArchiveProviderExtensible)
ExtensibleColumnsBase.AddAvailableColumn(ArchiveColumnInfo[])
ExtensibleColumnsBase.GetAvailableColumns()
ExtensibleColumnsBase.SetOrderBy(ArchiveOrderByInfo[])
ExtensibleColumnsBase.SetOrderByMapping(String, String[])
ExtensibleColumnsBase.SetOrderByMapping(ArchiveColumnInfo, ArchiveColumnInfo[])
ExtensibleColumnsBase.SetPrefixes(String, String)
ExtensibleColumnsBase.SetLocalAbsolutePrefixes(String, String)
ExtensibleColumnsBase.SetIconHint(String)
ExtensibleColumnsBase.AddLocalRestriction(ArchiveRestrictionInfo[])
ExtensibleColumnsBase.AddExtensionProvider(IArchiveExtender)
ExtensibleColumnsBase.GetExtensionProviders()
ExtensibleColumnsBase.GetTableInfosFromExtensionProviders()
ExtensibleColumnsBase.PopulateRowFromReader(SoDataReader, ArchiveRow)
ExtensibleColumnsBase.SuppressTableResults(SoDataReader, TableInfo)
ExtensibleColumnsBase.SuppressDeepTableResults(SoDataReader, TableInfo)
ExtensibleColumnsBase.AddColumnNameOverride(String, String)
ExtensibleColumnsBase.ApplyColumnNameOverrides(ArchiveRow)
ExtensibleColumnsBase.AddSubExtenderMapping(String, ExtensibleColumnsBase[])
ExtensibleColumnsBase.WantColumnForOutput(String[])
ExtensibleColumnsBase.WantColumnForOutput(ArchiveColumnInfo[])
ExtensibleColumnsBase.WantColumnForOutput(List<ArchiveColumnInfo>)
ExtensibleColumnsBase.WantColumnForRestriction(String[])
ExtensibleColumnsBase.WantColumnForRestriction(ArchiveColumnInfo[])
ExtensibleColumnsBase.WantColumnForOrderBy(String[])
ExtensibleColumnsBase.GetColumnOrderBy(String)
ExtensibleColumnsBase.WantColumnForOrderBy(ArchiveColumnInfo[])
ExtensibleColumnsBase.WantColumnForAnything(String[])
ExtensibleColumnsBase.WantColumnForAnything(ArchiveColumnInfo[])
ExtensibleColumnsBase.IsQueryNeeded()
ExtensibleColumnsBase.IsQueryRestriction()
ExtensibleColumnsBase.GetLeftOuterOrInnerJoin(Equal)
ExtensibleColumnsBase.GetLeftOuterOrInnerJoin(Equal, Restriction)
ExtensibleColumnsBase.SetLeftOuterOrInnerJoin(Equal)
ExtensibleColumnsBase.SetLeftOuterOrInnerJoin(Equal, Restriction)
ExtensibleColumnsBase.MapReturnField(ArchiveSelect, FieldInfo, Boolean, String, ArchiveColumnInfo[])
ExtensibleColumnsBase.MapIdField(FieldInfo)
ExtensibleColumnsBase.MapAssociateField(FieldInfo, ArchiveColumnInfo)
ExtensibleColumnsBase.MapEjUserField(FieldInfo, ArchiveColumnInfo)
ExtensibleColumnsBase.MapSimpleReturnField(FieldInfo, ArchiveColumnInfo[])
ExtensibleColumnsBase.MapSimpleImageField(FieldInfo, ArchiveColumnInfo, Int32, Int32)
ExtensibleColumnsBase.MapPictureBlob(FieldInfo, ArchiveColumnInfo, BlobLinkType, Int32, Int32, Int32)
ExtensibleColumnsBase.MapSimpleCustomField(FieldInfo, ArchiveColumnInfo[])
ExtensibleColumnsBase.MapSimpleListReturnField(FieldInfo, String, ArchiveColumnInfo[])
ExtensibleColumnsBase.MapOrderByField(FieldInfo, ArchiveColumnInfo)
ExtensibleColumnsBase.ActivateAsLinkField(String, ArchiveColumnInfo[])
ExtensibleColumnsBase.HasAvailableColumn(String)
ExtensibleColumnsBase.AddAndInitializeExtensionProvider<ExtenderType>(ExtenderType, String, String)
ExtensibleColumnsBase.AddAndInitializeExtensionProvider<ExtenderType>(ExtenderType)
ExtensibleColumnsBase.HasRestriction(String)
ExtensibleColumnsBase.ExtractRestrictions(String)
ExtensibleColumnsBase.ExtractRestrictions(ArchiveColumnInfo)
ExtensibleColumnsBase.ExtractRestriction(String)
ExtensibleColumnsBase.ExtractRestriction(ArchiveColumnInfo)
ExtensibleColumnsBase.ProcessRestrictions()
ExtensibleColumnsBase.ProcessOrderBy()
ExtensibleColumnsBase.PopulateSimpleFields(SoDataReader, ArchiveRow)
ExtensibleColumnsBase.CalculateOrderbyValue(String, SoDataReader, ArchiveColumnData)
ExtensibleColumnsBase.AddDbInfo(ArchiveColumnData, FieldInfo)
ExtensibleColumnsBase.AddDbInfo(ArchiveColumnData, Int32)
ExtensibleColumnsBase.ForceDisable()
ExtensibleColumnsBase.GetAssociateData(Int32)
ExtensibleColumnsBase.GetEjUserData(Int32)
ExtensibleColumnsBase.GetColumnIndex(ArchiveColumnInfo)
ExtensibleColumnsBase.GetColumnIndexFromReader(SoDataReader, FieldInfo, Int32)
ExtensibleColumnsBase.ConvertDbTypeToString(Object, ExtensibleColumnsBase.DbColumnBinding)
ExtensibleColumnsBase.GetStandardTooltipHint(SoDataReader, FieldInfo)
ExtensibleColumnsBase.GetLinkHint(SoDataReader, String)
ExtensibleColumnsBase.SetNonZeroBoolRestriction(ArchiveColumnInfo)
ExtensibleColumnsBase.AddUpdatedByMapping(ArchiveColumnInfo, FieldInfo, FieldInfo)
ExtensibleColumnsBase.AddRegisteredMapping(ArchiveColumnInfo, FieldInfo, ArchiveColumnInfo, FieldInfo)
ExtensibleColumnsBase.AddLastUpdatedMapping(ArchiveColumnInfo, FieldInfo, FieldInfo)
ExtensibleColumnsBase.AddUpdatedBy(SoDataReader, ArchiveRow, ArchiveColumnInfo, FieldInfo, FieldInfo)
ExtensibleColumnsBase.AddUpdatedDate(SoDataReader, ArchiveRow, ArchiveColumnInfo, FieldInfo, FieldInfo)
ExtensibleColumnsBase.AddAssociateFullName(SoDataReader, ArchiveRow, ArchiveColumnInfo, FieldInfo[])
ExtensibleColumnsBase.GetIdFieldTag(SoDataReader)
ExtensibleColumnsBase.GetArchiveColumnName(SoField)
ExtensibleColumnsBase.ExtensibleHelper
ExtensibleColumnsBase.ColumnHelper
ExtensibleColumnsBase.RestrictionHelper
ExtensibleColumnsBase.Parent
ExtensibleColumnsBase.DisableSubtreeIfNoRestriction
ExtensibleColumnsBase.RestrictionSetForSubtree
ExtensibleColumnsBase.ForceQueryNeeded
ExtensibleColumnsBase.ForceRestriction
ExtensibleColumnsBase.BlockOrderBy
ExtensibleColumnsBase.IdField
ExtensibleColumnsBase.LastSubExtenderWins
ExtensibleColumnsBase.ParentPrimaryKey
ExtensibleColumnsBase.QuoteAlternativeId
ExtensibleColumnsBase.SaleId
ExtensibleColumnsBase.NamePrefix
ExtensibleColumnsBase.DisplayNamePrefix
ExtensibleColumnsBase.RootQuery
ExtensibleColumnsBase.OrderBySlots
ExtensibleColumnsBase.PopulateDisplayValue
ExtensibleColumnsBase.PopulateTooltipHint
ExtensibleColumnsBase.DebugXML
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.dll
Syntax
public abstract class PersonExtenderBase : TableExtenderBase<PersonTableInfo>, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible, IPlugin

Constructors

PersonExtenderBase()

Construct the extender and all all standard extenders (all features)

Declaration
public PersonExtenderBase()

PersonExtenderBase(PersonExtenderBase.Features)

Construct the extender and add the requested features

Declaration
public PersonExtenderBase(PersonExtenderBase.Features features)
Parameters
Type Name Description
PersonExtenderBase.Features features

Fields

_colAcademic

Declaration
protected ArchiveColumnInfo _colAcademic
Field Value
Type Description
ArchiveColumnInfo

_colActiveErpLinks

Declaration
protected ArchiveColumnInfo _colActiveErpLinks
Field Value
Type Description
ArchiveColumnInfo

_colAssociateFullName

Declaration
protected ArchiveColumnInfo _colAssociateFullName
Field Value
Type Description
ArchiveColumnInfo

_colAssociateId

Declaration
protected ArchiveColumnInfo _colAssociateId
Field Value
Type Description
ArchiveColumnInfo

_colAssociateType

Declaration
protected ArchiveColumnInfo _colAssociateType
Field Value
Type Description
ArchiveColumnInfo

_colBirthDate

Declaration
protected ArchiveColumnInfo _colBirthDate
Field Value
Type Description
ArchiveColumnInfo

_colBirthDay

Declaration
protected ArchiveColumnInfo _colBirthDay
Field Value
Type Description
ArchiveColumnInfo

_colBirthMonth

Declaration
protected ArchiveColumnInfo _colBirthMonth
Field Value
Type Description
ArchiveColumnInfo

_colBirthYear

Declaration
protected ArchiveColumnInfo _colBirthYear
Field Value
Type Description
ArchiveColumnInfo

_colBusiness

Declaration
protected ArchiveColumnInfo _colBusiness
Field Value
Type Description
ArchiveColumnInfo

_colCategory

Declaration
protected ArchiveColumnInfo _colCategory
Field Value
Type Description
ArchiveColumnInfo

_colContactId

Declaration
protected ArchiveColumnInfo _colContactId
Field Value
Type Description
ArchiveColumnInfo

_colCountry

Declaration
protected ArchiveColumnInfo _colCountry
Field Value
Type Description
ArchiveColumnInfo

_colCountryId

Declaration
protected ArchiveColumnInfo _colCountryId
Field Value
Type Description
ArchiveColumnInfo

_colDeletedDate

Declaration
protected ArchiveColumnInfo _colDeletedDate
Field Value
Type Description
ArchiveColumnInfo

_colFirstName

Declaration
protected ArchiveColumnInfo _colFirstName
Field Value
Type Description
ArchiveColumnInfo

_colFullName

Declaration
protected ArchiveColumnInfo _colFullName
Field Value
Type Description
ArchiveColumnInfo

_colFullNameWithContact

Declaration
protected ArchiveColumnInfo _colFullNameWithContact
Field Value
Type Description
ArchiveColumnInfo

_colHasCompany

Declaration
protected ArchiveColumnInfo _colHasCompany
Field Value
Type Description
ArchiveColumnInfo

_colHasInfoText

Declaration
protected ArchiveColumnInfo _colHasInfoText
Field Value
Type Description
ArchiveColumnInfo

_colHasInterests

Declaration
protected ArchiveColumnInfo _colHasInterests
Field Value
Type Description
ArchiveColumnInfo

_colIsProjectMember

Declaration
protected ArchiveColumnInfo _colIsProjectMember
Field Value
Type Description
ArchiveColumnInfo

_colIsStakeholder

Declaration
protected ArchiveColumnInfo _colIsStakeholder
Field Value
Type Description
ArchiveColumnInfo

_colKanaFirstname

Declaration
protected ArchiveColumnInfo _colKanaFirstname
Field Value
Type Description
ArchiveColumnInfo

_colKanaLastname

Declaration
protected ArchiveColumnInfo _colKanaLastname
Field Value
Type Description
ArchiveColumnInfo

_colLastName

Declaration
protected ArchiveColumnInfo _colLastName
Field Value
Type Description
ArchiveColumnInfo

_colMiddleName

Declaration
protected ArchiveColumnInfo _colMiddleName
Field Value
Type Description
ArchiveColumnInfo

_colMrMrs

Declaration
protected ArchiveColumnInfo _colMrMrs
Field Value
Type Description
ArchiveColumnInfo

_colNoMailings

Declaration
protected ArchiveColumnInfo _colNoMailings
Field Value
Type Description
ArchiveColumnInfo

_colNumber

Declaration
protected ArchiveColumnInfo _colNumber
Field Value
Type Description
ArchiveColumnInfo

_colPersonHasInterests

Declaration
protected ArchiveColumnInfo _colPersonHasInterests
Field Value
Type Description
ArchiveColumnInfo

_colPersonId

Declaration
protected ArchiveColumnInfo _colPersonId
Field Value
Type Description
ArchiveColumnInfo

_colPhone

Declaration
protected ArchiveColumnInfo _colPhone
Field Value
Type Description
ArchiveColumnInfo

_colPortrait

Declaration
protected ArchiveColumnInfo _colPortrait
Field Value
Type Description
ArchiveColumnInfo

_colPosition

Declaration
protected ArchiveColumnInfo _colPosition
Field Value
Type Description
ArchiveColumnInfo

_colRank

Declaration
protected ArchiveColumnInfo _colRank
Field Value
Type Description
ArchiveColumnInfo

_colRegisteredBy

Declaration
protected ArchiveColumnInfo _colRegisteredBy
Field Value
Type Description
ArchiveColumnInfo

_colRegisteredByFullName

Declaration
protected ArchiveColumnInfo _colRegisteredByFullName
Field Value
Type Description
ArchiveColumnInfo

_colRegisteredDate

Declaration
protected ArchiveColumnInfo _colRegisteredDate
Field Value
Type Description
ArchiveColumnInfo

_colRetired

Declaration
protected ArchiveColumnInfo _colRetired
Field Value
Type Description
ArchiveColumnInfo

_colSource

Declaration
protected ArchiveColumnInfo _colSource
Field Value
Type Description
ArchiveColumnInfo

_colSupportAssociate

Declaration
protected ArchiveColumnInfo _colSupportAssociate
Field Value
Type Description
ArchiveColumnInfo

_colSupportAssociateFullName

Declaration
protected ArchiveColumnInfo _colSupportAssociateFullName
Field Value
Type Description
ArchiveColumnInfo

_colSupportLanguage

Declaration
protected ArchiveColumnInfo _colSupportLanguage
Field Value
Type Description
ArchiveColumnInfo

_colTicketPriority

Declaration
protected ArchiveColumnInfo _colTicketPriority
Field Value
Type Description
ArchiveColumnInfo

_colTitle

Declaration
protected ArchiveColumnInfo _colTitle
Field Value
Type Description
ArchiveColumnInfo

_colUpdatedBy

Declaration
protected ArchiveColumnInfo _colUpdatedBy
Field Value
Type Description
ArchiveColumnInfo

_colUpdatedByFullName

Declaration
protected ArchiveColumnInfo _colUpdatedByFullName
Field Value
Type Description
ArchiveColumnInfo

_colUpdatedDate

Declaration
protected ArchiveColumnInfo _colUpdatedDate
Field Value
Type Description
ArchiveColumnInfo

_colUseAsMailingAddress

Declaration
protected ArchiveColumnInfo _colUseAsMailingAddress
Field Value
Type Description
ArchiveColumnInfo

_contactExtender

Declaration
protected ContactExtenderBase _contactExtender
Field Value
Type Description
ContactExtenderBase

_contactTable

Declaration
protected ContactTableInfo _contactTable
Field Value
Type Description
ContactTableInfo

_personHelper

Declaration
protected PersonContactExtenderHelper _personHelper
Field Value
Type Description
PersonContactExtenderHelper

ColCategory

Declaration
public const string ColCategory = "personCategory"
Field Value
Type Description
String

ColumnNoMail

Declaration
public const string ColumnNoMail = "personNoMail"
Field Value
Type Description
String

ColumnRetired

Declaration
public const string ColumnRetired = "retired"
Field Value
Type Description
String

Properties

ContactIdField

Allow subclasses to supply their own source for contact ID, for instance from the left-hand side of an outer join where we are on the right-hand side and might therefore end up with nulls. Used in CombinedPersonExtenderBase.

Declaration
protected virtual FieldInfo ContactIdField { get; }
Property Value
Type Description
FieldInfo

DropRetiredPersons

Get/set whether persons that are retired should be dropped from the result or not (default false)

Declaration
public bool DropRetiredPersons { get; set; }
Property Value
Type Description
Boolean

DropStoppedContacts

Get/set whether persons that belong to companies (contacts) marked with 'stop' should be dropped from the result or not (default false)

Declaration
public bool DropStoppedContacts { get; set; }
Property Value
Type Description
Boolean

Methods

Initialize(PersonExtenderBase.Features)

Construct the object and add our own standard extenders, according to the feature list

Declaration
protected void Initialize(PersonExtenderBase.Features features)
Parameters
Type Name Description
PersonExtenderBase.Features features
Remarks

Sub-entity prefixes are set up so that there is intentional overlap between contact and person. Usually, contact and person themselves are prefixed, thereby also keeping the subentitites apart. However, in the case were we want to combine contact and person (such as during a search), we also want (most of) the subentities to overlap - which we achieve by prefixing them the same way in both person and contact, or not all.

InnerModifyQuery()

Add/map return fields to the query; call SetJoin to obtain the contact table info instance from the derived class

Declaration
protected override void InnerModifyQuery()
Overrides
SuperOffice.CRM.ArchiveLists.ExtenderBase<SuperOffice.CRM.Data.PersonTableInfo>.InnerModifyQuery()

InnerPopulateRowFromReader(SoDataReader, ArchiveRow)

Populate the archive row with columns that are not handled by the base class

Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
Type Name Description
SoDataReader reader

Reader with data fields

ArchiveRow row

Row to be populated

Overrides
SuperOffice.CRM.ArchiveLists.TableExtenderBase<SuperOffice.CRM.Data.PersonTableInfo>.InnerPopulateRowFromReader(SuperOffice.Data.SoDataReader, SuperOffice.CRM.ArchiveLists.ArchiveRow)

SetDesiredColumns(String[])

Override used to intercept requests for full name with contact; we need to ask our parent contact extender to please fetch the contact name+department

Declaration
public override void SetDesiredColumns(params string[] columnIds)
Parameters
Type Name Description
String[] columnIds
Overrides
ExtensibleColumnsBase.SetDesiredColumns(String[])

SetRestriction(ArchiveRestrictionInfo[])

Declaration
public override bool SetRestriction(params ArchiveRestrictionInfo[] restrictions)
Parameters
Type Name Description
ArchiveRestrictionInfo[] restrictions
Returns
Type Description
Boolean
Overrides
ExtensibleColumnsBase.SetRestriction(ArchiveRestrictionInfo[])

StandardFullName()

Declaration
public static ArchiveColumnInfo StandardFullName()
Returns
Type Description
ArchiveColumnInfo

Implements

IArchiveProviderQueryMapping
IArchiveExtender
IArchiveProviderDoesExtend
IArchiveProviderHasColumns
IArchiveProviderExtensible

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