Class UsersProviderBase
Archive provider for the list of users in SoAdmin, including dynamic license columns
Inheritance
UsersProviderBase
Assembly: SoDataBase.dll
Syntax
public abstract class UsersProviderBase : TypedQueryProviderBase<ArchiveRow, AssociateAssociateExtender>, IArchiveProviderQueryMapping, IArchiveQueryProvider, IArchiveProviderExtensible, IArchiveTypedProvider<ArchiveRow>, IArchiveTypedProviderBase, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities, IPlugin
Constructors
UsersProviderBase()
Declaration
protected UsersProviderBase()
Fields
_colCanLogin
Declaration
protected ArchiveColumnInfo _colCanLogin
Field Value
_colUserplan
Declaration
protected ArchiveColumnInfo _colUserplan
Field Value
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
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
Declaration
public override bool InhibitDistinctPrimaryKeys { get; }
Property Value
Overrides
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.InhibitDistinctPrimaryKeys
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
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.AcceptRow(SuperOffice.Data.SoDataReader)
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
InnerMapFields()
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 void InnerMapFields()
Overrides
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.InnerMapFields()
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
SuperOffice.CRM.ArchiveLists.TypedQueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow, SuperOffice.CRM.ArchiveLists.AssociateAssociateExtender>.InnerPopulateRowFromReader(SuperOffice.Data.SoDataReader, SuperOffice.CRM.ArchiveLists.ArchiveRow)
PostProcessQuery()
Manipulate the query according to various rules and filters
Declaration
public override void PostProcessQuery()
Overrides
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.PostProcessQuery()
RequiredPhaseOneFields()
Declaration
protected override FieldInfo[] RequiredPhaseOneFields()
Returns
Overrides
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.RequiredPhaseOneFields()
SetDesiredEntities(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
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.SetDesiredEntities(System.String[])
SetRestriction(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
SuperOffice.CRM.ArchiveLists.QueryProviderBase<SuperOffice.CRM.ArchiveLists.ArchiveRow>.SetRestriction(SuperOffice.CRM.ArchiveLists.ArchiveRestrictionInfo[])
Implements
Extension Methods
EnumUtil.MapEnums<From, To>(From)