Class ProjectMemberAssociateProvider
Inheritance
ProjectMemberAssociateProvider
Assembly: SoDataBase.BusinessLogic.dll
Syntax
[ArchiveProvider("ProjectMemberAssociate", 1073741823)]
public class ProjectMemberAssociateProvider : QueryProviderBase<ArchiveRow>, IArchiveProviderQueryMapping, IArchiveQueryProvider, IArchiveProviderExtensible, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities
Constructors
ProjectMemberAssociateProvider()
Declaration
public ProjectMemberAssociateProvider()
Fields
ColumnStatus
Declaration
public const string ColumnStatus = "conflictStatus"
Field Value
Declaration
public const string EndTimeInformation = "endTimeInformation"
Field Value
EntityName
Declaration
public const string EntityName = "ProjectMember"
Field Value
HideConflictEntity
Declaration
public const string HideConflictEntity = "hideConflict"
Field Value
ProviderName
Declaration
public const string ProviderName = "ProjectMemberAssociate"
Field Value
Declaration
public const string StartTimeInformation = "startTimeInformation"
Field Value
_colFullName
Declaration
protected ArchiveColumnInfo _colFullName
Field Value
_colFunction
Declaration
protected ArchiveColumnInfo _colFunction
Field Value
_colNameAndDepartment
Declaration
protected ArchiveColumnInfo _colNameAndDepartment
Field Value
_colProjectId
Declaration
protected ArchiveColumnInfo _colProjectId
Field Value
_colStatus
Declaration
protected ArchiveColumnInfo _colStatus
Field Value
Properties
PrimaryTable
The primary table of this archive provider, from the derived class
Declaration
public override TableInfo PrimaryTable { get; }
Property Value
Overrides
Query
The main query of this archive provider, from the derived class
Declaration
public override ArchiveSelect Query { get; }
Property Value
Overrides
RootExtenders
Implement this property to return the extender(s) that form the root of the query tree, or null if that
is not meaningful. This property is used by the dynamic column processing, which will fail and throw
an exception if null is returned here (no problem if dynamic column syntax is not used)
Declaration
protected override List<IArchiveExtender> RootExtenders { get; }
Property Value
Overrides
Methods
InnerMapFieldsAsync(CancellationToken)
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 Task InnerMapFieldsAsync(CancellationToken cancellationToken = default)
Parameters
Returns
Overrides
InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
Derived classes should implement the population of ColumnData items for columns
that are NOT handled by this base class in this method. Whether a column is handled by
this base class is part of its database binding information, set by the various MapXXX methods.
Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
| Type |
Name |
Description |
| SoDataReader |
reader |
Data reader with the query result (one row)
|
| ArchiveRow |
row |
archive row to be populated
|
Overrides
PostProcessQuery()
This method is called after ModifyQuery has been called on all extenders, but before the query is
executed. It is used for processing that needs the query to be 'complete' from the extenders,
and gives the opportunity to tweak it, for instance by adding return fields needed for some
particular functionality.
Declaration
public override void PostProcessQuery()
Overrides
PostProcessRow(SoDataReader, ArchiveRow)
This method is a hook that can be used by derived classes to post-process
rows. It is called after all extenders have fetched their data and populated the row.
Declaration
protected override void PostProcessRow(SoDataReader _reader, ArchiveRow row)
Parameters
Overrides
SetDesiredEntities(params string[])
Declaration
public override void SetDesiredEntities(params string[] entities)
Parameters
| Type |
Name |
Description |
| string[] |
entities |
Names of desired entities
|
Overrides
SetRestriction(params ArchiveRestrictionInfo[])
Set the restriction by calling the base class and InnerSetRestriction; take this opportunity to note
that a restriction has actually been set, so we can report cases of totally missing restrictions
(which is not acceptable as it might end up fetching the whole database)
Declaration
public override bool SetRestriction(params ArchiveRestrictionInfo[] restrictions)
Parameters
Returns
Overrides
Implements
Extension Methods