Class ProjectGuideSubProviderBase<RootExtender>
Common base class for the Appointment and Document providers for Project Guide items
Inheritance
System.Object
ProjectGuideSubProviderBase<RootExtender>
Assembly: SoDataBase.dll
Syntax
public abstract class ProjectGuideSubProviderBase<RootExtender> : TypedQueryProviderBase<ArchiveRow, RootExtender>, IArchiveProviderQueryMapping, IArchiveQueryProvider, IArchiveProviderExtensible, IArchiveTypedProvider<ArchiveRow>, IArchiveTypedProviderBase, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities, IPlugin where RootExtender : IArchiveExtender, new()
Type Parameters
Name |
Description |
RootExtender |
|
Constructors
ProjectGuideSubProviderBase(ArchiveRowTypeInfo)
Declaration
public ProjectGuideSubProviderBase(ArchiveRowTypeInfo rowType)
Parameters
Fields
_colId
Declaration
protected ArchiveColumnInfo _colId
Field Value
OnlyInstanceEntityName
Declaration
public const string OnlyInstanceEntityName = "onlyInstance"
Field Value
Type |
Description |
System.String |
|
Properties
InhibitDistinctPrimaryKeys
We change entities on the fly and should not really need to do this??
Declaration
public override bool InhibitDistinctPrimaryKeys { get; }
Property Value
Type |
Description |
System.Boolean |
|
Overrides
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.InhibitDistinctPrimaryKeys
InstanceTable
Get the specific instance table - either appointment or document
Declaration
protected abstract TableInfo InstanceTable { get; }
Property Value
TableToExtend
Declaration
public override TableInfo TableToExtend { get; }
Property Value
Overrides
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.TableToExtend
Methods
AcceptRow(SoDataReader)
Override: Filter out rows where the stagelinkinfo.deleted != 0, provided they have no instance
Declaration
protected override bool AcceptRow(SoDataReader reader)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Overrides
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.AcceptRow(SuperOffice.Data.SoDataReader)
GetInsertRight(Int32)
Get the Insert right, based on the current project owner
Declaration
protected abstract TableRight GetInsertRight(int ownerAssociate)
Parameters
Type |
Name |
Description |
System.Int32 |
ownerAssociate |
owner associate to use
|
Returns
GetInstanceAppointment()
Get the appointment instance table
Declaration
protected AppointmentTableInfo GetInstanceAppointment()
Returns
HasInstance(SoDataReader)
Declaration
protected bool HasInstance(SoDataReader reader)
Parameters
Returns
Type |
Description |
System.Boolean |
|
InnerMapFields()
Override: Make sure we have the project associate ID field, and map the project id
Declaration
public override void InnerMapFields()
Overrides
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.InnerMapFields()
InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
Override: Use the instance table and insert rights from the subclass to calculate the correct
table rights.
Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
Overrides
SuperOffice.CRM.ArchiveLists.TypedQueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow, RootExtender>.InnerPopulateRowFromReader(SuperOffice.Data.SoDataReader, SuperOffice.CRM.ArchiveLists.ArchiveRow)
PostProcessQuery()
Declaration
public override void PostProcessQuery()
Overrides
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.PostProcessQuery()
RequiredPhaseOneFields()
Make sure the fields we need in AcceptRow are always present in the phase-one version of the query
Declaration
protected override FieldInfo[] RequiredPhaseOneFields()
Returns
Overrides
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.RequiredPhaseOneFields()
Implements
Extension Methods
EnumUtil.MapEnums<From, To>(From)