Show / Hide Table of Contents

Interface IArchiveProviderDynamicExtend

Interface used by extenders that can be part of a dot-syntax provider

Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public interface IArchiveProviderDynamicExtend
Remarks

Dot syntax extenders offer columns, but have their joins generated by a parser that understands syntax like contact.associate_id.person_id.firstname. Such extenders must implement this interface, and be marked with a DynamicExtenderAttribute that defines which table the extender handles.

A dynamic extender must also implement IArchiveExtender.

Methods

SetDynamicJoin(String, String, ArchiveJoinType)

Define the join relation between this extender and the parent.

Declaration
void SetDynamicJoin(string tableName, string fieldName, ArchiveJoinType joinType)
Parameters
Type Name Description
String tableName

Name of the foreign key table

String fieldName

Name of the foreign key field

ArchiveJoinType joinType

Type of join

Remarks

How the parent is specified is not part of this interface, see IArchiveProviderDoesExtend for that. This method is used to specify - without referring to table/field objects, because these are not known at the time of call - how this extender is linked to its parent. During the ModifyQuery phase of processing, this information will be used to instantiate a concrete join of some kind.

The table and field name specified here may be either a field handled by the parent (left outer join, inner join), or a field handled by this extender (right outer join, inner join). Implementations must examine their own and the parents' table to determine which direction is requested.

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