Show / Hide Table of Contents

Class AssociateExtenderBase

Extender for fetching associate information.

Inheritance
Object
ExtensibleColumnsBase
ExtenderBase<AssociateTableInfo>
TableExtenderBase<AssociateTableInfo>
AssociateExtenderBase
AppointmentAssociateExtender
AssociateAssociateExtender
ChatSessionAssociateExtender
ContactAssociateExtender
ContactSupportAssociateExtender
DocumentAssociateExtender
EmailItemAccountAssociateExtender
FormSubmissionAssociateExtender
MailingAssociateExtender
NumbersUpdatedAssociateExtender
PersonAssociateExtender
ProjectAssociateExtender
RelationAssociateExtender
SaleAssociateExtender
SaleHistoryAssociateExtender
SelecteionAssociateExtender
SuperListColumnSizeAssociateExtender
SystemEventRegisteredAssociateExtender
TicketCreatedByExtender
TicketOwnedByExtender
WebAppUsageAssociateExtender
Implements
IArchiveProviderQueryMapping
IArchiveExtender
IArchiveProviderDoesExtend
IArchiveProviderHasColumns
IArchiveProviderExtensible
Inherited Members
TableExtenderBase<AssociateTableInfo>._ourTable
TableExtenderBase<AssociateTableInfo>.ModifyQuery()
TableExtenderBase<AssociateTableInfo>.TableToExtend
TableExtenderBase<AssociateTableInfo>.MainTableName
ExtenderBase<AssociateTableInfo>.SetJoin()
ExtenderBase<AssociateTableInfo>.GetRankRestriction(FieldInfo)
ExtenderBase<AssociateTableInfo>.StyleHintPrefix
ExtensibleColumnsBase._minuteFields
ExtensibleColumnsBase.Visible
ExtensibleColumnsBase.Invisible
ExtensibleColumnsBase.AllowOrderBy
ExtensibleColumnsBase.DenyOrderBy
ExtensibleColumnsBase.GetAllRestriction
ExtensibleColumnsBase.GetNoneRestriction
ExtensibleColumnsBase.SetParent(IArchiveProviderExtensible)
ExtensibleColumnsBase.AddAvailableColumn(ArchiveColumnInfo[])
ExtensibleColumnsBase.GetAvailableColumns()
ExtensibleColumnsBase.SetDesiredColumns(String[])
ExtensibleColumnsBase.SetOrderBy(ArchiveOrderByInfo[])
ExtensibleColumnsBase.SetOrderByMapping(String, String[])
ExtensibleColumnsBase.SetOrderByMapping(ArchiveColumnInfo, ArchiveColumnInfo[])
ExtensibleColumnsBase.SetPrefixes(String, String)
ExtensibleColumnsBase.SetLocalAbsolutePrefixes(String, String)
ExtensibleColumnsBase.SetIconHint(String)
ExtensibleColumnsBase.SetRestriction(ArchiveRestrictionInfo[])
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 AssociateExtenderBase : TableExtenderBase<AssociateTableInfo>, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible, IPlugin
Remarks

This extender actually fetches data from up to four additional tables - person, possibly leading to contact; and ejuser, possibly leading to hierarchy. Due to the need to reorganize joins on the fly in the Users provider (which is quite complex), we need to manage the four additional tables here, instead of using the more standard extender / joiner pattern. The InnerModifyQuery method therefore has a bit of code to do this, and if you add columns that come from the extra tables, then you must also update the conditions for those joins.

Constructors

AssociateExtenderBase()

Constructs a new associate extender base

Declaration
protected AssociateExtenderBase()

AssociateExtenderBase(AssociateExtenderBase.Features)

Constructs the associate cache with a given set of features

Declaration
protected AssociateExtenderBase(AssociateExtenderBase.Features features)
Parameters
Type Name Description
AssociateExtenderBase.Features features

Fields

_colAssociateId

Declaration
protected ArchiveColumnInfo _colAssociateId
Field Value
Type Description
ArchiveColumnInfo

_colAssocName

Declaration
protected ArchiveColumnInfo _colAssocName
Field Value
Type Description
ArchiveColumnInfo

_colAssocTooltip

Declaration
protected ArchiveColumnInfo _colAssocTooltip
Field Value
Type Description
ArchiveColumnInfo

_colAssocType

Declaration
protected ArchiveColumnInfo _colAssocType
Field Value
Type Description
ArchiveColumnInfo

_colAssocUserName

Declaration
protected ArchiveColumnInfo _colAssocUserName
Field Value
Type Description
ArchiveColumnInfo

_colContactCategory

Declaration
protected ArchiveColumnInfo _colContactCategory
Field Value
Type Description
ArchiveColumnInfo

_colContactDepartment

Declaration
protected ArchiveColumnInfo _colContactDepartment
Field Value
Type Description
ArchiveColumnInfo

_colContactFullName

Declaration
protected ArchiveColumnInfo _colContactFullName
Field Value
Type Description
ArchiveColumnInfo

_colContactId

Declaration
protected ArchiveColumnInfo _colContactId
Field Value
Type Description
ArchiveColumnInfo

_colContactName

Declaration
protected ArchiveColumnInfo _colContactName
Field Value
Type Description
ArchiveColumnInfo

_colCredType

Declaration
protected ArchiveColumnInfo _colCredType
Field Value
Type Description
ArchiveColumnInfo

_colCredValue

Declaration
protected ArchiveColumnInfo _colCredValue
Field Value
Type Description
ArchiveColumnInfo

_colEjDisplayName

Declaration
protected ArchiveColumnInfo _colEjDisplayName
Field Value
Type Description
ArchiveColumnInfo

_colEjStatus

Declaration
protected ArchiveColumnInfo _colEjStatus
Field Value
Type Description
ArchiveColumnInfo

_colEjUserId

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

_colIsActive

Declaration
protected ArchiveColumnInfo _colIsActive
Field Value
Type Description
ArchiveColumnInfo

_colIsActiveText

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

_colOtherGroups

Declaration
protected ArchiveColumnInfo _colOtherGroups
Field Value
Type Description
ArchiveColumnInfo

_colPersonEmail

Declaration
protected ArchiveColumnInfo _colPersonEmail
Field Value
Type Description
ArchiveColumnInfo

_colPersonId

Declaration
protected ArchiveColumnInfo _colPersonId
Field Value
Type Description
ArchiveColumnInfo

_colPortrait

Declaration
protected ArchiveColumnInfo _colPortrait
Field Value
Type Description
ArchiveColumnInfo

_colRole

Declaration
protected ArchiveColumnInfo _colRole
Field Value
Type Description
ArchiveColumnInfo

_colSimultaneous

Declaration
protected ArchiveColumnInfo _colSimultaneous
Field Value
Type Description
ArchiveColumnInfo

_colTitle

Declaration
protected ArchiveColumnInfo _colTitle
Field Value
Type Description
ArchiveColumnInfo

_colUserGroup

Declaration
protected ArchiveColumnInfo _colUserGroup
Field Value
Type Description
ArchiveColumnInfo

ColumnAssociateId

Declaration
public const string ColumnAssociateId = "associateDbId"
Field Value
Type Description
String

ColumnAssocName

Declaration
public const string ColumnAssocName = "assocName"
Field Value
Type Description
String

ColumnAssocTooltip

Declaration
public const string ColumnAssocTooltip = "assocTooltip"
Field Value
Type Description
String

ColumnAssocType

Declaration
public const string ColumnAssocType = "assocType"
Field Value
Type Description
String

ColumnAssocUserName

Declaration
public const string ColumnAssocUserName = "userName"
Field Value
Type Description
String

ColumnContactCategory

Declaration
public const string ColumnContactCategory = "contactCategory"
Field Value
Type Description
String

ColumnContactDepartment

Declaration
public const string ColumnContactDepartment = "contactDepartment"
Field Value
Type Description
String

ColumnContactFullName

Declaration
public const string ColumnContactFullName = "contactFullName"
Field Value
Type Description
String

ColumnContactId

Declaration
public const string ColumnContactId = "contactId"
Field Value
Type Description
String

ColumnContactName

Declaration
public const string ColumnContactName = "contactName"
Field Value
Type Description
String

ColumnCredDisplayValue

Declaration
public const string ColumnCredDisplayValue = "credentialDisplayValue"
Field Value
Type Description
String

ColumnCredType

Declaration
public const string ColumnCredType = "credentialType"
Field Value
Type Description
String

ColumnEjDisplayName

Declaration
public const string ColumnEjDisplayName = "ejDisplayName"
Field Value
Type Description
String

ColumnEjStatus

Declaration
public const string ColumnEjStatus = "ejStatus"
Field Value
Type Description
String

ColumnEjUserId

Declaration
public const string ColumnEjUserId = "ejUserId"
Field Value
Type Description
String

ColumnFirstName

Declaration
public const string ColumnFirstName = "firstName"
Field Value
Type Description
String

ColumnFullName

Declaration
public const string ColumnFullName = "fullName"
Field Value
Type Description
String

ColumnIsActive

Declaration
public const string ColumnIsActive = "isActive"
Field Value
Type Description
String

ColumnLastName

Declaration
public const string ColumnLastName = "lastName"
Field Value
Type Description
String

ColumnMiddleName

Declaration
public const string ColumnMiddleName = "middleName"
Field Value
Type Description
String

ColumnMrMrs

Declaration
public const string ColumnMrMrs = "mrMrs"
Field Value
Type Description
String

ColumnOtherGroups

Declaration
public const string ColumnOtherGroups = "otherGroups"
Field Value
Type Description
String

ColumnPersonEmail

Declaration
public const string ColumnPersonEmail = "personEmail"
Field Value
Type Description
String

ColumnPersonId

Declaration
public const string ColumnPersonId = "personId"
Field Value
Type Description
String

ColumnPortraitThumbnail

Declaration
public const string ColumnPortraitThumbnail = "portraitThumbnail"
Field Value
Type Description
String

ColumnRole

Declaration
public const string ColumnRole = "role"
Field Value
Type Description
String

ColumnSimultaneousEjUser

Declaration
public const string ColumnSimultaneousEjUser = "simultaneousEjUser"
Field Value
Type Description
String

ColumnTitle

Declaration
public const string ColumnTitle = "title"
Field Value
Type Description
String

ColumnUserGroup

Declaration
public const string ColumnUserGroup = "usergroup"
Field Value
Type Description
String

Properties

ContactRelatedColumns

Columns taken from the Contact table, used to filter available columns in providers that know something about the associate type (note that if don't have Person, then you surely can't have Contact)

Declaration
public static string[] ContactRelatedColumns { get; }
Property Value
Type Description
String[]

EjRelatedColumns

Columns taken from the EjUser table, used to filter available columns in providers that know something about the associate type

Declaration
public static string[] EjRelatedColumns { get; }
Property Value
Type Description
String[]

PersonRelatedColumns

Columns taken from the Person table, used to filter available columns in providers that know something about the associate type

Declaration
public static string[] PersonRelatedColumns { get; }
Property Value
Type Description
String[]

Methods

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.AssociateTableInfo>.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.AssociateTableInfo>.InnerPopulateRowFromReader(SuperOffice.Data.SoDataReader, SuperOffice.CRM.ArchiveLists.ArchiveRow)

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