Class ExtenderBase<MainTableInfo>
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public abstract class ExtenderBase<MainTableInfo> : ExtensibleColumnsBase, IArchiveProviderQueryMapping, IArchiveExtender, IArchiveProviderDoesExtend, IArchiveProviderHasColumns, IArchiveProviderExtensible where MainTableInfo : TableInfo
Type Parameters
Name | Description |
---|---|
MainTableInfo |
Constructors
ExtenderBase()
Declaration
protected ExtenderBase()
Properties
MainTableName
The name of the table that this node is the handler for
Declaration
public abstract string MainTableName { get; }
Property Value
Type | Description |
---|---|
string |
StyleHintPrefix
Declaration
public virtual string StyleHintPrefix { get; }
Property Value
Type | Description |
---|---|
string |
Methods
GetRankRestriction(FieldInfo)
Create a restriction clause that selects records with the correct rank.
Declaration
protected virtual Restriction GetRankRestriction(FieldInfo rankField)
Parameters
Type | Name | Description |
---|---|---|
FieldInfo | rankField | The rank field of the table to restrict |
Returns
Type | Description |
---|---|
Restriction | Restriction clause, suitable for the second parameter of a join or other use |
Remarks
What if there is more than one record with rank 1? Not a problem, the QueryProvider base class will detect and discard duplicate rows based on the query primary key. Which particular record survives is a matter of chance, but since they both have the same rank they're semantically equivalent, anyway.
InnerModifyQuery()
Template method called from ModifyQuery() during query processing; subclasses should implement it to build their queries. It will ONLY be called if IsQueryNeeded returns true.
Declaration
protected abstract void InnerModifyQuery()
ModifyQuery()
Interface implementation, called from outer query provider to build the query
Declaration
public virtual void ModifyQuery()
SetJoin()
Subclass contract: Implementations of this method should create the extenders' table information object, join it to the relevant parent, and return the table information instance
Declaration
protected abstract MainTableInfo SetJoin()
Returns
Type | Description |
---|---|
MainTableInfo |