Class ActivityArchiveProviderBase
Base class for Activity archive providers. Activity archives can be found under the Company card, the Project card, and the Diary. These archives follow slightly different rules with regard to filtering along the axes of date, kind, repetition and booking type, as indicated by the ActivityArchiveKind parameter from the subclasses.
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.BusinessLogic.dll
Syntax
public abstract class ActivityArchiveProviderBase : MultiQueryProviderBase, IArchiveMultiQueryProvider, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities
Remarks
This provider accepts the row types 'appointment', 'todo' and 'document'. However, there is, in this provider, a relationship between entities and restrictions, as follows:
- If the restriction 'appointmentId' is present, then the 'document' entity will be disabled
- If the restriction 'documentId' is present, then the 'appointment' and 'todo' entities will be disabled
Constructors
ActivityArchiveProviderBase(ActivityArchiveKind, string)
Base class for Activity archive providers. Activity archives can be found under the Company card, the Project card, and the Diary. These archives follow slightly different rules with regard to filtering along the axes of date, kind, repetition and booking type, as indicated by the ActivityArchiveKind parameter from the subclasses.
Declaration
protected ActivityArchiveProviderBase(ActivityArchiveKind kind, string requiredNonZeroIdRestrictionName = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ActivityArchiveKind | kind | |
| string | requiredNonZeroIdRestrictionName |
Remarks
This provider accepts the row types 'appointment', 'todo' and 'document'. However, there is, in this provider, a relationship between entities and restrictions, as follows:
- If the restriction 'appointmentId' is present, then the 'document' entity will be disabled
- If the restriction 'documentId' is present, then the 'appointment' and 'todo' entities will be disabled
Fields
EntityAppointment
Base class for Activity archive providers. Activity archives can be found under the Company card, the Project card, and the Diary. These archives follow slightly different rules with regard to filtering along the axes of date, kind, repetition and booking type, as indicated by the ActivityArchiveKind parameter from the subclasses.
Declaration
public const string EntityAppointment = "appointment"
Field Value
| Type | Description |
|---|---|
| string |
Remarks
This provider accepts the row types 'appointment', 'todo' and 'document'. However, there is, in this provider, a relationship between entities and restrictions, as follows:
- If the restriction 'appointmentId' is present, then the 'document' entity will be disabled
- If the restriction 'documentId' is present, then the 'appointment' and 'todo' entities will be disabled
EntityDocument
Base class for Activity archive providers. Activity archives can be found under the Company card, the Project card, and the Diary. These archives follow slightly different rules with regard to filtering along the axes of date, kind, repetition and booking type, as indicated by the ActivityArchiveKind parameter from the subclasses.
Declaration
public const string EntityDocument = "document"
Field Value
| Type | Description |
|---|---|
| string |
Remarks
This provider accepts the row types 'appointment', 'todo' and 'document'. However, there is, in this provider, a relationship between entities and restrictions, as follows:
- If the restriction 'appointmentId' is present, then the 'document' entity will be disabled
- If the restriction 'documentId' is present, then the 'appointment' and 'todo' entities will be disabled
EntityMailing
Base class for Activity archive providers. Activity archives can be found under the Company card, the Project card, and the Diary. These archives follow slightly different rules with regard to filtering along the axes of date, kind, repetition and booking type, as indicated by the ActivityArchiveKind parameter from the subclasses.
Declaration
public const string EntityMailing = "mailing"
Field Value
| Type | Description |
|---|---|
| string |
Remarks
This provider accepts the row types 'appointment', 'todo' and 'document'. However, there is, in this provider, a relationship between entities and restrictions, as follows:
- If the restriction 'appointmentId' is present, then the 'document' entity will be disabled
- If the restriction 'documentId' is present, then the 'appointment' and 'todo' entities will be disabled
EntityOther
Base class for Activity archive providers. Activity archives can be found under the Company card, the Project card, and the Diary. These archives follow slightly different rules with regard to filtering along the axes of date, kind, repetition and booking type, as indicated by the ActivityArchiveKind parameter from the subclasses.
Declaration
public const string EntityOther = "other"
Field Value
| Type | Description |
|---|---|
| string |
Remarks
This provider accepts the row types 'appointment', 'todo' and 'document'. However, there is, in this provider, a relationship between entities and restrictions, as follows:
- If the restriction 'appointmentId' is present, then the 'document' entity will be disabled
- If the restriction 'documentId' is present, then the 'appointment' and 'todo' entities will be disabled
EntityToDo
Base class for Activity archive providers. Activity archives can be found under the Company card, the Project card, and the Diary. These archives follow slightly different rules with regard to filtering along the axes of date, kind, repetition and booking type, as indicated by the ActivityArchiveKind parameter from the subclasses.
Declaration
public const string EntityToDo = "todo"
Field Value
| Type | Description |
|---|---|
| string |
Remarks
This provider accepts the row types 'appointment', 'todo' and 'document'. However, there is, in this provider, a relationship between entities and restrictions, as follows:
- If the restriction 'appointmentId' is present, then the 'document' entity will be disabled
- If the restriction 'documentId' is present, then the 'appointment' and 'todo' entities will be disabled
IconCommon
Base class for Activity archive providers. Activity archives can be found under the Company card, the Project card, and the Diary. These archives follow slightly different rules with regard to filtering along the axes of date, kind, repetition and booking type, as indicated by the ActivityArchiveKind parameter from the subclasses.
Declaration
public const string IconCommon = "Activity"
Field Value
| Type | Description |
|---|---|
| string |
Remarks
This provider accepts the row types 'appointment', 'todo' and 'document'. However, there is, in this provider, a relationship between entities and restrictions, as follows:
- If the restriction 'appointmentId' is present, then the 'document' entity will be disabled
- If the restriction 'documentId' is present, then the 'appointment' and 'todo' entities will be disabled
Methods
GetRowsAsync(string, CancellationToken)
Override: remove the Retired (always) and Expired (if preference says so) style hints
Declaration
public override IAsyncEnumerable<ArchiveRow> GetRowsAsync(string options, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| string | options | |
| CancellationToken | cancellationToken |
Returns
| Type | Description |
|---|---|
| IAsyncEnumerable<ArchiveRow> |
Overrides
Remarks
This provider accepts the row types 'appointment', 'todo' and 'document'. However, there is, in this provider, a relationship between entities and restrictions, as follows:
- If the restriction 'appointmentId' is present, then the 'document' entity will be disabled
- If the restriction 'documentId' is present, then the 'appointment' and 'todo' entities will be disabled
SetDesiredEntities(params string[])
Override: Intercept and store desired entities; they will be set on base class from the GetRows method to take possible disabled entities into account
Declaration
public override void SetDesiredEntities(params string[] entities)
Parameters
| Type | Name | Description |
|---|---|---|
| string[] | entities |
Overrides
Remarks
This provider accepts the row types 'appointment', 'todo' and 'document'. However, there is, in this provider, a relationship between entities and restrictions, as follows:
- If the restriction 'appointmentId' is present, then the 'document' entity will be disabled
- If the restriction 'documentId' is present, then the 'appointment' and 'todo' entities will be disabled
SetRestriction(ArchiveRestrictionInfo[])
Override: track restrictions to see if appointmentId or documentId has been set
Declaration
public override bool SetRestriction(ArchiveRestrictionInfo[] restrictions)
Parameters
| Type | Name | Description |
|---|---|---|
| ArchiveRestrictionInfo[] | restrictions |
Returns
| Type | Description |
|---|---|
| bool |
Overrides
Remarks
This provider accepts the row types 'appointment', 'todo' and 'document'. However, there is, in this provider, a relationship between entities and restrictions, as follows:
- If the restriction 'appointmentId' is present, then the 'document' entity will be disabled
- If the restriction 'documentId' is present, then the 'appointment' and 'todo' entities will be disabled