Show / Hide Table of Contents

Class ContactExtenderBase

This is the base class for all extenders that add Contact fields to their base query. It handles all contact-related fields, as well as having its own standard extenders for udef, email, url, phone and fax. Derived classes should simply implement the ExtenderBase.SetJoin method to join a ContactTableInfo to the RootQuery.

Inheritance
object
ExtensibleColumnsBase
ExtenderBaseContactTableInfo
TableExtenderBaseContactTableInfo
ContactExtenderBase
AppointmentContactExtender
ChatSessionContactExtender
CombinedContactExtenderBase
ContactContactExtender
ContactLinkExtender
DocumentContactExtender
EmailItemContactExtender
FavouriteContactExtender
FormSubmissionContactExtender
TicketContactExtender
MailingAddrContactExtender
PersonContactExtender
ProjectContactExtender
ProjectMemberContactExtender
RecycleContactExtender
RelationContactExtenderBase
SaleContactExtender
SaleHistoryContactExtender
SaleStakeholderContactExtender
SimpleContactExtender
TargetAssignmentValueContactExtender
WorkflowInstanceContactExtender
Implements
IArchiveProviderQueryMapping
IArchiveExtender
IArchiveProviderDoesExtend
IArchiveProviderHasColumns
IArchiveProviderExtensible
Inherited Members
TableExtenderBase<ContactTableInfo>._ourTable
TableExtenderBase<ContactTableInfo>.ModifyQuery()
TableExtenderBase<ContactTableInfo>.TableToExtend
TableExtenderBase<ContactTableInfo>.MainTableName
ExtenderBase<ContactTableInfo>.SetJoin()
ExtenderBase<ContactTableInfo>.GetRankRestriction(FieldInfo)
ExtenderBase<ContactTableInfo>.StyleHintPrefix
ExtensibleColumnsBase._orderBy
ExtensibleColumnsBase._minuteFields
ExtensibleColumnsBase.Visible
ExtensibleColumnsBase.Invisible
ExtensibleColumnsBase.AllowOrderBy
ExtensibleColumnsBase.DenyOrderBy
ExtensibleColumnsBase.GetAllRestriction
ExtensibleColumnsBase.GetNoneRestriction
ExtensibleColumnsBase.GetNameOrOverrideName(string)
ExtensibleColumnsBase.SetParent(IArchiveProviderExtensible)
ExtensibleColumnsBase.AddAvailableColumn(params ArchiveColumnInfo[])
ExtensibleColumnsBase.GetAvailableColumns()
ExtensibleColumnsBase.SetDesiredColumns(params string[])
ExtensibleColumnsBase.SetOrderBy(ArchiveOrderByInfo[])
ExtensibleColumnsBase.SetOrderByMapping(string, params string[])
ExtensibleColumnsBase.SetOrderByMapping(ArchiveColumnInfo, params ArchiveColumnInfo[])
ExtensibleColumnsBase.SetPrefixes(string, string)
ExtensibleColumnsBase.SetLocalAbsolutePrefixes(string, string)
ExtensibleColumnsBase.SetIconHint(string)
ExtensibleColumnsBase.AddLocalRestriction(params ArchiveRestrictionInfo[])
ExtensibleColumnsBase.AddExtensionProvider(IArchiveExtender)
ExtensibleColumnsBase.GetExtensionProviders()
ExtensibleColumnsBase.GetTableInfosFromExtensionProviders()
ExtensibleColumnsBase.PopulateRowFromReaderAsync(SoDataReader, ArchiveRow, CancellationToken)
ExtensibleColumnsBase.SuppressTableResults(SoDataReader, TableInfo)
ExtensibleColumnsBase.SuppressDeepTableResults(SoDataReader, TableInfo)
ExtensibleColumnsBase.AddColumnNameOverride(string, string)
ExtensibleColumnsBase.ApplyColumnNameOverridesToRestrictions()
ExtensibleColumnsBase.ApplyColumnNameOverrides(ArchiveRow)
ExtensibleColumnsBase.AddSubExtenderMapping(string, params ExtensibleColumnsBase[])
ExtensibleColumnsBase.WantColumnForOutput(params string[])
ExtensibleColumnsBase.WantColumnForOutput(params ArchiveColumnInfo[])
ExtensibleColumnsBase.WantColumnForOutput(List<ArchiveColumnInfo>)
ExtensibleColumnsBase.WantColumnForRestriction(params string[])
ExtensibleColumnsBase.WantColumnForRestriction(params ArchiveColumnInfo[])
ExtensibleColumnsBase.WantColumnForOrderBy(params string[])
ExtensibleColumnsBase.GetColumnOrderBy(string)
ExtensibleColumnsBase.WantColumnForOrderBy(params ArchiveColumnInfo[])
ExtensibleColumnsBase.WantColumnForAnything(params string[])
ExtensibleColumnsBase.WantColumnForAnything(params ArchiveColumnInfo[])
ExtensibleColumnsBase.IsQueryNeeded()
ExtensibleColumnsBase.IsQueryRestriction()
ExtensibleColumnsBase.GetLeftOuterOrInnerJoin(Equal)
ExtensibleColumnsBase.GetLeftOuterOrInnerJoin(Equal, Restriction)
ExtensibleColumnsBase.SetLeftOuterJoin(Equal)
ExtensibleColumnsBase.SetLeftOuterJoin(Equal, Restriction)
ExtensibleColumnsBase.SetLeftOuterOrInnerJoin(Equal)
ExtensibleColumnsBase.SetLeftOuterOrInnerJoin(Equal, Restriction)
ExtensibleColumnsBase.MapReturnField(ArchiveSelect, FieldInfo, bool, string, params ArchiveColumnInfo[])
ExtensibleColumnsBase.MapIdField(FieldInfo)
ExtensibleColumnsBase.MapAssociateField(FieldInfo, ArchiveColumnInfo, bool)
ExtensibleColumnsBase.MapEjUserField(FieldInfo, ArchiveColumnInfo)
ExtensibleColumnsBase.MapSimpleReturnField(FieldInfo, params ArchiveColumnInfo[])
ExtensibleColumnsBase.MapSimpleImageField(FieldInfo, ArchiveColumnInfo, int, int)
ExtensibleColumnsBase.MapPictureBlob(FieldInfo, ArchiveColumnInfo, BlobLinkType, int, int, int)
ExtensibleColumnsBase.MapSimpleCustomField(FieldInfo, params ArchiveColumnInfo[])
ExtensibleColumnsBase.MapSimpleListReturnField(FieldInfo, string, params ArchiveColumnInfo[])
ExtensibleColumnsBase.MapOrderByField(FieldInfo, ArchiveColumnInfo)
ExtensibleColumnsBase.ActivateAsLinkField(string, params 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.PopulateSimpleFieldsAsync(SoDataReader, ArchiveRow, CancellationToken)
ExtensibleColumnsBase.CalculateOrderbyValue(string, SoDataReader, ArchiveColumnData)
ExtensibleColumnsBase.AddDbInfo(ArchiveColumnData, FieldInfo)
ExtensibleColumnsBase.AddDbInfo(ArchiveColumnData, int)
ExtensibleColumnsBase.ForceDisable()
ExtensibleColumnsBase.GetAssociateData(int)
ExtensibleColumnsBase.GetEjUserData(int)
ExtensibleColumnsBase.GetColumnIndex(ArchiveColumnInfo)
ExtensibleColumnsBase.GetColumnIndexFromReader(SoDataReader, FieldInfo, ref int)
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, bool)
ExtensibleColumnsBase.AddAssociateFullName(SoDataReader, ArchiveRow, ArchiveColumnInfo, params 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: SuperOfficeCRMArchiveLists
Assembly: SoDataBase.BusinessLogic.dll
Syntax
public abstract class ContactExtenderBase : TableExtenderBase<ContactTableInfo>, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible

Constructors

ContactExtenderBase()

Declaration
public ContactExtenderBase()

ContactExtenderBase(Features, string)

Declaration
public ContactExtenderBase(ContactExtenderBase.Features features, string iconHint = "Contact")
Parameters
Type Name Description
ContactExtenderBaseFeatures features
string iconHint

Fields

ColCategory

Declaration
public const string ColCategory = "category"
Field Value
Type Description
string

ColContactId

Declaration
public const string ColContactId = "contactId"
Field Value
Type Description
string

_colActiveErpLinks

Declaration
protected ArchiveColumnInfo _colActiveErpLinks
Field Value
Type Description
ArchiveColumnInfo

_colAssociateId

Declaration
protected ArchiveColumnInfo _colAssociateId
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

_colCategoryGroup

Declaration
protected ArchiveColumnInfo _colCategoryGroup
Field Value
Type Description
ArchiveColumnInfo

_colCategoryRank

Declaration
protected ArchiveColumnInfo _colCategoryRank
Field Value
Type Description
ArchiveColumnInfo

_colCode

Declaration
protected ArchiveColumnInfo _colCode
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

_colDeleted

Declaration
protected ArchiveColumnInfo _colDeleted
Field Value
Type Description
ArchiveColumnInfo

_colDeletedDate

Declaration
protected ArchiveColumnInfo _colDeletedDate
Field Value
Type Description
ArchiveColumnInfo

_colDepartment

Declaration
protected ArchiveColumnInfo _colDepartment
Field Value
Type Description
ArchiveColumnInfo

_colForceCompany

Declaration
protected ArchiveColumnInfo _colForceCompany
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

_colMainContact

Declaration
protected ArchiveColumnInfo _colMainContact
Field Value
Type Description
ArchiveColumnInfo

_colName

Declaration
protected ArchiveColumnInfo _colName
Field Value
Type Description
ArchiveColumnInfo

_colNameAndDepartment

Declaration
protected ArchiveColumnInfo _colNameAndDepartment
Field Value
Type Description
ArchiveColumnInfo

_colNoMail

Declaration
protected ArchiveColumnInfo _colNoMail
Field Value
Type Description
ArchiveColumnInfo

_colNumber

Declaration
protected ArchiveColumnInfo _colNumber
Field Value
Type Description
ArchiveColumnInfo

_colOrgNr

Declaration
protected ArchiveColumnInfo _colOrgNr
Field Value
Type Description
ArchiveColumnInfo

_colPhone

Declaration
protected ArchiveColumnInfo _colPhone
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

_colSource

Declaration
protected ArchiveColumnInfo _colSource
Field Value
Type Description
ArchiveColumnInfo

_colStop

Declaration
protected ArchiveColumnInfo _colStop
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

Properties

DropStoppedContacts

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

TicketPriority

Declaration
public static ArchiveColumnInfo TicketPriority { get; }
Property Value
Type Description
ArchiveColumnInfo

Methods

GetNameAndDepartment(SoDataReader)

Declaration
public ArchiveColumnData GetNameAndDepartment(SoDataReader reader)
Parameters
Type Name Description
SoDataReader reader
Returns
Type Description
ArchiveColumnData

Initialize(Features, string)

Construct the extender and add all standard extenders

Declaration
public void Initialize(ContactExtenderBase.Features features, string iconHint)
Parameters
Type Name Description
ContactExtenderBaseFeatures features
string iconHint
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
ExtenderBase<ContactTableInfo>.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
TableExtenderBase<ContactTableInfo>.InnerPopulateRowFromReader(SoDataReader, ArchiveRow)

SetRestriction(params ArchiveRestrictionInfo[])

Set the restriction for the query. This method sets the restrictions for this provider, as well as invoking the same call on all known extenders. Recursion will take it to the bottom. This method actually only saves the restriction specification for use during query processing.

Declaration
public override bool SetRestriction(params ArchiveRestrictionInfo[] restrictions)
Parameters
Type Name Description
ArchiveRestrictionInfo restrictions

Array of restrictions (implicit AND)

Returns
Type Description
bool
Overrides
ExtensibleColumnsBase.SetRestriction(params ArchiveRestrictionInfo[])

StandardNameDept()

Declaration
public static ArchiveColumnInfo StandardNameDept()
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