Show / Hide Table of Contents

Class DynamicEjuserExtender

Customized dynamic extender for the Ejuser table; adds fields that we'd like to pretende exist on the ejuser table

Inheritance
object
ExtensibleColumnsBase
ExtenderBase<TableInfo>
TableExtenderBase<TableInfo>
DynamicExtenderBase
DynamicExtender
DynamicEjuserExtender
Implements
IArchiveProviderQueryMapping
IArchiveDynamicExtender
IArchiveExtender
IArchiveProviderDoesExtend
IArchiveProviderHasColumns
IArchiveProviderExtensible
IArchiveProviderDynamicExtend
Inherited Members
DynamicExtenderBase.ToString()
DynamicExtenderBase.SetJoin()
DynamicExtenderBase.SetDynamicJoin(string, string, ArchiveJoinType)
DynamicExtenderBase.InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
DynamicExtenderBase.JoinTableName
DynamicExtenderBase.JoinFieldName
DynamicExtenderBase.JoinType
DynamicExtenderBase.MainTableName
DynamicExtenderBase.TableToExtend
TableExtenderBase<TableInfo>._ourTable
TableExtenderBase<TableInfo>.ModifyQuery()
ExtenderBase<TableInfo>.GetRankRestriction(FieldInfo)
ExtenderBase<TableInfo>.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.SetRestriction(params ArchiveRestrictionInfo[])
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.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.BusinessLogic.dll
Syntax
[DynamicExtender("ejuser")]
public class DynamicEjuserExtender : DynamicExtender, IArchiveProviderQueryMapping, IArchiveDynamicExtender, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible, IArchiveProviderDynamicExtend
Remarks

Note that we do not go for the "full monty" generalization that we could have got by tacking on an AssociateExtenderBase-derived class. That would have given us a whole pile of associate fields - no doubt useful, but the decision here was to keep it as small as possible. Thus, a custom JOIN directly in this class and only very few columns.
If someone comes here to implement a request for a bunch of associate fields, there is a point where switching tactics is better than extending this class.

Constructors

DynamicEjuserExtender()

Set up extender and sub extenders

Declaration
public DynamicEjuserExtender()
Remarks

Note that we do not go for the "full monty" generalization that we could have got by tacking on an AssociateExtenderBase-derived class. That would have given us a whole pile of associate fields - no doubt useful, but the decision here was to keep it as small as possible. Thus, a custom JOIN directly in this class and only very few columns.
If someone comes here to implement a request for a bunch of associate fields, there is a point where switching tactics is better than extending this class.

Fields

TableName

Name of handled table

Declaration
public const string TableName = "ejuser"
Field Value
Type Description
string
Remarks

Note that we do not go for the "full monty" generalization that we could have got by tacking on an AssociateExtenderBase-derived class. That would have given us a whole pile of associate fields - no doubt useful, but the decision here was to keep it as small as possible. Thus, a custom JOIN directly in this class and only very few columns.
If someone comes here to implement a request for a bunch of associate fields, there is a point where switching tactics is better than extending this class.

_colPrimaryGroup

Primary group - ejuser doesn't have it, but it's very convenient to pretend it exists there

Declaration
protected ArchiveColumnInfo _colPrimaryGroup
Field Value
Type Description
ArchiveColumnInfo
Remarks

Note that we do not go for the "full monty" generalization that we could have got by tacking on an AssociateExtenderBase-derived class. That would have given us a whole pile of associate fields - no doubt useful, but the decision here was to keep it as small as possible. Thus, a custom JOIN directly in this class and only very few columns.
If someone comes here to implement a request for a bunch of associate fields, there is a point where switching tactics is better than extending this class.

_colPrimaryGroupId

Customized dynamic extender for the Ejuser table; adds fields that we'd like to pretende exist on the ejuser table

Declaration
protected ArchiveColumnInfo _colPrimaryGroupId
Field Value
Type Description
ArchiveColumnInfo
Remarks

Note that we do not go for the "full monty" generalization that we could have got by tacking on an AssociateExtenderBase-derived class. That would have given us a whole pile of associate fields - no doubt useful, but the decision here was to keep it as small as possible. Thus, a custom JOIN directly in this class and only very few columns.
If someone comes here to implement a request for a bunch of associate fields, there is a point where switching tactics is better than extending this class.

Methods

InnerModifyQuery()

Override: Get fields required for primary user group

Declaration
protected override void InnerModifyQuery()
Overrides
DynamicExtenderBase.InnerModifyQuery()
Remarks

Note that we do not go for the "full monty" generalization that we could have got by tacking on an AssociateExtenderBase-derived class. That would have given us a whole pile of associate fields - no doubt useful, but the decision here was to keep it as small as possible. Thus, a custom JOIN directly in this class and only very few columns.
If someone comes here to implement a request for a bunch of associate fields, there is a point where switching tactics is better than extending this class.

Implements

IArchiveProviderQueryMapping
IArchiveDynamicExtender
IArchiveExtender
IArchiveProviderDoesExtend
IArchiveProviderHasColumns
IArchiveProviderExtensible
IArchiveProviderDynamicExtend

Extension Methods

EnumUtil.MapEnums<From, To>(From)
Converters.MapEnums<From, To>(From)
ObjectExtensions.AssignByReflection<T>(T, T)
ObjectExtensions.GraphCopy<T>(T)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top