Class DynamicEjuserExtender
Customized dynamic extender for the Ejuser table; adds fields that we'd like to pretende exist on the ejuser table
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.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
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.