Show / Hide Table of Contents

Class RelationContactExtenderBase

Base class for extenders that handle the contact part of a relation archive

Inheritance
Object
ExtensibleColumnsBase
ExtenderBase<ContactTableInfo>
TableExtenderBase<ContactTableInfo>
ContactExtenderBase
RelationContactExtenderBase
ContactSourceRelationExtender
ContactTargetRelationExtender
RelationSourceContactExtender
RelationTargetContactExtender
Implements
IArchiveProviderQueryMapping
IArchiveExtender
IArchiveProviderDoesExtend
IArchiveProviderHasColumns
IArchiveProviderExtensible
IRowNavigationHint
Inherited Members
ContactExtenderBase.ColContactId
ContactExtenderBase.ColCategory
ContactExtenderBase._colContactId
ContactExtenderBase._colName
ContactExtenderBase._colDepartment
ContactExtenderBase._colNameAndDepartment
ContactExtenderBase._colHasInfoText
ContactExtenderBase._colHasInterests
ContactExtenderBase._colAssociateId
ContactExtenderBase._colCategory
ContactExtenderBase._colBusiness
ContactExtenderBase._colCountry
ContactExtenderBase._colCountryId
ContactExtenderBase._colNumber
ContactExtenderBase._colCode
ContactExtenderBase._colOrgNr
ContactExtenderBase._colStop
ContactExtenderBase._colNoMail
ContactExtenderBase._colUpdatedBy
ContactExtenderBase._colUpdatedByFullName
ContactExtenderBase._colUpdatedDate
ContactExtenderBase._colRegisteredBy
ContactExtenderBase._colRegisteredByFullName
ContactExtenderBase._colRegisteredDate
ContactExtenderBase._colSource
ContactExtenderBase._colDeleted
ContactExtenderBase._colPhone
ContactExtenderBase._colActiveErpLinks
ContactExtenderBase._colDeletedDate
ContactExtenderBase._colMainContact
ContactExtenderBase.StandardNameDept()
ContactExtenderBase.Initialize(ContactExtenderBase.Features)
ContactExtenderBase.InnerModifyQuery()
ContactExtenderBase.GetNameAndDepartment(SoDataReader)
ContactExtenderBase.SetRestriction(ArchiveRestrictionInfo[])
ContactExtenderBase.DropStoppedContacts
TableExtenderBase<ContactTableInfo>._ourTable
TableExtenderBase<ContactTableInfo>.MainTableName
ExtenderBase<ContactTableInfo>.SetJoin()
ExtenderBase<ContactTableInfo>.GetRankRestriction(FieldInfo)
ExtenderBase<ContactTableInfo>.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.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 RelationContactExtenderBase : ContactExtenderBase, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible, IPlugin, IRowNavigationHint
Remarks

This class adds functionality that is not specific to being on the source or destination side. Main functionality is to declare a 'who' column, containing the full contact name. The column name is the same for all relation extenders, by design, to provide a common 'who is this' column.

The property is set from the outside to disable fetching of contacts marked with 'stop'. The actual handling conversion of the property into SQL is in the subclasses, since it properly belongs in the join clause.

The _colRestrictionContactId column is declared and processed here. Note that it will have a runtime prefix of 'source' or 'target' depending on which side the actual class instance is on. This makes it possible to show relation archives bound to a source, a target, or both (intra-contact relations, or relations between particular contacts).

Constructors

RelationContactExtenderBase()

Constructor

Declaration
public RelationContactExtenderBase()

RelationContactExtenderBase(ContactExtenderBase.Features)

Constructor with the additional feature bits

Declaration
public RelationContactExtenderBase(ContactExtenderBase.Features features)
Parameters
Type Name Description
ContactExtenderBase.Features features

Fields

_colRestrictionContactId

Declaration
protected ArchiveColumnInfo _colRestrictionContactId
Field Value
Type Description
ArchiveColumnInfo

_colWho

Declaration
protected ArchiveColumnInfo _colWho
Field Value
Type Description
ArchiveColumnInfo

_contactTable

Declaration
protected ContactTableInfo _contactTable
Field Value
Type Description
ContactTableInfo

Properties

TableToExtend

Declaration
public override TableInfo TableToExtend { get; }
Property Value
Type Description
TableInfo
Overrides
SuperOffice.CRM.ArchiveLists.TableExtenderBase<SuperOffice.CRM.Data.ContactTableInfo>.TableToExtend

Methods

GetRowNavigationHint(SoDataReader)

Declaration
public string GetRowNavigationHint(SoDataReader reader)
Parameters
Type Name Description
SoDataReader reader
Returns
Type Description
String

InnerPopulateRowFromReader(SoDataReader, ArchiveRow)

Override: populuate the 'who' column

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

ModifyQuery()

Override: Convert the 'who' column into from the base class

Declaration
public override void ModifyQuery()
Overrides
SuperOffice.CRM.ArchiveLists.TableExtenderBase<SuperOffice.CRM.Data.ContactTableInfo>.ModifyQuery()

Implements

IArchiveProviderQueryMapping
IArchiveExtender
IArchiveProviderDoesExtend
IArchiveProviderHasColumns
IArchiveProviderExtensible
IRowNavigationHint

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