Show / Hide Table of Contents

Class ContactWithPersonExtenderBase<PersonExtenderClass>

This is the base class for contact extenders that, in additional to all the usual contact-related extenders, also have a person extender. It is used for Find and Dynamic selections.

Inheritance
Object
ExtensibleColumnsBase
ExtenderBase<ContactTableInfo>
TableExtenderBase<ContactTableInfo>
ContactExtenderBase
CombinedContactExtenderBase
ContactWithPersonExtenderBase<PersonExtenderClass>
FindContactExtender
SelectionCombinedContactPersonExtenderBase
Implements
IArchiveProviderQueryMapping
IArchiveExtender
IArchiveProviderDoesExtend
IArchiveProviderHasColumns
IArchiveProviderExtensible
Inherited Members
CombinedContactExtenderBase._colWho
CombinedContactExtenderBase.ModifyQuery()
CombinedContactExtenderBase.InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
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>.TableToExtend
TableExtenderBase<ContactTableInfo>.MainTableName
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 ContactWithPersonExtenderBase<PersonExtenderClass> : CombinedContactExtenderBase, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible, IPlugin, ICombinedWithPossiblePersonFirst where PersonExtenderClass : ContactPersonExtender, new()
Type Parameters
Name Description
PersonExtenderClass

The type of person extender to instantiate; this must be a subclass of ContactPersonExtender, and must have a parameterless, public constructor

Remarks

Usually we start with person and add contact information. However, this class implements the opposite logic, needed in situations where we always have a contact component, and may or may not want to extend it with one or more related persons. This base class is also a 'root extender', in the sense that it defines its own root table; this makes it similar to for instance the PersonPersonExtender.

Constructors

ContactWithPersonExtenderBase()

Construct the object and instantiate the ContactTableInfo

Declaration
public ContactWithPersonExtenderBase()
Remarks

Would have preferred this to be an 'internal' constructor, but in order to be used with templates and the new() constraint it has to be public. See ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_csref/html/58850b64-cb97-4136-be50-1f3bc7fc1da9.htm for more information.

ContactWithPersonExtenderBase(ContactExtenderBase.Features)

Constructor that takes a features parameters that will be propagated down to the ContactExtenderBase.

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

Fields

_rootContactTable

Declaration
protected ContactTableInfo _rootContactTable
Field Value
Type Description
ContactTableInfo

Properties

ContactTable

Declaration
protected ContactTableInfo ContactTable { get; }
Property Value
Type Description
ContactTableInfo

IsPersonQuery

Return true if the current restrictions contain at least one person-related restriction. Note that generic phone and email restrictions do not count as person level restrictions here.

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

IsPureContactQuery

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

Methods

SetJoin()

Declaration
protected override ContactTableInfo SetJoin()
Returns
Type Description
ContactTableInfo
Overrides
SuperOffice.CRM.ArchiveLists.ExtenderBase<SuperOffice.CRM.Data.ContactTableInfo>.SetJoin()

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