Class LinksBySourceProviderBase<MainExtenderType>
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public abstract class LinksBySourceProviderBase<MainExtenderType> : TypedQueryProviderBase<ArchiveRow, MainExtenderType>, IArchiveProviderQueryMapping, IArchiveQueryProvider, IArchiveProviderExtensible, IArchiveTypedProvider<ArchiveRow>, IArchiveTypedProviderBase, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities where MainExtenderType : IArchiveExtender, new()
Type Parameters
Name | Description |
---|---|
MainExtenderType | Type of the main data extender to use |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system.Constructors
LinksBySourceProviderBase(ArchiveRowTypeInfo)
Create the provider, set up c ustom processing for the source restrictions (appointment, sale, document). Instantiate the main extender, which is our type parameter. register the entity.
Declaration
protected LinksBySourceProviderBase(ArchiveRowTypeInfo entity)
Parameters
Type | Name | Description |
---|---|---|
ArchiveRowTypeInfo | entity | Entity that we are processing |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system.Fields
LinkDescription
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
public const string LinkDescription = "linkDescription"
Field Value
Type | Description |
---|---|
string |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system.LinkId
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
public const string LinkId = "linkId"
Field Value
Type | Description |
---|---|
string |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system._colRelationId
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
protected ArchiveColumnInfo _colRelationId
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system._colRelcomment
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
protected ArchiveColumnInfo _colRelcomment
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system._colSourceAppointmentRestrictionId
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
protected ArchiveColumnInfo _colSourceAppointmentRestrictionId
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system._colSourceContactRestrictionId
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
protected ArchiveColumnInfo _colSourceContactRestrictionId
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system._colSourceDocumentRestrictionId
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
protected ArchiveColumnInfo _colSourceDocumentRestrictionId
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system._colSourcePersonRestrictionId
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
protected ArchiveColumnInfo _colSourcePersonRestrictionId
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system._colSourceProjectRestrictionId
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
protected ArchiveColumnInfo _colSourceProjectRestrictionId
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system._colSourceSaleRestrictionId
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
protected ArchiveColumnInfo _colSourceSaleRestrictionId
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system._colSourceSelectionRestrictionId
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
protected ArchiveColumnInfo _colSourceSelectionRestrictionId
Field Value
Type | Description |
---|---|
ArchiveColumnInfo |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system._numDestinationRestrictions
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
protected int _numDestinationRestrictions
Field Value
Type | Description |
---|---|
int |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system._relationsTable
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
protected RelationsTableInfo _relationsTable
Field Value
Type | Description |
---|---|
RelationsTableInfo |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system.Properties
PrimaryTable
Get the table of the root extender
Declaration
public override TableInfo PrimaryTable { get; }
Property Value
Type | Description |
---|---|
TableInfo |
Overrides
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system.TableToExtend
The primary table of this archive provider
Declaration
public override TableInfo TableToExtend { get; }
Property Value
Type | Description |
---|---|
TableInfo |
Overrides
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system.Methods
InnerMapFields()
Override this method to map query fields to columns, add additional return fields to the query, and set up custom restriction handling
Declaration
public override void InnerMapFields()
Overrides
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system.InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
Override: Set row navigation based on the entity name and row primary key
Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
Type | Name | Description |
---|---|---|
SoDataReader | reader | |
ArchiveRow | row |
Overrides
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system.ProcessRestrictions()
Override: Process one (1) source restriction, via the base class and CustomBinding mechanism of the RestrictionHelper.
Declaration
protected override bool ProcessRestrictions()
Returns
Type | Description |
---|---|
bool |
Overrides
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system.ProcessSourceRestriction(TableInfo, ArchiveRestrictionInfo, ArchiveSelect)
Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.
Declaration
protected abstract void ProcessSourceRestriction(TableInfo sourceTable, ArchiveRestrictionInfo restriction, ArchiveSelect targetQuery)
Parameters
Type | Name | Description |
---|---|---|
TableInfo | sourceTable | |
ArchiveRestrictionInfo | restriction | |
ArchiveSelect | targetQuery |
Remarks
This class processes the sourceXXX restrictions and sets up the join to the relations table, as well as setting default link hints on the generated rows. These providers are the ones used to retrieve the Links archives initially. The Web client will then parse the rows and switch to use ByDestination addressing, which is what is needed to Edit the Links archive, based on state maintained by the client.
The Extenders used for BySource addressing derive directly from the respective bases (such as SaleExtenderBase), since they are connected to a query on a different table (relations, for the links). ByDestination addressing uses root extenders (such as SaleSaleExtender), since the restriction applies directly to the table we'll be fetching from. To support bidirectional link fetching, we subclass into Left and Right variants, each with a corresponding Extender. The Extnder handles joingin and population, while the Left and Right provider subclasses handle restrictions. It's still BySource as seen by the LinksProvider system.