Show / Hide Table of Contents

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
Object
MultiQueryProviderBase
ActivityArchiveProviderBase
ActivityArchiveProvider
ContactActivityArchiveProvider
DiaryActivityArchiveProvider
PersonActivityArchiveProvider
ProjectActivityArchiveProvider
SaleActivityArchiveProvider
Implements
IArchiveMultiQueryProvider
IArchiveProvider
IArchiveProviderHasRows
IArchiveProviderHasColumns
IArchiveProviderHasEntities
Inherited Members
MultiQueryProviderBase.InnerPopulateRow(ArchiveRow)
MultiQueryProviderBase.AcceptRow(ArchiveRow)
MultiQueryProviderBase.PreGetRows()
MultiQueryProviderBase.GetFinalRowCount()
MultiQueryProviderBase.AddSubProvider<ProviderType>(ProviderType)
MultiQueryProviderBase.RemoveSubProvider<ProviderType>(ProviderType)
MultiQueryProviderBase.SetRestrictionAndDropUnrestrictedProviders(ArchiveRestrictionInfo[])
MultiQueryProviderBase.CreateAndAddProviders(MultiQueryProviderBase.AddProviderInfo[])
MultiQueryProviderBase.Close()
MultiQueryProviderBase.GetReader(String)
MultiQueryProviderBase.GetResultInformation()
MultiQueryProviderBase.SetPagingInfo(Int32, Int32)
MultiQueryProviderBase.GetAvailableColumns()
MultiQueryProviderBase.SetDesiredColumns(String[])
MultiQueryProviderBase.SetOrderBy(ArchiveOrderByInfo[])
MultiQueryProviderBase.GetAvailableEntities()
MultiQueryProviderBase.InhibitParallelStart
MultiQueryProviderBase.Options
MultiQueryProviderBase.OrderBy
MultiQueryProviderBase.InhibitDistinctPrimaryKeys
MultiQueryProviderBase.OrderByRequiresAll
MultiQueryProviderBase.RestrictionRequiresAll
MultiQueryProviderBase.OrderByRequired
MultiQueryProviderBase.RestrictionHelper
MultiQueryProviderBase.ColumnHelper
MultiQueryProviderBase.PageSize
MultiQueryProviderBase.PageNumber
MultiQueryProviderBase.HaveReadToEnd
MultiQueryProviderBase.Providers
MultiQueryProviderBase.DebugXML
Namespace: SuperOffice.CRM.ArchiveLists
Assembly: SoDataBase.dll
Syntax
public abstract class ActivityArchiveProviderBase : MultiQueryProviderBase, IArchiveMultiQueryProvider, IArchiveProvider, IArchiveProviderHasRows, IArchiveProviderHasColumns, IArchiveProviderHasEntities, IPlugin
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
Disabled entities means simply that the provider behaves as if they were not specified in the SetDesiredEntities(String[]) call, and no such rows will be returned. This functionality is fairly logical, and better than the default behaviour would have been: return appointment row as specified, and all document rows that match all the other criteria.

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
Disabled entities means simply that the provider behaves as if they were not specified in the SetDesiredEntities(String[]) call, and no such rows will be returned. This functionality is fairly logical, and better than the default behaviour would have been: return appointment row as specified, and all document rows that match all the other criteria.

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
Disabled entities means simply that the provider behaves as if they were not specified in the SetDesiredEntities(String[]) call, and no such rows will be returned. This functionality is fairly logical, and better than the default behaviour would have been: return appointment row as specified, and all document rows that match all the other criteria.

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
Disabled entities means simply that the provider behaves as if they were not specified in the SetDesiredEntities(String[]) call, and no such rows will be returned. This functionality is fairly logical, and better than the default behaviour would have been: return appointment row as specified, and all document rows that match all the other criteria.

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
Disabled entities means simply that the provider behaves as if they were not specified in the SetDesiredEntities(String[]) call, and no such rows will be returned. This functionality is fairly logical, and better than the default behaviour would have been: return appointment row as specified, and all document rows that match all the other criteria.

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
Disabled entities means simply that the provider behaves as if they were not specified in the SetDesiredEntities(String[]) call, and no such rows will be returned. This functionality is fairly logical, and better than the default behaviour would have been: return appointment row as specified, and all document rows that match all the other criteria.

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
Disabled entities means simply that the provider behaves as if they were not specified in the SetDesiredEntities(String[]) call, and no such rows will be returned. This functionality is fairly logical, and better than the default behaviour would have been: return appointment row as specified, and all document rows that match all the other criteria.

Methods

GetRows(String)

Override: remove the Retired (always) and Expired (if preference says so) style hints

Declaration
public override IEnumerable<ArchiveRow> GetRows(string options)
Parameters
Type Name Description
String options
Returns
Type Description
IEnumerable<ArchiveRow>
Overrides
MultiQueryProviderBase.GetRows(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
Disabled entities means simply that the provider behaves as if they were not specified in the SetDesiredEntities(String[]) call, and no such rows will be returned. This functionality is fairly logical, and better than the default behaviour would have been: return appointment row as specified, and all document rows that match all the other criteria.

SetDesiredEntities(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
MultiQueryProviderBase.SetDesiredEntities(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
Disabled entities means simply that the provider behaves as if they were not specified in the SetDesiredEntities(String[]) call, and no such rows will be returned. This functionality is fairly logical, and better than the default behaviour would have been: return appointment row as specified, and all document rows that match all the other criteria.

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
Boolean
Overrides
MultiQueryProviderBase.SetRestriction(ArchiveRestrictionInfo[])
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
Disabled entities means simply that the provider behaves as if they were not specified in the SetDesiredEntities(String[]) call, and no such rows will be returned. This functionality is fairly logical, and better than the default behaviour would have been: return appointment row as specified, and all document rows that match all the other criteria.

Implements

IArchiveMultiQueryProvider
IArchiveProvider
IArchiveProviderHasRows
IArchiveProviderHasColumns
IArchiveProviderHasEntities

Extension Methods

EnumUtil.MapEnums<From, To>(From)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top