Class UsersProviderBase
Archive provider for the list of users in SoAdmin, including dynamic license columns
Inheritance
UsersProviderBase
Assembly: SoDataBase.BusinessLogic.dll
Syntax
public abstract class UsersProviderBase : TypedQueryProviderBase<ArchiveRow, AssociateAssociateExtender>, IArchiveProviderQueryMapping, IArchiveQueryProvider, IArchiveProviderExtensible, IArchiveTypedProvider<ArchiveRow>, IArchiveTypedProviderBase, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities
Constructors
UsersProviderBase()
Declaration
protected UsersProviderBase()
Fields
RowTypeAllName
Declaration
public const string RowTypeAllName = "all"
Field Value
RowTypeExpiredName
Declaration
public const string RowTypeExpiredName = "expired"
Field Value
RowTypeLoggedOnWin
Declaration
public const string RowTypeLoggedOnWin = "loggedOnWin"
Field Value
RowTypePotentialName
Declaration
public const string RowTypePotentialName = "potential"
Field Value
RowTypeRetired
Declaration
public const string RowTypeRetired = "retired"
Field Value
_colCanLogin
Declaration
protected ArchiveColumnInfo _colCanLogin
Field Value
_colUserplan
Declaration
protected ArchiveColumnInfo _colUserplan
Field Value
Properties
FilterAssocTypes
Subclass contract: Tell us which associate types you want to deal with; this will influence what licenses are retrieved
Declaration
protected abstract UserType[] FilterAssocTypes { get; }
Property Value
| Type |
Description |
| SuperOffice.License.UserType |
|
FilterColumns
Subclass contract: Tell us if there are any columns that you want to filter out
Declaration
protected virtual string[] FilterColumns { get; }
Property Value
InhibitDistinctPrimaryKeys
Override this property and return TRUE if you wish to disable the check for distinct primary keys. This will save some time
and space, at the cost of potential duplicate rows that would otherwise have been discarded
Declaration
public override bool InhibitDistinctPrimaryKeys { get; }
Property Value
Overrides
Methods
AcceptRow(SoDataReader)
Accept only those associates that have at least one of the desired rowtype licenses
Declaration
protected override bool AcceptRow(SoDataReader reader)
Parameters
Returns
Overrides
GetAvailableColumns()
Override: Get rid of available columns that the concrete class says it does not want/support
Declaration
public override List<ArchiveColumnInfo> GetAvailableColumns()
Returns
Overrides
InnerMapFieldsAsync(CancellationToken)
Base class handles all standard columns. Our functionality is to determine which modules we're interested in (sum of
desired columns and row types), and populate the licenses-per-associate cache
Declaration
public override Task InnerMapFieldsAsync(CancellationToken cancellationToken = default)
Parameters
Returns
Overrides
InnerPopulateRowFromReader(SoDataReader, ArchiveRow)
Populate dynamic columns according to the cached who-has-which-license (SuperOffice.CRM.ArchiveLists.UsersProviderBase._assocLicenses)
Declaration
protected override void InnerPopulateRowFromReader(SoDataReader reader, ArchiveRow row)
Parameters
Overrides
PostProcessQuery()
Manipulate the query according to various rules and filters
Declaration
public override void PostProcessQuery()
Overrides
RequiredPhaseOneFields()
Return the FieldInfo fields needed by AcceptRow(SoDataReader), so that the query rewriter does not drop them.
Implement this method IFF you implement AcceptRow.
Declaration
protected override FieldInfo[] RequiredPhaseOneFields()
Returns
Overrides
SetDesiredEntities(params string[])
Prune the desired row types dictionary so it only contains elements corresponding to desired entities
Declaration
public override void SetDesiredEntities(params string[] entities)
Parameters
| Type |
Name |
Description |
| string |
entities |
|
Overrides
SetRestriction(params ArchiveRestrictionInfo[])
Override: Determine if a contact_id restriction is present, in which case we do not add a join to ownercontactlink
for potential users
Declaration
public override bool SetRestriction(params ArchiveRestrictionInfo[] restrictions)
Parameters
Returns
Overrides
Implements
Extension Methods