Show / Hide Table of Contents

Namespace SuperOffice.CRM.ArchiveLists

Classes

ActivityArchiveKind

Activity archives have many different rules on what lines are shown when, for instance filtering of bookings, done today vs done earlier, etc. This enum lists the different kinds of activity archive, and each provider implements its handling of the rules.

ActivityArchiveProvider

Activity archive provider that performs no filtering. This archive is not present anywhere in the standard six.web GUI.

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.

ActivityExtenderBase<Info>

ActivityProviderBase<RootExtender>

ActivityProviderBase<RootExtender>.DoneNotDoneFilter

Enum for done today/not done filtering logic

AddressExtenderBase

Base class for fetching data from the Address table - no special processing at all

AllUsersProvider

Concrete provider for all kinds of users, unfiltered. See UsersProviderBase for the actual functionality of the provider.

AppointmentAcceptedNotificationExtender

AppointmentAcceptedNotificationSubProvider

AppointmentAppointmentExtender

This class essentially converts a Appointment extender into a primary query provider, suitable for use in the Appointment Archive as the root query provider. This is done by having the SetJoin method return a free-standing AppointmentTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

AppointmentAssociateExtender

This class extends a Appointment archive provider extender with the responsible associate

AppointmentCancelledNotificationExtender

AppointmentCancelledNotificationSubProvider

AppointmentContactExtender

Extend a Appointment extender with a Contact extender, to provide the Contact columns related to a Appointment.

AppointmentDocumentExtender

Implements the joiner for appointments and documents

AppointmentExtenderBase

Base extender class that handles appointments. Depending on the requested, this extender will create and link other extenders for related data - potentially quite deep.

AppointmentExtenderBase.Features

AppointmentFavouritesProvider

AppointmentNewNotificationExtender

Case:

  • Retrieve the mother-appointmentid;
  • Where we are not the owner of the booking, i.e. we are a child appointment;
  • Status of our child appointment is Booking/BookingSeen/Assignment/AssignmentSeen.

AppointmentNewNotificationSubProvider

AppointmentNotificationAggregatorExtender

AppointmentNotificationAggregatorProvider

AppointmentNotificationExtenderBase

AppointmentNotificationProvider

AppointmentNotificationProvider.RowHistory

Data used to compare rows. Used to determine when to show a notification for a row, or if it's similar enough to a previously observed row that we do not need to show a new notification for it.

AppointmentNotificationSubAggregatorProvider

DEPRECATED, AppointmentNotificationAggregatorProvider for current implementation. Aggregates all subproviders, doing some work on linkhints.

AppointmentNotificationSubExtenderBase

AppointmentPersonExtender

Extend an Appointment extender with a Person extender, to provide the person columns related to a Appointment.

AppointmentProjectExtender

Extend a Appointment extender with a Project extender, to provide the Project columns related to a Appointment.

AppointmentProvider

Activity archive provider which handles appointments

AppointmentProviderBase<RootExtender>

Base class for appointment providers, containing the logic that implements the special rules, such as done today or preference-based booking filters. Derived classes must call the ProcessKindRestrictions(ActivityArchiveKind) method from their to activate the functionality.

AppointmentPublishExtender

Extend a Appointment extender with a Publish extender, to provide the Publish columns related to a Appointment.

AppointmentRejectedNotificationExtender

AppointmentRejectedNotificationSubProvider

AppointmentSaleExtender

Extend a Appointment extender with a sale extender, to provide the sale columns related to a Appointment.

AppointmentTextExtender

This class extends a Appointment archive provider extender with the text field

AppointmentUdefExtender

This class extends a Appointment archive provider extender with udef fields

AppointmentUpdatedNotificationExtender

AppointmentUpdatedNotificationSubProvider

AppointmentVisibleForExtender

This class extends a Appointment extender with the VisibleFor fields, for both display and restriction use

ApSmAppointmentExtender

This class is a root extender based on Appointment with the added functionality that it instantiates a GenericTargetSelectionMemberExtender. Thus giving us the appointment data based on a static appointment selection.

ArchiveActivityLinksRow

ArchiveActivityRow

ArchiveColumnComparer

ArchiveColumnData

Data carrier class for an item (cell) in an archive. This class contains properties and members for three distinct values: The (visible) display value; the tooltip hint, and the link hint.

ArchiveColumnInfo

This class carries information about the definition and properties of an archive display column. It is used by the archive MDO providers to construct column lists for the configuration dialogs, and by the archive control to know what type (and other properties) each column has. The class is serializable and used on both the application and Web server sides.

ArchiveConfigurationHelper

This class provides functionality for fetching and saving the current configuration of a particular archive gui control and its parent data provider. It is the standard, but not mandatory, source and sink of such configuration data. It is also the sink for the result of the archive configuration dialog (both the display and orderby tabs).

ArchiveConfigurationProviderBase

This base class provides common functionality for Dynamic MDO list providers that convert the list of supported columns or list of supported entities of an IArchiveProvider into MDO lists for use in a selection GUI. Derived classes provide functionality specific to column and entity lists, and further derivation brings us to the concrete level that also splices in current configuration data, if known.

ArchiveControlEventHandlerAttribute

This attribute marks an event handler for operations on custom archive rows - see , which is the interface that event handlers need to implement

ArchiveCriteriaRow

ArchiveEntitiesProviderBase

ArchiveExtenderAttribute

This attribute marks an archive provider extender, i.e., a class that adds columns to an existing provider by joining in additional tables. Extenders are themselves extensible, enabling arbitrary chains. Note that the complexity of the query will keep growing, too. A class marked with this attribute must implement the IArchiveExtender interface. The class is a recommended base class.

ArchiveExtenderExtenderAttribute

This attribute marks an archive extender extender, i.e., a class that adds columns to an existing provider by joining in additional tables. Extenders are themselves extensible, enabling arbitrary chains. Note that the complexity of the query will keep growing, too. A class marked with this attribute must implement the IArchiveExtender interface. The class is a recommended base class.

ArchiveFindAppointmentRow

ArchiveFindContactRow

ArchiveFindDocumentRow

ArchiveFindSaleRow

ArchiveFreetextCountRow

ArchiveInvitationRow

ArchiveOrderByInfo

This class carries information about an ordering criterion for an archive

ArchiveProjectRow

ArchiveProviderAttribute

This attribute marks an externally visible provider, to be accessed through the provider factory. A class marked with this attribute must implement the IArchiveProvider interface. The class is a recommended base class.

ArchiveProviderFactory

This is the class factory for Archive Providers. It uses the SuperOffice.Factory.PluginFactory class together with the ArchiveProviderAttribute to identify classes that implement the IArchiveProvider interface. These are ordered by priority, the lowest value wins for any particular provider name. The system-standard providers all have priority int.MaxValue/2 so they are in the middle of the possible range.

ArchiveProviderFactory.ArchiveProviderCache

ArchiveRestrictionGroup

This class carries information about a group of restrictions

ArchiveRestrictionInfo

This class carries information about a restriction on the query of an archive provider

ArchiveResultInformation

Container for additional results from an archive provider

ArchiveRow

This class carries the data of one archive row

ArchiveRowComparer

ArchiveRowIteratorComparer

Comparer class used to compare two ArchiveRow objects according to the given orderby criteria. The purpose of this class is to take the .Current element of each iterator and pass it to the ArchiveRowComparer, which handles the actual work. All remarks for that class are valid here as well.

ArchiveRowParent

ArchiveRowTypeInfo

This class carries information about one archive entity

ArchiveSelect

To implement parsing of more complex queries, the Archive Providers need to handle a combination of a "real" query and a place to hold expansions of individual restrictions until they can be put together properly. This class is the vehicle for that. See RestrictionParsingHelper for details.

ArchiveSelectionRow

ArchiveSubProviderAttribute

This attribute marks an archive sub provider, i.e., a class that adds rows to an archive. It may declare its own entity name, or use an existing one if this makes more sense in the GUI. A class marked with this attribute must implement the IArchiveProvider interface. Its parent must be of type IArchiveMultiQueryProvider in order to accept sub providers. The class MultiQueryProviderBase is a recommended base class.

AssignResponseInvitationExtender

Extender that fetches assignments that I have made and the assigned party has rejected back to me

AssignResponseInvitationProvider

This is the query provider for invitations, of subtype 'Response'

AssociateAssociateExtender

AssociateExtenderBase

Extender for fetching associate information.

AssociateExtenderBase.Features

AssociateInvitationExtenderBase

AssociateProjectsExtender

AssociateProjectsProvider

AssociateResourceExtender

AttachmentExtenderBase

BatchTaskBatchTaskExtender

Root extender for Batch tasks - list all batch tasks in table

BatchTaskExtenderBase

BatchTaskProvider

Archive of Batch Tasks - used by the web api and partners. Lists all batch tasks

BookingParticipantsAssociateProvider

Single provider channel for the Participants archives. This channel represents Associates (not resource or external person), specified indirectly through a reference to a booking row in appointment (not by explicit id, see the ExplicitParticipantsAssociateProvider class for this counterpart).

BookingParticipantsExternalPersonProvider

Single provider channel for the Participants archives. This channel represents Persons (that are not associates in any way), specified through a reference to a booking row in appointment (not by explicit id, see the ExplicitParticipantsExternalPersonProvider for this counterpart).

BookingParticipantsProvider

Combiner class for Participants providers, of the Booking sort. That is, participants (associate, resource or external person) specified indirectly through references to booking rows in the appointment table.

BookingParticipantsResourceProvider

Single provider channel for the Participants archives. This channel represents Resources, specified indirectly through a reference to a booking row in appointment (not by explicit id, see the ExplicitParticipantsResourceProvider class for this counterpart).

BookingResponseInvitationExtender

Extender that fetches negative responses to my invitations (not invitations that I myself have rejected)

BookingResponseInvitationProvider

This is the query provider for invitations, of subtype 'Response'

BufferedQueryProviderBase<RowType, InnerProviderType>

BulkUpdateResults

CachedQUeryProviderPreferences

CancelledInvitationExtender

Extender that fetches invitations to meetings that have been cancelled (I am the one invited, not the inviter). The Dialog or someone else - anyone except this fetcher - is responsible for sooner or later deleting these records. In the windows GUI the records are deleted by the Invitation dialog on exit.

CancelledInvitationProvider

This is the query provider for invitations, of subtype 'Cancelled'

CanExecuteDelegate

Delegate method called to determine whether an action (button, menu item) should be enabled, disabled or invisible; called whenever the row selection state changes

CategoryMembershipAssociateExtender

Root extender for CategoryMembershipAssosiate

CategoryMembershipCategoryMembershipExtender

Root extender for CategoryMembership

CategoryMembershipExtenderBase

This is the base class for all extenders that add CategoryMembership fields to their base query. It handles all category membership-related fields. Derived classes should simply implement the method to join a CategoryMembershipTableInfo to the .

CategoryMembersProvider

Archive of CategoryMember - used by the web api. Combines all CategoryMembers in table together with added, edited or removed through restrictions.

CategoryMembersRestrictionParser

ChartSelectionProvider

ChatConversationSelectionMemberExtender

This class is a root extender based on Chat Session with the added functionality that it instantiates a GenericTargetSelectionMemberExtender. Thus giving us the chat session data based on a static ticket selection.

ChatSessionAssociateExtender

This class extends a Chat session archive provider extender with chat topic info

ChatSessionChatSessionExtender

This class essentially converts a ChatSession extender into a primary query provider, suitable for use in the ChatSession Archive as the root query provider. This is done by having the SetJoin method return a free-standing ChatSessionTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

ChatSessionChatTopicExtender

This class extends a Chat session archive provider extender with chat topic info

ChatSessionContactExtender

This class essentially converts a Contact extender into a primary query provider, suitable for use in the Contact Archive as the root query provider. This is done by having the SetJoin method return a free-standing ContactTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

ChatSessionExtenderBase

Base extender class that handles chat_sessions. Depending on the requested, this extender will create and link other extenders for related data - potentially quite deep.

ChatSessionExtenderBase.Features

ChatSessionPersonExtender

This class essentially converts a Person extender into a primary query provider, suitable for use in the Person Archive as the root query provider. This is done by having the SetJoin method return a free-standing PersonTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

ChatSessionProvider

Archive provider for listing chat session and related data to a chat

ChatTopicExtenderBase

Base extender class that handles chat_topic. Depending on the requested, this extender will create and link other extenders for related data - potentially quite deep.

ChecklistAppointmentProvider

Archive provider for Appointment activities, of the Diary type (not followup or booking). This provider can be used on its own, or can form part of the ActivityArchiveProvider, which mixes Appointments, appointments, tasks and documents.

ChooseEntityProvider

ColumnHelper

This class is a helper that contains functionality for handling columns in an archive provider. It includes collections and methods for keeping track of available and chosen columns, determining whether any particular column is wanted, and the method that uses reflection to locate standard column declarations in client classes.

CombinedContactExtenderBase

This base class defines a contact extender basis that is 'compatible' with a person extender, mainly by defining a 'who' column that is mapped to name + department. The CombinedPersonExtenderBase also defines this column, so that a result set can show both contact and person information in the same column on different rows.

CombinedPersonExtenderBase

This base class defines a person extender basis that is 'compatible' with a contact extender, mainly by defining a 'who' column that is mapped to full name. The CombinedContactExtenderBase also defines this column, so that a result set can show both contact and person information in the same column on different rows.

ConfigurableArchiveAppointmentProvider

This is the archive Provider for the Configurable appointment Archive.

ConfigurableArchiveProjectProvider

This is the archive Provider for the Configurable project Archive.

ConfigurableArchiveQuoteLineProvider

This is the archive Provider for the QuoteLine Archive.

ConnectorExtensions

Extension methods to transform between Archive Providers and the world of Quote/ERP (FieldMetadataTypeInfo)

ConsentPersonConsentPurposeExtender

This class essentially converts a Person extender into a primary query provider, suitable for use in the Person Archive as the root query provider. This is done by having the SetJoin method return a free-standing PersonTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

ConsentPersonExtenderBase

This is the base class for all extenders that add ConsentPerson fields to their base query.

ConsentPersonPersonExtender

This class essentially converts a Person extender into a primary query provider, suitable for use in the Person Archive as the root query provider. This is done by having the SetJoin method return a free-standing PersonTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

ConsentPurposeConsentPersonExtender

This class essentially converts an extender into a primary query provider

ConsentPurposeConsentPurposeExtender

This class essentially converts a ConsentPurpose extender into a primary query provider

ConsentPurposeExtenderBase

This is the base class for all extenders that add ConsentPurpose fields to their base query.

ConsentPurposeExtenderBase.Features

ConsentPurposeProvider

This is the archive Consent Purpose Provider for GDPR Admin and for GDPR relations to person, if you join and restrict on person

ConsentSourceExtender

Extender that adds functionality to search for persons using ConsentSource

Constants

Public string constants for the Archive List system

Constants.ColumnAlgorithms

Integer values (negative ones!) used instead of EFieldId to indicate that an archive column has a complex ancestry, instead of just being mapped directly to a field.

Constants.DisplayTypeOverride

Display type overrides for archive columns in clients that need some help like the Win client. With the advent of CS Extra fields, there is no opportunity to lookup an override in a client xml configuration file such as "SoCrm Archives.config". But the provider has enough context to make a good suggestion. This will be fed in the ArchiveColumnInfo.ExtraInfo member.

Constants.DisplayTypes

Display types for archive columns. The cell content (DisplayText) is always a string; however, it should be interpreted and displayed as a specific type according to the strings defined here. Numeric and date types will always be formatted with the CultureDataFormatter class and need to be decoded/localized before display.

Constants.ExtraFieldAttrib

CS ExtraField system uses Key/Value strings for additional properties. Win client will use these in order to minimize hard-coded string keys here and there and everywhere..

Constants.IconHints

Icon hints for archive columns. Cells that have type icon will contain one of these hints, and the GUI should translate that to the proper graphic (which will generally have the same name)

Constants.Options

Constants.ReporterOperatorTypes

Constants.RestrictionTypes

Restriction types for archive columns. A column can be used as a restriction if it has one of these types; numeric and date values are expected to be either in InvariantCulture format or encoded with the CultureDataFormatter.

Constants.RestrictionValues

Constants.StyleHints

Style hints for archive list data rows. A style hint says something about how the row should be styled, but this is indirect - thus a hint. A style hint will be something like 'processed' or 'expired'; the GUI will then translate that into some concrete behavior, such as boldface, coloured font or whatever.

ContactActivityArchiveProvider

Activity archive provider for the Company card

ContactAddressExtenderBase

ContactAnyAddressExtender

ContactAnyPhoneExtender

Special phone extender used only for searching. It will innerjoin to the parent Contact on any Contact-related phone type and without rank restrictions; however, it will not join at all unless its column has actually been specified as a restriction (because it would otherwise cause huge row duplications)

ContactAppointmentExtender

Implements the joiner for contacts and appointments

ContactAssociateExtender

This class extends a Contact archive provider extender with the responsible associate

ContactContactExtender

This class essentially converts a Contact extender into a primary query provider, suitable for use in the Contact Archive as the root query provider. This is done by having the SetJoin method return a free-standing ContactTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

ContactDocumentExtender

Implements the joiner for contacts and documents

ContactEmailExtender

This class extends a Contact archive provider extender with Email fields

ContactExtenderBase

This is the base class for all extenders that add Contact fields to their base query. It handles all contact-related fields, as well as having its own standard extenders for udef, email, url, phone and fax. Derived classes should simply implement the method to join a ContactTableInfo to the .

ContactExtenderBase.Features

ContactFavouritesProvider

ContactFaxExtender

This class extends a Contact archive provider extender with the fax fields

ContactInfoTextExtender

This class extends a Contact archive provider extender with the text note field (paperclip)

ContactInterestExtender

Extender for contact interests

ContactLinkExtender

This class is a way of adapting Contact to the way activity rows are displayed, meaning with text and icons

ContactPersonAsEntityExtenderBase

This base class implements the extension of a contact with persons, if and only if a person-related restriction has been set.

ContactPersonExtender

Extend a parent contact with persons. In the absence of restrictions, this will cause the result rows to be multiplied, with one row per person per parent contact.

ContactPhoneExtender

This class extends a Contact archive provider extender with the phone fields

ContactPhoneExtenderBase

This is a base class for Contact phone extenders, i.e., classes that extend a contact archive provider extender with phone numbers. Derived classes merely need to specify the phone type, the rest happens here in the base class.

ContactPostalAddressExtender

ContactProjectsExtender

ContactProjectsProvider

ContactProvider

Contact provider for general use

ContactSaintExtender

ContactSaleExtender

Implements the joiner for contacts and sales

ContactSelectionReturnFieldsCalculator

ContactSourceContactRelationExtender

Implements an extender that extends contact with relation where the parent contact is the contact on the source side of the relation.

ContactSourcePersonRelationExtender

Implements an extender that extends contact with relation where the parent contact is the contact on the source side of the relation.

ContactStaticSelectionMemberExtender

Extender used to add static selection member information to a contact. See the base class for documentation.

ContactStreetAddressExtender

ContactSupportAssociateExtender

This class extends a Contact archive provider extender with the associate responsible for support

ContactSupportPersonExtender

Extend a parent contact with the one person who is the support point-of-contact

ContactTargetContactRelationExtender

Implements an extender that extends contact with relation where the parent contact is defined as the source in the relation, but search criteria are placed on the destination

ContactTargetPersonRelationExtender

Implements an extender that extends contact with relation where the parent contact is defined as the source in the relation, but search criteria are placed on the destination

ContactUdefExtender

This class extends a Contact archive provider extender with udef fields

ContactUrlExtender

This class extends a Contact archive provider extender with the text note field (paperclip)

ContactWithPersonExtenderBase<PersonExtenderClass>

This is the base class for contact extenders that, in additional to all the usual contact-related extenders, also have a person extender. It is used for Find and Dynamic selections.

CredentialUserProvider

CriteriaInfo

CriteriaProvider

CrmScriptsProvider

CustomObjectProvider

CustomObjectProviderBase

DashboardColumnsProvider

DiaryActivityArchiveProvider

Activity archive provider for the Diary (checklist)

DiaryAppointmentProvider

Archive provider for Appointment activities, of the Diary type (not followup or booking). This provider can be used on its own, or can form part of the ActivityArchiveProvider, which mixes Appointments, appointments, tasks and documents.

DocumentAssociateExtender

This class extends a Document archive provider extender with the responsible associate

DocumentContactExtender

Extend a Document extender with a Contact extender, to provide the Contact columns related to a Document.

DocumentDocumentExtender

This class essentially converts a Document extender into a primary query provider, suitable for use in the Document Archive as the root query provider. This is done by having the SetJoin method return a free-standing DocumentTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

DocumentExtenderBase

DocumentExtenderWithoutDescriptionBase

Document extender base. This class is the same as the DocumentExtenderBase but without linking in the description in the text column

DocumentExtenderWithoutDescriptionBase.Features

DocumentFavouritesProvider

DocumentPersonExtender

Extend a Document extender with a Person extender, to provide the Person columns related to a Document.

DocumentProjectExtender

Extend a Document extender with a Project extender, to provide the Project columns related to a Document.

DocumentProvider

Archive provider for Document type activities. This provider can be used on its own, or can form part of the ActivityArchiveProvider, which mixes Documents, appointments, tasks and documents.

DocumentPublishExtender

Extend a Document extender with a Publish extender, to provide the Publish columns related to a Document.

DocumentQuoteLineInnerDataProvider

DocumentSaleExtender

Extend a Document extender with a sale extender, to provide the sale columns related to a Document.

DocumentTextExtender

This class extends a Document archive provider extender with the text field

DocumentUdefExtender

This class extends a Document archive provider extender with udef fields

DocumentVisibleForExtender

This class extends a Document extender with the VisibleFor fields, for both display and restriction use

DoSmDocumentExtender

This class is a root extender based on Document with the added functionality that it instantiates a GenericTargetSelectionMemberExtender. Thus giving us the document data based on a static document selection.

DotSyntaxParser

DotSyntaxProvider

DynamicContactExtender

Customized dynamic extender for the Contact table

DynamicEjuserExtender

Customized dynamic extender for the Ejuser table; adds fields that we'd like to pretende exist on the ejuser table

DynamicExtender

DynamicExtenderAttribute

Attribute used to mark an extender that can be part of a dot-syntax provider

DynamicExtenderBase

DynamicPersonExtender

Customized dynamic extender for the Person table, with some special features

DynamicTicketExtender

Customized dynamic extender for the Ticket table

EjCategoryExtenderBase

This is the base class for all extenders that add EjCategory fields to their base query. It handles all EjCategory-related fields, as well as having its own standard extenders for extra fields. Derived classes should simply implement the method to join a EjCategoryTableInfo to the .

EjCategoryExtenderBase.Features

EjscriptEjscriptExtender

Root extender for ForeignKeys - list all foreign apps and any devices + keys

EjscriptExtenderBase

EjscriptHierarchyExtender

EjscriptsProvider

Archive of CRM Scripts - used by the web api and partners. Lists all CRM Scripts in the ejScript table.

EjUserExtenderBase

This is the base class for all extenders that add Person fields to their base query. It handles all person-related fields, as well as having its own standard extenders for udef, email, phone and fax. Derived classes should simply implement the method to join a PersonTableInfo to the .

EMailAddressProvider

Special purpose archive provider used to search for email addresses.

EmailAddressProviderBase

Base class for email address search subproviders

EmailContactAddressProvider

Contact subchannel for special purpose archive provider used to search for email addresses.

EmailEmailExtender

This class essentially converts an Email extender into a primary query provider, suitable for use in the email match provider as the root query provider. This is done by having the SetJoin method return a free-standing EmailTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

EmailExtenderBase

This is the base class for all extenders that add Email fields to their base query. It handles all email-related fields. Derived classes should simply implement the method to join an EmailTableInfo to the .

EmailFlowContentFormExtender

Root extender for EmailFlow content of type form - list all possible email flow content of type form

EmailFlowContentProvider

Archive of Email flow content. Lists all email flow content

EmailFlowContentSMessageExtender

Root extender for EmailFlow content - list all possible email flow content

EmailFlowEmailFlowExtender

Root extender for EmailFlows - list all email flows in table

EmailFlowExtenderBase

EmailFlowExtenderBase.Features

EmailFlowFolderEmailFlowFolderExtender

Root extender for EmailFlow folders - list all email flow folders

EmailFlowFolderProvider

Archive of Email flow folders. Lists all email flow folders

EmailFlowFormContentProvider

Email flow form content. Lists all email flow form content

EmailFlowHierarchyExtender

EmailFlowInstanceEmailFlowInstanceExtender

Root extender for EmailFlowInstances - list all email flow Instances in table

EmailFlowInstanceProvider

Archive of Email flow Instances. Lists all email flow Instances

EmailFlowProvider

Archive of Email flows. Lists all email flows

EmailFlowsAndFoldersProvider

Archive of EmailFlows and Folders. Combines all EmailFlows and EmailFlowFolders in one archive together.

EmailFlowSMessageContentProvider

Email flow message content. Lists all email flow message content

EmailFlowWorkflowExtender

EmailItemAccountAssociateExtender

This class extends archive provider extender with the responsible associate

EmailItemContactExtender

Extend extender with a Contact extender, to provide the Contact columns related.

EMailItemEMailItemExtender

EmailItemExtenderBase

EmailItemPersonExtender

Extend an extender with a Person extender, to provide the person columns related.

EMailItemProvider

Provides populated mail envelope rows as an archive

EmailMatchContactExtender

Extend a Email extender with a Contact extender, to provide the Contact columns related to an Email Address. The 'Combined' version of the base extender is used, so that a 'who' column is defined, that can show either contact or person

EmailMatchPersonExtender

Extend a Email extender with a Person extender, to provide the Person columns related to an Email Address. The 'Combined' version of the base extender is used, so that a 'who' column is defined, that can show either contact or person

EmailPersonAddressProvider

Person subchannel for special purpose archive provider used to search for email addresses.

EntityFilteredQueryProviderBase<RowType, InnerProvider>

EntityHelper

This helper class provider functionality for handling entities, for providers that have them. It keeps track of available and desired entities and answers questions about them.

ErpConnectionErpConnectionExtender

Root extender for Erp Connections

ErpConnectionErpConnector

ErpConnectionExtenderBase

Extender base for the ErpConnection table, includes ErpConnector as sub-entity so we get that too

ErpConnectionProvider

Archive of ERP Connections, used by the ERP Integration Server

ErpConnectorErpConnectorExtender

Root extender for Erp Connectors

ErpConnectorExtenderBase

ErpConnectorProvider

Archive of ERP Connectors, used by the ERP Integrator Server

EventHandlerEventHandlerExtender

EventHandlerExtenderBase

EventHandlersProvider

Archive of Event handlers - triggers - used by the web api and partners. Lists all triggers in screenchooser table with screenType >= 100.

ExecuteDelegate

Delegate method called when this action should be executed - in a Windows client context

ExistingCategoryMembersProvider

Archive of ExistingCategoryMembers - used by the web api. Lists existing CategoryMembers in table and edited or removed ones through restriction.

ExplicitInvitationExtender

Extender that fetches invitations by explicit appointment ID; these are generally those that have been processed by the Invitation Dialog and are thus no longer to be shown - but we want to show them for the duration of the dialog in spite of their non-invitation status. The 'invitationRestrictionIds' restriction can use the = or IN operators for this purpose, and give a list of appointment ID's.

ExplicitInvitationProvider

ExplicitParticipantsAssociateProvider

Single provider channel for the Participants archives. This channel represents Associates (not resource or external person), specified by explicit id (not indirectly through a reference to a booking row in appointment, see the BookingParticipantsAssociateProvider class for this counterpart).

ExplicitParticipantsExternalPersonProvider

Single provider channel for the Participants archives. This channel represents Persons (that are not associates in any way), specified by explicit id (not indirectly through a reference to a booking row in appointment, see the BookingParticipantsExternalPersonProvider for this counterpart).

ExplicitParticipantsProvider

Combiner class for Participants providers, of the Explicit sort. That is, participants (associate, resource or external person) specified by explicit id's, instead of by reference to a booking (appointment) record

ExplicitParticipantsResourceProvider

Single provider channel for the Participants archives. This channel represents Resources, specified by explicit id (not indirectly through a reference to a booking row in appointment, see the BookingParticipantsResourceProvider class for this counterpart).

ExtenderBase<MainTableInfo>

ExtensibleColumnsBase

This is the 'root' base class for the Extender and Provider base classes and providers. It contains common functionality, including facades for the ColumnHelper and ExtensibleHelper classes. It implements the IArchiveProviderHasColumns and IArchiveProviderExtensible interfaces, and defines its own contract for derived classes through the declaration of abstract methods.

Partner-defined providers are expected to inherit either or , which specialize and provide more functionality.

ExtensibleColumnsBase.DbColumnBinding

This data class carries binding information for one archive column, relating its FieldInfo, column index, list table etc

ExtensibleHelper

This helper class provides functionality for keeping track of extenders to the client class, i.e., the Extensible property of archive providers. It has the list of current extenders, merges column names, and passes calls such as SetOrderBy to its extenders.

ExtensibleHelperAsync

This helper class provides functionality for keeping track of extenders to the client class, i.e., the Extensible property of archive providers. It has the list of current extenders, merges column names, and passes calls such as SetOrderBy to its extenders.

ExtensibleHelperAsync.PopulateInfo

ExtensionMethods

ExternalDocumentAttachmentExtender

ExternalDocumentExtender

ExternalDocumentExtenderBase

ExternalDocumentFolderProvider

ExternalDocumentHierarchyExtender

ExternalDocumentHierarchyRootExtender

ExternalDocumentItemsProvider

External Documents is the same as the Image Library in service - images (and maybe other things?) that can be added to messages. They are a special kind of attachment, and conencted to a folder hierarchy.

ExternalDocumentsProvider

ExternalEventExtenderBase

Extender base for the ExternalEvent table, used when displaying columns related to ExternalEventing to external users

ExternalPersonsProvider

ExternalUsersProvider

Concrete provider for External Users - our customer, vendors etc (Audience, eJournal Customer Care Centre). See UsersProviderBase for the actual functionality of the provider.

ExtraFieldExtenderBase

Creates column for Service extra fields on the table by the parent extender

ExtraFieldsExtraTableExtender

FavouriteAppointmentExtender

Extend a Favourite extender with a Mailing extender, to provide the Mailing columns related to a Favourite.

FavouriteContactExtender

Extend a Favourite extender with a Contact extender, to provide the Contact columns related to a Favourite.

FavouriteDocumentExtender

Extend a Favourite extender with a Mailing extender, to provide the Mailing columns related to a Favourite.

FavouriteExtenderBase

This is the base class for all extenders that add favourite fields to their base query. Derived classes should simply implement the method to join a URLTableInfo to the .

FavouriteFavouriteExtender

FavouriteMailingExtender

Extend a Favourite extender with a Mailing extender, to provide the Mailing columns related to a Favourite.

FavouritePersonExtender

Extend a Favourite extender with a Person extender, to provide the Person columns related to a Favourite.

FavouriteProjectExtender

Extend a Favourite extender with a Project extender, to provide the Project columns related to a Favourite.

FavouriteSaleExtender

Extend a Favourite extender with a Sale extender, to provide the Sale columns related to a Favourite.

FavouriteSelectionExtender

Extend a Favourite extender with a Selection extender, to provide the Selection columns related to a Favourite.

FavouritesProvider

Archive provider for the list of favourites

FavouriteTicketExtender

Extend a Favourite extender with a Ticket extender, to provide the Ticket columns related to a Favourite.

FavouriteTicketsProvider

FindAppointmentProvider

Find appointment provider

FindAppointmentReturnFieldsCalculator

Return fields calculator for the FindAppointment provider. Adds standard fields.

FindChatSessionProvider

ChatSession provider for Find

FindContactExtender

This class essentially converts a Contact extender into a primary query provider, suitable for use in the Contact Archive as the root query provider. This is done by having the SetJoin method return a free-standing ContactTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

FindContactPersonExtender

The FindContactPersonExtender extends a contact with persons, if and only if at least one person-related condition has been set (this happens in the ContactPersonAsEntityExtenderBase base class, and requests the set of features from the PersonExtenderBase.

FindContactProvider

FindContactSubProvider

FindDocumentProvider

Archive provider for finding documents

FindDocumentReturnFieldsCalculator

Return fields calculator for the FindDocument provider. Adds standard fields.

FindErpProductProvider

Find products through a Quote Connector, either through the standard interface or by dispatching to a custom provider, if one is supplied.

FindProductViaConnectorProvider

FindProjectExtender

FindProjectProvider

Provider for searching in projects

FindProjectReturnFieldsCalculator

FindProviderBase<RowType, RootExtender>

Base class for the providers for the Find dialogs. This class adds functionality for setting restrictions via an associate id, using the standard criteria storage for restrictions. It also makes all return rows read-only.

FindQuoteLineProvider

QuoteLine provider for Find

FindSaleProvider

FindSaleReturnFieldsCalculator

Return fields calculator for the FindSale provider. Adds standard fields.

FindSelectionProvider

FindSelectionReturnFieldsCalculator

FindTicketProvider

Ticket provider for Find

ForeignKeyExtenderBase

ForeignKeyForeignKeyExtender

Root extender for ForeignKeys - list all foreign apps and any devices + keys

ForeignKeysProvider

Archive of Foreign Keys - used by the web api and partners. Lists all foreign apps, and outer joins any devices + keys associated with the app.

FormEmailFlowExtender

This class extends a EmailFlow content archive provider extender with the flow containing the form

FormExtenderBase

Base extender class that handles forms.

FormFieldsExtender

Extender that adds functionality for dynamic form (submission) fields

FormFieldsExtender.FormField

FormSubmissionAssociateExtender

This class extends a Form submission archive provider extender with associate info

FormSubmissionContactExtender

This class essentially converts a Contact extender into a primary query provider, suitable for use in the Contact Archive as the root query provider. This is done by having the SetJoin method return a free-standing ContactTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

FormSubmissionExtenderBase

Base extender class that handles formsubmissions.

FormSubmissionExtenderBase.Features

FormSubmissionFormSubmissionExtender

This class essentially converts a FormSubmission extender into a primary query provider, suitable for use in the FormSubmission Archive as the root query provider. This is done by having the SetJoin method return a free-standing FormSubmissionTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

FormSubmissionPersonExtender

This class essentially converts a Person extender into a primary query provider, suitable for use in the Person Archive as the root query provider. This is done by having the SetJoin method return a free-standing PersonTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

FormSubmissionProvider

Archive provider for listing form submissions

FormSubmissionSelectionMemberExtender

This class is a root extender based on Form Submission with the added functionality that it instantiates a GenericTargetSelectionMemberExtender. Thus giving us the form submission data based on a static form submission selection.

FreetextAppointmentResultProvider

Archive provider for freetext search on the Appointment entity (any kind of appointment, phone call, or task).

Use the 'searchwords' restriction with one or more words to specify what to search for. The operator is ignored, the freetext search will apply the 'begins' operator to each word and 'AND' between them.

It is possible to combine freetext search words with other restrictions and criteria native to the entity and its standard subproviders. Note however that this is not the same search as provided by the 'Find' providers, since they apply various special rules not present here.

Freetext search will limit the number of hits to the first 1000. This clipping is applied before any other criteria, as well as before any ORDER BY, are applied.

Private appointments that are not fully readable will not be shown (they are skipped), as in the Windows client

FreetextContactResultProvider

Archive provider for freetext search on the Contact (company) entity.

Use the 'searchwords' restriction with one or more words to specify what to search for. The operator is ignored, the freetext search will apply the 'begins' operator to each word and 'AND' between them.

It is possible to combine freetext search words with other restrictions and criteria native to the entity and its standard subproviders. Note however that this is not the same search as provided by the 'Find' providers, since they apply various special rules not present here.

Freetext search will limit the number of hits to the first 1000. This clipping is applied before any other criteria, as well as before any ORDER BY, are applied.

FreetextCountProvider

Archive provider for counts of freetext matches

FreetextDocumentResultProvider

Archive provider for freetext search on the Document entity (any kind of document).

Use the 'searchwords' restriction with one or more words to specify what to search for. The operator is ignored, the freetext search will apply the 'begins' operator to each word and 'AND' between them.

It is possible to combine freetext search words with other restrictions and criteria native to the entity and its standard subproviders. Note however that this is not the same search as provided by the 'Find' providers, since they apply various special rules not present here.

Freetext search will limit the number of hits to the first 1000. This clipping is applied before any other criteria, as well as before any ORDER BY, are applied.

FreetextMatchCalculator

This is a utility class to perform an actual freetext search, for single or multiple words. It returns sets of ids that indicate the matches, and can also consolidate such sets into counts.

FreetextPersonResultProvider

Archive provider for freetext search on the Person entity.

Use the 'searchwords' restriction with one or more words to specify what to search for. The operator is ignored, the freetext search will apply the 'begins' operator to each word and 'AND' between them.

It is possible to combine freetext search words with other restrictions and criteria native to the entity and its standard subproviders. Note however that this is not the same search as provided by the 'Find' providers, since they apply various special rules not present here.

Freetext search will limit the number of hits to the first 1000. This clipping is applied before any other criteria, as well as before any ORDER BY, are applied.

FreetextProjectResultProvider

Archive provider for freetext search on the Project entity.

Use the 'searchwords' restriction with one or more words to specify what to search for. The operator is ignored, the freetext search will apply the 'begins' operator to each word and 'AND' between them.

It is possible to combine freetext search words with other restrictions and criteria native to the entity and its standard subproviders. Note however that this is not the same search as provided by the 'Find' providers, since they apply various special rules not present here.

Freetext search will limit the number of hits to the first 1000. This clipping is applied before any other criteria, as well as before any ORDER BY, are applied.

FreetextResultProviderBase<RootExtender, OwnerTableInfo>

Base class for all providers that return free text search results (not counts, but the actual contacts or whatever)

FreetextSaleResultProvider

Archive provider for freetext search on the Sale entity.

Use the 'searchwords' restriction with one or more words to specify what to search for. The operator is ignored, the freetext search will apply the 'begins' operator to each word and 'AND' between them.

It is possible to combine freetext search words with other restrictions and criteria native to the entity and its standard subproviders. Note however that this is not the same search as provided by the 'Find' providers, since they apply various special rules not present here.

Freetext search will limit the number of hits to the first 1000. This clipping is applied before any other criteria, as well as before any ORDER BY, are applied.

FreetextSelectionResultProvider

Archive provider for freetext search on the Selection entity.

Use the 'searchwords' restriction with one or more words to specify what to search for. The operator is ignored, the freetext search will apply the 'begins' operator to each word and 'AND' between them.

It is possible to combine freetext search words with other restrictions and criteria native to the entity and its standard subproviders. Note however that this is not the same search as provided by the 'Find' providers, since they apply various special rules not present here.

Freetext search will limit the number of hits to the first 1000. This clipping is applied before any other criteria, as well as before any ORDER BY, are applied.

FreetextTicketResultProvider

Combined multi-query ticket search provider supporting freetext and finding ticket by ID.

GenericTargetSelectionMemberExtender

This class essentially converts a SelectionMember extender into a primary query provider, suitable for use in the SelectionMemberStaticProvider Archive as the root query provider. This is done by having the SetJoin method return a free-standing SelectionMemberTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

GuideExtenderBase<Info>

Declaration of columns that are common to all kinds of guide items

HasConsentExtender

Extender that adds functionality to read/test whether a person has a certain Consent. Virtual columns are generated for each ConsentPurpose

HierarchyExtenderBase

HtmlTextExtenderBase

This is the base class for all extenders that add HtmlText and Text fields to their base query. The desired name and display name of the html-text field are passed in as constructor arguments, since specific field names are much more desirable than using prefixes and a standard name. Derived classes should implement the method to join an TextTableInfo to the , and set the column name and display name in their constructor.

InMemoryProviderBase<RowType>

InternalUsersProvider

Concrete provider for Internal Users - our own employees. See UsersProviderBase for the actual functionality of the provider.

InvitationExtenderBase

InvitationProvider

Invitation provider multichannel combiner, consisting of simple, cancelled, rejected, repeating and response invitations. You can also call up appointments explicitly through the Explicit provider.

InvitationProviderCombiner

InvitationStatusIconHelper

InvitationSubProviderBase<MainExtender>

LastTicketsProvider

LegalBaseExtender

Extender that adds functionality to search for persons using LegalBase

LinksAppointmentByDestinationExtender

Link data extender for by-destination addressing, a fancy way of saying appointments by appointment id

LinksAppointmentByDestinationProvider

Link data provider for appointments, addressed by destination (directly)

LinksAppointmentBySourceLeftExtender

Extend a Relations parent representing an activity link source, with Appointment type columns

LinksAppointmentBySourceLeftProvider

Link data provider for appointments, addressed by source (via relations table), left-to-right direction

LinksAppointmentBySourceRightExtender

Extend a Relations parent representing an activity link source, with Appointment type columns

LinksAppointmentBySourceRightProvider

Link data provider for appointments, addressed by source (via relations table), right-to-left direction

LinksAppointmentProvider

Link data provider for appointments, handles both addressing by source or by destination (not both at the same time!)

LinksByDestinationProviderBase<MainExtenderType>

Base class for link data providers that are addressed by destination - that is, we have an explicit list of appointments, documents or sales that are (from other sources) known to be linked to some (unknown and irrelevant) source. The relations table is not involved in these fetchers.

LinksBySourceProviderBase<MainExtenderType>

Base class for link data providers that are addressed by source - that is, where the source (left) side of the link is a known appointment, sale or document, and we wish to retrieve the right side.

LinksBySourceProviderLeftBase<MainExtenderType>

Base class for by-source providers that handle left to right links.

LinksBySourceProviderRightBase<MainExtenderType>

Base class for by-source providers that handle right to left links.

LinksContactByDestinationExtender

LinksContactByDestinationProvider

LinksContactBySourceLeftExtender

LinksContactBySourceLeftProvider

LinksContactBySourceRightExtender

LinksContactBySourceRightProvider

LinksContactProvider

LinksDocumentByDestinationExtender

Link data extender for by-destination addressing, a fancy way of saying documents by document id

LinksDocumentByDestinationProvider

Link data provider for documents, addressed by destination (directly)

LinksDocumentBySourceLeftExtender

Link data extender for documents by source - joins relations table to document

LinksDocumentBySourceLeftProvider

Link data provider for documents, addressed by source (via relations table), left-to-right links

LinksDocumentBySourceRightExtender

Link data extender for documents by source - joins relations table to document

LinksDocumentBySourceRightProvider

Link data provider for documents, addressed by source (via relations table), right-to-left links

LinksDocumentProvider

Link data provider for documents, handles both addressing by source or by destination (not both at the same time!)

LinksPersonByDestinationExtender

LinksPersonByDestinationProvider

LinksPersonBySourceLeftExtender

LinksPersonBySourceLeftProvider

LinksPersonBySourceRightExtender

LinksPersonBySourceRightProvider

LinksPersonProvider

LinksProjectByDestinationExtender

LinksProjectByDestinationProvider

LinksProjectBySourceLeftExtender

LinksProjectBySourceLeftProvider

LinksProjectBySourceRightExtender

LinksProjectBySourceRightProvider

LinksProjectProvider

LinksProvider

LinksProviderBase<BySourceLeftProvider, BySourceRightProvider, ByDestinationProvider>

Base class for link data providers - combines a by-source and a by-destination provider to offer both ways of addressing, though not at the same time. The by-source provider consists of a left- and a right-hand version, to handle links bidirectionally. The left and right subproviders must handle the same restrictions, i.e., behave symmetrically.

LinksSaleByDestinationExtender

Link data extender for by-destination addressing, a fancy way of saying sales by sale id

LinksSaleByDestinationProvider

Link data provider for sales, addressed by destination (directly)

LinksSaleBySourceLeftExtender

Extend a Relations parent representing an activity link source, with Sale type columns

LinksSaleBySourceLeftProvider

Link data provider for sales, addressed by source (via relations table), left-to-right links

LinksSaleBySourceRightExtender

Extend a Relations parent representing an activity link source, with Sale type columns

LinksSaleBySourceRightProvider

Link data provider for sales, addressed by source (via relations table), right-to-left links

LinksSaleProvider

Link data provider for sales, handles both addressing by source or by destination (not both at the same time!)

LinksSelectionByDestinationExtender

LinksSelectionByDestinationProvider

LinksSelectionBySourceLeftExtender

LinksSelectionBySourceLeftProvider

LinksSelectionBySourceRightExtender

LinksSelectionBySourceRightProvider

LinksSelectionProvider

LinksURLByDestinationExtender

LinksURLByDestinationProvider

LinksURLBySourceLeftExtender

LinksURLBySourceLeftProvider

LinksURLBySourceRightExtender

LinksURLBySourceRightProvider

LinksURLProvider

ListItemLookupHelper

This helper is used by the archives to quickly look up the value (name, tooltip, whatever) corresponding to a list item. It will take either a table number or a list name, look up the item, and cache the result. Various caching and override mechanisms are used to make lookups as fast as possible, and to work with some unconventional 'lists' like contact or person.

ListItemsProvider

Archive provider for the list of ListItems

MailFolderProvider

Provides list of subscribed and unsubscribed mail folders available for an account

MailingAddrContactExtender

MailingAddrPersonExtender

MailingAssociateExtender

This class extends a Document archive provider extender with the responsible associate

MailingFavouritesProvider

MailingMailingAddrExtender

MailingProjectExtender

Extend a Mailing extender with a Project extender, to provide the Project columns related to a Mailing.

MailingsAddrExtenderBase

MailingsExtenderBase

MailingsExtenderBase.Features

MailingsMailingsExtender

MailingsProviderBase

Archive provider for the list of mailings

MailingsSelectionMemberExtender

This class is a root extender based on Mailings with the added functionality that it instantiates a GenericTargetSelectionMemberExtender. Thus giving us the mailings data based on a static ticket selection.

MailItemProvider

Provides populated mail envelope rows as an archive

MappedPreferenceProvider

Get all the mapped ('fake') Service preferences known to the ServicePreferenceMapper. NOTE that only section and key are supported as restrictions, and only with the equals operator. Anything else needs to be coded!

MemberProvider<RootExtender>

ModuleLicenceExtenderBase

Extender base for the moduleLicence table. The tooltip field from the table is used as the general tooltip for all other columns, instead of being returned as a separate column

ModuleLicenceModuleLicenseExtender

This class essentially converts a ModuleLicense extender into a primary query provider, suitable for use in the ModuleLicense Archive as the root query provider. This is done by having the SetJoin method return a free-standing ModuleLicenseTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

MultiCultureFieldInfo

MultiQueryProviderBase

This is the recommended standard base class for MultiQuery providers, i.e., providers that aggregate multiple sub providers into one data stream. It implements the IArchiveMultiQueryProvider interface, and provides its own contract for derived classes.

MultiQueryProviderBase.AddProviderInfo

MultiQueryProviderBaseWithRestrictionGroups

Base for providers with OR-able restriction groups.

NewCategoryMembersProvider

Archive of NewCategoryMember - used by the web api. Lists new CategoryMembers added through restriction.

NoAggregationAttribute

Marker attribute for archive providers, to turn off wrapping of providers with the

NotificationNotificationExtender<Info>

NotificationProvider

NumbersExtenderBase

NumbersNumbersExtender

NumbersProviderBase

Archive provider for the list of numbers, for the number allocation system. Not be confused with table sequence numbers.

NumbersUpdatedAssociateExtender

This class essentially converts a Associate extender into a primary query provider, suitable for use in the Archive as the root query provider. This is done by having the SetJoin method return a free-standing TableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

OperatorProvider

This SoList provider will generate the operator list for a given search criterion data type. The data type is passed in as the extraInfo parameter, and is generally one of the constants in . The RestrictionOperations class is the source of the data, so this list will change if that class is extended.

OrderByStorage

Storage provider for order by information for Archive List providers

OtherUsersProvider

Concrete provider for 'Other' Users - System and Anonymous user accounts. See UsersProviderBase for the actual functionality of the provider.

OwnerContactsProvider

Archive provider for the list of own contacts in SoAdmin

ParseError

ParseErrors

ParseNode

Parser

Parsers

Converts a string into an array of ArchiveRestrictionInfo objects.

ParseTree

PartialMatches

Holds cross-table matches, where some hits are found in main table, and others on related tables

ParticipantsAssociateProvider

ParticipantsExternalPersonProvider

ParticipantsProvider

Archive list provider for the participants list of a booking (multi-person appointment)

ParticipantsResourceProvider

Base class for the archive providers that handle booking participants of type Resource. Derived classes split this into booking-based and explicit-id based lookups.

ParticipantsSubProviderBase

ParticipantsWithConflictRemovalProvider

Archive provider that wraps the ParticipantsProvider, and adds a pseudo entity used to hide associates with conflicts.

PersonActivityArchiveProvider

Activity archive provider for the Person card

PersonAddressExtender

This class extends a Person archive provider extender with Address fields

PersonAnyPhoneExtender

Special phone extender used only for searching. It will innerjoin to the parent person on any person-related phone type and without rank restrictions; however, it will not join at all unless its column has actually been specified as a restriction (because it would otherwise cause huge row duplications)

PersonAppointmentExtender

Implements the joiner for contacts and appointments

PersonAssociateExtender

This class extends a Person archive provider extender with the responsible associate

PersonChatSessionExtender

PersonContactExtender

This class extends a Person archive provider extender with its parent Contact (and thereby all subtables of contact as well)

PersonContactExtenderHelper

Common functionality related to custom fields and logic on person; used by PersonExtenderBase for static and DynamicPersonExtender for dynamic extenders

PersonContactPostalAddressExtender

This class extends a Person archive provider extender with Postal Address fields from its parent Contact

PersonCorrespondingAssociateExtender

This class extends a Person archive provider extender with the corresponding associate (only valid for associates/users)

PersonDirectFaxExtender

This class extends a Person archive provider extender with the direct fax fields

PersonDirectPhoneExtender

This class extends a Person archive provider extender with the direct phone fields

PersonEmailExtender

This class extends a Contact archive provider extender with Email fields

PersonExtenderBase

This is the base class for all extenders that add Person fields to their base query. It handles all person-related fields, as well as having its own standard extenders for udef, email, phone and fax. Derived classes should simply implement the method to join a PersonTableInfo to the .

PersonExtenderBase.Features

PersonExtraFieldExtender

PersonFavouritesProvider

PersonFormSubmissionExtender

PersonInfoTextExtender

This class extends a Person archive provider extender with the into text field

PersonInterestExtender

Extender for contact interests

PersonLinkExtender

This class is a way of adapting Person to the way activity rows are displayed, meaning with text and icons

PersonMobilePhoneExtender

This class extends a Person archive provider extender with the mobile phone fields

PersonPagerPhoneExtender

This class extends a Person archive provider extender with the pager fields

PersonPersonExtender

This class essentially converts a Person extender into a primary query provider, suitable for use in the Person Archive as the root query provider. This is done by having the SetJoin method return a free-standing PersonTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

PersonPhoneExtenderBase

This is a base class for Phone phone extenders, i.e., classes that extend a person archive provider extender with phone numbers. Derived classes merely need to specify the phone type, the rest happens here in the base class.

PersonProjectsExtender

PersonProjectsFindExtender

Implements the joiner for persn and projects through project members where person is the main table.

PersonProjectsProvider

PersonProvider

This is the archive Provide for the Person Archive of the Contact Panel - or to use GUI terminology, the Contact archive of the Company panel. It provides two entities, person and retiredPerson, and a large number of columns. Through the constructor one can choose to include Contact table data; this will also pull in contact udef and related fields.

PersonRelation

Data provider class for the 'Relation' archive under the person card. This class combines output from the eight basic sub-providers (CC, PC, PP and CP plus their reversed cousins) into one data stream.

PersonRequestExtender

Implements the joiner for persons and tickets/requests

PersonSaintExtender

PersonSaleExtender

Implements the joiner for person and sales

PersonShipmentLinkClickExtender

PersonStaticSelectionMemberExtender

PersonUdefExtender

This class extends a Person archive provider extender with udef fields

PersonUrlExtender

This class extends a Contact archive provider extender with the text note field (paperclip)

PersonWorkflowInstanceExtender

PhaseOneQueryCacher

Short-term (one minute!) cache for archive provider primary keys; to improve performance for requests of later pages of the same archive

PhoneExtenderBase

This is the base class for all extenders that add Phone fields to their base query. It handles all phone-related fields. Derived classes should simply implement the method to join an PhoneTableInfo to the .

PriceListExtenderBase

This is the base class for all extenders that add PriceList fields to their base query. It handles all pricelist-related fields. Derived classes should simply implement the method to join a PriceListTableInfo to the .

PricelistPricelistExtender

Root extender for Batch tasks - list all batch tasks in table

PriceListProvider

Archive of Pricelists - used by the web api. Lists all Pricelist in table.

ProductExtenderBase

This is the base class for all extenders that add Product fields to their base query. It handles all product-related fields. Derived classes should simply implement the method to join a ProductTableInfo to the .
The column names need to be synchronized with the so the fastsearch GUI can do its job

ProductPriceListExtender

Extend a product extender with a PriceList extender, to provide the PriceList columns related to a Product.

ProductProductExtender

This class essentially converts a Person extender into a primary query provider, suitable for use in the Person Archive as the root query provider. This is done by having the SetJoin method return a free-standing PersonTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

ProductProvider

This is the archive Provider for the Product Archive is SoAdmin.

ProjectActivityArchiveProvider

Activity archive provider for the Project card

ProjectAppointmentExtender

Implements the joiner for Projects and appointments

ProjectAssociateExtender

This class extends a Project archive provider extender with the responsible associate

ProjectContactExtender

ProjectDocumentExtender

Implements the joiner for contacts and documents

ProjectExtenderBase

This is the base class for all extenders that add Project fields to their base query. It handles all project-related fields. It also has its own standard extenders to handle udef, email and url items. Derived classes should simply implement the method to join an ProjectTableInfo to the .

ProjectExtenderBase.Features

ProjectExternalEventExtender

This class extends a Project archive provider extender with ExternalEvent fields

ProjectFavouritesProvider

ProjectGuideAppointmentProvider

Specific provider for Project Guide Items of type Appointment

ProjectGuideDocumentProvider

Specific provider for Project Guide Items of type Appointment

ProjectGuideProvider

Provider for the Project Guide, common to both Appointment and Document guide items and instances

ProjectGuideSubProviderBase<RootExtender>

Common base class for the Appointment and Document providers for Project Guide items

ProjectInfoTextExtender

This class extends a Project archive provider extender with the into text field

ProjectLinkExtender

This class is a way of adapting URL to the way activity rows are displayed, meaning with text and icons

ProjectMemberAssociateProvider

ProjectMemberContactExtender

ProjectMemberExtenderBase

Extender base for project members. Pulls in text and person extenders, and handles the specific ProjectMember fields itself

ProjectMemberExtenderBase.Features

ProjectMemberInfoTextExtender

This class extends a ProjectMember archive provider extender with the info text field

ProjectMemberPersonExtender

ProjectMemberProjectExtender

ProjectMemberProjectMemberExtender

This class essentially converts a ProjectMember extender into a primary query provider, suitable for use in the ProjectMember Archive as the root query provider. This is done by having the SetJoin method return a free-standing ProjectMemberTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

ProjectMemberProvider

Provider for the Project Member archive under Project

ProjectPersonExtender

ProjectProjectExtender

This class essentially converts a Project extender into a primary query provider, suitable for use in the Project Archive as the root query provider. This is done by having the SetJoin method return a free-standing ProjectTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

ProjectProjectMemberExtender

Extend a Project extender with a ProjectMember extender, to provide the ProjectMember columns related to a Project.

ProjectPublishExtender

Extend a Project extender with a Publish extender, to provide the Publish columns related to a Project.

ProjectSaintExtender

ProjectSaleExtender

Implements the joiner for projects and sales

ProjectSuggestedAppointmentExtender

Implements functionality specific to suggested appointments that come from a Project Guide

ProjectSuggestedDocumentExtender

Implements functionality specific to suggested documents that come from a Project Guide

ProjectUdefExtender

This class extends a Project archive provider extender with udef fields

ProjectUrlExtender

This class extends a Contact archive provider extender with the text note field (paperclip)

ProviderFlags

Flags that modify the behaviour of an Archive Provider, what it returns and how it runs

ProviderToReaderWrapper

Helper class to serve an IArchiveProvider as an IDataReader; generally used for the implementation of the GetReader method of IArchiveProviderHasRows interface.

PrSmProjectExtender

This class is a root extender based on Project with the added functionality that it instantiates a GenericTargetSelectionMemberExtender. Thus giving us the project data based on a static project selection.

PublishExtenderBase

Extender base for the Publish table, used when displaying columns related to publishing to external users

QueryProviderBase<RowType>

This is the base class for ArchiveProviders that use a database query to get their data. Other ways of making archive providers exist, such as , where the data source is something else and the data are simply buffered by the base class.

QuoteAlternativeExtenderBase

QuoteAlternativeQuoteLineExtender

QuoteAlternativeQuoteLineExtender joins Quote Alternative with Quote lines.

QuoteAlternativeQuoteVersionExtender

QuoteApprovalProvider

Retrieves pending sale quotes for current associate with state approved, denied, approval needed or approval requested

QuoteConnectionErpConnectionExtender

Extend a QuoteConnection with its corresponding ErpConnection, if it exists

QuoteConnectionExtender

????

QuoteConnectionExtenderBase

This is the base class for all extenders that add QuoteConnection fields to their base query. It handles all quoteconnection-related fields. Derived classes should simply implement the method to join a QuoteConnectionTableInfo to the .

QuoteConnectionProvider

This is the archive Provider for the QuoteConnection Archive in SoAdmin.

QuoteConnectorProvider

QuoteExtenderBase

QuoteExtenderBase.Features

QuoteLineExtenderBase

This is the base class for all extenders that add QuoteLine fields to their base query. It handles all QuoteLine-related fields. Derived classes should simply implement the method to join a QuoteLineTableInfo to the .

QuoteLineExtenderBase.Features

QuoteLineProvider

This is the archive Provider for the QuoteLine Archive.

QuoteLineQuoteAlternativeExtender

QuoteLineQuoteLineExtender

This class essentially converts a QuoteLine extender into a primary query provider, suitable for use in the QuoteLine Archive as the root query provider. This is done by having the SetJoin method return a free-standing QuoteLineTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

QuoteQuoteConnectionExtender

Join between quote and quote connection

QuoteQuoteVersionExtender

QuoteQuoteVersionExtender joins Quote with the active Quote Version.

QuoteSaleExtender

QuoteVersionAttachmentDocumentExtender

QuoteVersionAttachmentProvider

This is the archive Provider for quote version attachments.

QuoteVersionExtenderBase

QuoteVersionQuoteAlternativeExtender

QuoteVersionQuoteAlternativeExtender joins Quote Version with the favorite Quote Alternative.

QuoteVersionQuoteExtender

RecipientFavouritesProvider

RecordTypeProvider

A complete and generic mapping of record types to resource strings. This is a simple, hard-coded list corresponding to Task table record_type column which is defined by a typed field TaskTypeFieldInfo using the TaskType enum AN.

RecursionInfo

RecycleContactExtender

RecycleContactsProvider

RecyclePersonExtender

RecyclePersonProvider

RecycleTicketExtender

RecycleTicketProvider

RejectedInvitationExtender

Extender that fetches invitation that I (the owner associate) have received and rejected (not other people's rejections of invitations that I have made). It does not fetch rejected assignments, because those are immediately transferred back to the assigning party.

RejectedInvitationProvider

This is the query provider for invitations, of subtype 'Rejected'

RelationAssociateExtender

This class extends a Relation archive provider extender with the responsible associate

RelationCCProvider

RelationContactExtenderBase

Base class for extenders that handle the contact part of a relation archive

RelationCPProvider

RelationPCProvider

RelationPersonExtenderBase

Base class for extenders that handle the person part of a relation archive

RelationPPProvider

RelationProvider

Data provider class for the 'Relation' archive under the company card. This class combines output from the up to eight basic sub-providers (CC, PC, PP and CP plus their reversed cousins) into one data stream.

RelationQueryProviderBase<SourceExtenderType, TargetExtenderType>

RelationSourceContactExtender

Extender class for relation persons on the source side

RelationSourcePersonExtender

Extender class for relation persons on the source side

RelationTargetContactExtender

Extender class for relation persons on the destination side

RelationTargetPersonExtender

Extender class for relation persons on the destination side

ReportCriteriaHelper

A helper class for reports, favorite reports, temporary favorite reports and criteria.

ReportLabelLayoutProvider

This archive provider enables access to the information regarding report label layout.

ReportProvider

This archive provider is made for getting the available criteria for a given report. The report id is set when instanciating the object through the

ReportsExtenderBase

ReportsProviderBase

Archive provider for the list of reports

ReportsReportsExtender

RequestNotificationProvider

ResourceIconHintMapping

Class used for simple mapping between icon hints and resources. used by the criteria system to specify correct heading resources to use.

ResourceIconHintMappingHelper

Implements a simple class for mapping between icon hints and resource strings

RestrictionColumnsProvider

RestrictionCriteriaStorage

Concrete criteria storage class for handling search/find/selection/... restrictions - generally all restriction storage except for the Reporter panel

RestrictionExpansionHolder

RestrictionHelper

Helper class for handling restrictions in the archive list system

RestrictionHelper.ProcessCustomRestriction

Definition of delegate to handle custom processing of restrictions based on fields mapped using the MapSimplexxx methods

RestrictionOperations

This class provides basic restriction handling for Archive lists. It knows the allowable operators for each column type, can provide a list of them for the SoList system, and can parse a restriction (that is, the value part of the restriction). It also (re)calculates values that are relative to the current date/time or some other changeable quantity.

RestrictionOperations.OperatorInfo

Operator information container

RestrictionOperations.RestrictionTypeOptions

Options that may be appended to the valuehints.

RestrictionOperations.ValueCalculator

RestrictionParsingHelper

This class implements an infix-to-binary-expression-tree parser, so that the expansions of ArchiveRestrictionInfos can be made into a proper SQL Restriction.

RestrictionReporterStorage

RestrictionStorageBase

Base class for restriction storage providers, containing useful common methods. Inheriting from this class is useful but not mandatory for a storage provider.

RestrictionStorageFactory

Factory class for restriction storage providers. This class will scan for plugins of type and return a provider for a particular storage type on request.

RestrictionStoragePluginAttribute

Attribute marking a class as a plugin for restriction storage. The plugin must also implement the interface. Restriction storage plugins are prioritized, the default priority is int.MaxValue/2.

RestrictionStorageSentryAttribute

Attribute used on CriteriaProviders to declare that certain operations should be protected by a Sentry

ReturnFieldsCalculator

ReturnFieldsCalculatorAttribute

ReturnFieldsCalculatorBase

Base class for return fields calculators. A return field calculator is a class that takes a provider name and an array of restrictions, and determines a 'sensible' set of return fields (i.e., what you could give to SetDesiredColumns(String[])) based on what the provider offers and what you search for. The actual calculators are plugins; if you base them on this class, a lot of the standard stuff is taken care of.

RoleExtenderBase

This is the base class for all extenders that add Role fields to their base query. It handles all Role-related fields. Derived classes should simply implement the method to join a RoleTableInfo to the .

RoleProvider

Archive of Roles - used by the web api. Lists all Roles in table.

RoleRoleExtender

Root extender for Roles - list all roles in table

RowActionItemInfo

Description of one action item, destined for an archive row context menu or toolbar button

RowInfo

Information about a currently selected row

RowsTo

Calculate number of rows to skip using either page number (positive numbers) or number of rows (negative page numbers).

SaintActivityTypeProvider

This SoList provider generates the appointment/task type list for the Saint criteria. This is a simple, hard-coded list corresponding to the type field of the and tables. Tasks are both appointments and documents.

SaintAmountClassProvider

This SoList provider generates the amount class list for the Saint criteria. This list is an extension of the basic AmountClass MDO list, with the addition of an ALL choice with ID 0.

SaintContactProviderWithRestrictionGroupSupport

Archive provider for Contact Saint Status - same as Find Contact, but adds ability to call up stored definitions via a statusDefId column

SaintDirectionProvider

This SoList provider generates the appointment/task direction list for the Saint criteria. This is a simple, hard-coded list corresponding to the direction field of the and tables. Tasks are both appointments and documents.

SaintIntentionProvider

This SoList provider generates the Intent list for the Saint criteria. This list is an extension of the basic Intent MDO list, with the addition of an ALL choice with ID 0.

SaintPersonProviderWithRestrictionGroupSupport

Archive provider for Contact Saint Status - same as Find Contact, but adds ability to call up stored definitions via a statusDefId column

SaintProjectProviderWithRestrictionGroupSupport

Archive provider for Project Saint Status - same as Find Project, but adds ability to call up stored definitions via a statusDefId column

SaintProviderWithRestrictionGroupSupport

Base for Saint providers with multiple OR groups.

SaintRestrictionExtenderBase

Base class for handling Saint restrictions - not column display (as yet anyway)

SaintRestrictionExtenderBase.Columns

Definition of saint counter columns, with values that correspond to published criterion ID's used by the SIX.win client

SaintRestrictionExtenderBase.CounterType

Counter data type, such as date, number or bool

SaintRestrictionExtenderBase.MainType

Saint item type - sale, activity, or status

SaintSaleStatusProvider

This SoList provider generates the sale status list for the Saint criteria. This is a simple, hard-coded list corresponding to the status field of the table.

SaintTicketCategoryProvider

This SoList provider generates the eJournal top-level categories, meant for the saint system

SaintTicketStatusProvider

This SoList provider generates the ticket status list for the Saint criteria. This is a simple, hard-coded list, special for this context

SaleActivityArchiveProvider

Activity archive provider for the Sale card

SaleAppointmentExtender

Implements the joiner for sale and appointments

SaleAssociateExtender

This class extends a Sale archive provider extender with the responsible associate

SaleContactExtender

Extend a Sale extender with a Contact extender, to provide the Contact columns related to a Sale.

SaleDiaryProvider

Sale archive provider for the Diary card

SaleDocumentExtender

Implements the joiner for sales and documents

SaleExtenderBase

Base class for Extenders that handle the Sale table

SaleExtenderBase.Features

SaleFavouritesProvider

SaleFilteredProvider

Sale archive provider for the Contact/Project card

SaleFilteredWithStakeholderProvider

SaleGuideAppointmentProvider

Specific provider for Sale Guide Items of type Appointment

SaleGuideDocumentProvider

Specific provider for Sale Guide Items of type Appointment

SaleGuideProvider

Provider for the Sale Guide, common to both Appointment and Document guide items and instances

SaleGuideSubProviderBase<RootExtender>

Common base class for the Appointment and Document providers for Sale Guide items

SaleHistoryAssociateExtender

This class extends a Sale archive provider extender with the responsible associate

SaleHistoryContactExtender

Extend a SaleHist extender with a Contact extender, to provide the Contact columns related to a Sale.

SaleHistoryPersonExtender

Extend a Sale extender with a Person extender, to provide the person columns related to a Sale.

SaleHistoryProjectExtender

Extend a Sale extender with a Project extender, to provide the Project columns related to a Sale.

SaleHistoryProvider

Sale histories. Contains all changes to the sale records over time.

SaleHistorySaleHistoryExtender

This class essentially converts a Sale History extender into a primary query provider. This is done by having the SetJoin method return a free-standing SaleHistTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

SaleHistoryVisibleForExtender

This class extends a Sale extender with the VisibleFor fields, for both display and restriction use

SalePersonExtender

Extend a Sale extender with a Person extender, to provide the person columns related to a Sale.

SaleProjectExtender

Extend a Sale extender with a Project extender, to provide the Project columns related to a Sale.

SaleProvider

Archive provider for Sale type activities. This provider can be used on its own, or can form part of the ActivityArchiveProvider, which mixes sales, appointments, tasks and documents.

SalePublishExtender

Extend a Sale extender with a Publish extender, to provide the Publish columns related to a Sale.

SaleQuoteExtender

SaleQuoteExtender joins Sale with Quote

SaleSaintExtender

Sale saint extender

SaleSaleExtender

This class essentially converts a Sale extender into a primary query provider, suitable for use in the Sale Archive as the root query provider. This is done by having the SetJoin method return a free-standing SaleTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

SaleSaleStakeholderExtension

SaleStakeholderContactExtender

SaleStakeholderExtenderBase

SaleStakeholderPersonExtender

SaleStakeholderProvider

SaleStakeholderSaleStakeholderExtender

SaleSuggestedAppointmentExtender

Implements functionality specific to suggested appointments that come from a Sale Guide

SaleSuggestedDocumentExtender

Implements functionality specific to suggested documents that come from a Sale Guide

SaleTextExtender

This class extends a Sale archive provider extender with the into text field

SaleTypeQuoteAttachmentDocumentExtender

Implements the joiner for saletype and documents

SaleTypeQuoteAttachmentExtenderBase

Document extender base. This class is the same as the DocumentExtenderBase but without linking in the description in the text column

SaleTypeQuoteAttachmentProvider

This is the archive Provider for the Product Archive is SoAdmin.

SaleTypeQuoteAttachmentSaleTypeQuoteAttachmentExtender

SaleUdefExtender

This class extends a Sale archive provider extender with udef fields

SaleVisibleForExtender

This class extends a Sale extender with the VisibleFor fields, for both display and restriction use

SaSmSaleExtender

This class is a root extender based on Sale with the added functionality that it instantiates a GenericTargetSelectionMemberExtender. Thus giving us the sale data based on a static sale selection.

SavedReportsProvider

Specialized provider for the archive in the Reporter panel. It subclasses the DocumentProvider class, which forms one of the channels in standard Activity archives.

Scanner

SelecteionAssociateExtender

This class extends a selection archive provider extender with the responsible associate

SelectionAddMembersProvider

This is the provider used when searching for potential new members of a static selection. It is actually just a facade for the FindContactProvider, but a different name is required to avoid stepping on stored findcontact queries for the same user. Before using this provider, please read the Remarks section and make sure you understand its special functionality.

SelectionAddStaticContactMemberExtender

Contact extender for dynamic selection, containing the special handling needed for the STOP and NO DM modifiers

SelectionCombinedContactPersonExtenderBase

Contact extender for dynamic selection, containing the special handling needed for the STOP and NO DM modifiers

SelectionCombinedContactProviderBase<Extender>

SelectionCombinedProvider

Implementation of the provider for the combined selection

SelectionContactExtenderBase

SelectionContactPersonExtender

The SelectionContactPersonExtender extends a contact with persons, if at least one person-related condition has been set (this happens in the ContactPersonAsEntityExtenderBase base class, and requests the set of features from the PersonExtenderBase.

SelectionContactPersonExtender.IncludePersonType

This enum specifies the possible values for the include person option in dynamic selection and add selection members. The values correspond to published database values. Note that the comment in the dictionary is wrong if it disagrees with the enum values defined here :-)

SelectionDynamicContactExtender

Contact extender for dynamic selection, containing the special handling needed for the STOP and NO DM modifiers

SelectionDynamicContactProvider

SelectionDynamicProvider

SelectionExtenderBase

Handle fields from the Selection table; process targetTableNumber 0 as if it were 5

SelectionExtenderBase.Features

SelectionFavouritesProvider

SelectionInfoTextExtender

SelectionLastUsageHelper

Helper class for Selections of all kinds, to save tracking information about loading, changes and member counts

SelectionLinkExtender

This class is a way of adapting Selection to the way activity rows are displayed, meaning with text and icons

SelectionMemberAppointmentExtender

This class essentially converts a Appointment extender into a primary query provider, suitable for use in the Appointment Archive as the root query provider. This is done by having the SetJoin method return a free-standing AppointmentTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

SelectionMemberDocumentExtender

This class essentially converts a Document extender into a primary query provider, suitable for use in the Document Archive as the root query provider. This is done by having the SetJoin method return a free-standing DocumentTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

SelectionMemberExtenderBase

This is the base class for all extenders that add SelectionMember fields to their base query. It handles all SelectionMember-related fields. Derived classes should simply implement the method to join a SelectionMemberTableInfo to the .

SelectionMemberProjectExtender

This class essentially converts a Project extender into a primary query provider, suitable for use in the Project Archive as the root query provider. This is done by having the SetJoin method return a free-standing ProjectTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

SelectionMemberSaleExtender

This class essentially converts a Sale extender into a primary query provider, suitable for use in the Sale Archive as the root query provider. This is done by having the SetJoin method return a free-standing SaleTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

SelectionMemberStaticProvider

Provider for the Selection Member table

SelectionPersonExtenderBase

SelectionProvider

SelectionSelectionExtender

This class essentially converts a Selection extender into a primary query provider, suitable for use as the root query provider for an archive. This is done by having the SetJoin method return a free-standing SelectionTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

SelectionStaticContactExtender

Base extender for selection members, static, of type contact (not person)

SelectionStaticContactProvider

SelectionStaticPersonExtender

SelectionStaticPersonProvider

SelectionStaticProvider

SelectionVisibleForExtender

This class extends a Selection extender with the VisibleFor fields, for both display and restriction use

ShadowSelectionHelper

Class for working with common functionality in Shadow selections.

ShadowSelectionProvider

Universal shadow selection dispatcher: Retrieve the contactId and/or personId of all contact/person shadow members of any selection

ShipmentEmailFlowExtender

This class extends a Mailing with the flow containing the shipment

ShipmentLinkClickExtenderBase

Extender base class used to add information about links clicked by a customer

ShipmentMessageEmailFlowExtender

This class extends a EmailFlow content archive provider extender with the flow containing the message

ShipmentMessageExtenderBase

ShipmentMessageExtenderBase.Features

ShipmentMessageShipmentExtender

This class extends a EmailFlow content archive provider extender with a shipment

SimpleAppointmentExtender

SimpleAppointmentsProvider

SimpleChatSessionExtender

SimpleChatSessionsProvider

SimpleContactExtender

SimpleContactsProvider

SimpleDocumentExtender

SimpleDocumentsProvider

SimpleInvitationExtender

Extender that fetches invitations I have received - new, seen and moved.

SimpleInvitationProvider

This is the query provider for invitations, of subtype 'Simple'

SimplePersonExtender

SimplePersonsProvider

SimpleProjectExtender

SimpleProjectsProvider

SimpleSaleExtender

SimpleSalesProvider

SimpleSelectionExtender

SimpleSelectionsProvider

SimpleShipmentProvider

Archive provider for the list of mailings

SimpleTicketExtender

SimpleTicketsProvider

SmSmAppointmentExtender

This class is a root extender based on SelectionMember, with the added functionality that it instantiates a SelectionMemberAppointmentExtender - thus initiating the cascade that gives us full Appointment functionality, restricted to selectionmembers for a particular selection.

SmSmDocumentExtender

This class is a root extender based on SelectionMember, with the added functionality that it instantiates a SelectionMemberDocumentExtender - thus initiating the cascade that gives us full Document functionality, restricted to selectionmembers for a particular selection.

SmSmProjectExtender

This class is a root extender based on SelectionMember, with the added functionality that it instantiates a SelectionMemberProjectExtender - thus initiating the cascade that gives us full Project functionality, restricted to selectionmembers for a particular selection.

SmSmSaleExtender

This class is a root extender based on SelectionMember, with the added functionality that it instantiates a SelectionMemberSaleExtender - thus initiating the cascade that gives us full Sale functionality, restricted to selectionmembers for a particular selection.

StaticSelectionMemberBase

Extender base class used to add information about static selection membership to contact or person rows, if so requested by the client.

StaticSelectionProviderBase<RowType, RootExtender>

Base class for static selection providers; handles lastLoaded and memberCount updates

SubscriptionExtender

Extender that adds functionality to search for persons with emarketing subscriptions

SuggestedAppointmentAppointmentExtender

Extend a SuggestedAppointment extender with a Appointment extender, to provide the Appointment columns related to a SuggestedAppointment.

SuggestedAppointmentExtenderBase

Extender base for suggested appointment items in Guides

SuggestedDocumentDocumentExtender

Extend a SuggestedDocument extender with a Document extender, to provide the Document columns related to a SuggestedDocument.

SuggestedDocumentExtenderBase

Extender base for suggested document items in Guides

SuperListColumnSizeAssociateExtender

This class extends a Form submission archive provider extender with associate info

SuperListColumnSizeExtenderBase

SuperListColumnSizeProvider

SuperListColumnSizeSuperListColumnSizeExtender

SystemEventRegisteredAssociateExtender

This class essentially converts a Associate extender into a primary query provider, suitable for use in the Archive as the root query provider. This is done by having the SetJoin method return a free-standing TableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

SystemEventsExtenderBase

Provider for the list of system events.

SystemEventsProviderBase

Provider base for system events.

SystemEventsSystemEventsExtender

TableExtenderBase<MainTableInfo>

Improved version of the ExtenderBase base class. This class adds a typed TableInfo member and the call to SetJoin, as well as an implementation of the TableToExtend property, thereby saving derived classes from these chores.

TargetAssignmentValueAssociateExtender

This class extends the archive provider extender with the associate

TargetAssignmentValueContactExtender

This class extends the archive provider extender with the contact

TargetValueExtenderBase

Base extender class that handles target values. Can give you a stream of target values with associate and period/year, based on given criteria.

TargetValueProvider

TargetValueSubProvider

Archive of TargetValue - used by .

TargetValueTargetValueExtender

Root extender for Target values

TextExtenderBase

This is the base class for all extenders that add Text fields to their base query. The desired name and display name of the text field are passed in as constructor arguments, since specific field names are much more desirable than using prefixes and a standard name. Derived classes should implement the method to join an TextTableInfo to the , and set the column name and display name in their constructor.

TicketActivatedNotificationExtender

TicketActivatedNotificationSubProvider

TicketConnectExtender

TicketCreatedByExtender

This class connects an Associate extender to the createBy ejUser field of Ticket

TicketCustomersExtender

This class essentially converts a Person extender into a primary query provider, suitable for use in the Person Archive as the root query provider. This is done by having the SetJoin method return a free-standing PersonTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

TicketCustomMessageNotificationExtender

TicketCustomMessageNotificationSubProvider

TicketEjCategoryExtender

This class essentially converts a Person extender into a primary query provider, suitable for use in the Person Archive as the root query provider. This is done by having the SetJoin method return a free-standing PersonTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

TicketEscalatedNotificationExtender

TicketEscalatedNotificationSubProvider

TicketExtenderBase

This is the base class for all extenders that add Person fields to their base query. It handles all person-related fields, as well as having its own standard extenders for udef, email, phone and fax. Derived classes should simply implement the method to join a PersonTableInfo to the .

TicketExtenderBase.Features

TicketFavouriteExtender

TicketFavouritesProvider

TicketFavouriteUpdatedNotificationExtender

TicketFavouriteUpdatedNotificationSubProvider

TicketMessageExtenderBase

This is the base class for all extenders that add EjMessage fields to their base query. It handles all ej-message-related fields, as well as having its own standard extenders for udef, email, phone and fax. Derived classes should simply implement the method to join a EjMessageTableInfo to the .

TicketMessagePersonExtender

TicketMessageProvider

Messages on support tickets. Messages are typically e-mail messages with attachments, but not always.

TicketMessageTicketExtender

Add Ticket fields to the end of a TicketMessage (ejMessage) provider

TicketMessageTicketMessageExtender

This class essentially converts a ejMessage extender into a primary query provider

TicketNewMessageNotificationExtender

TicketNewMessageNotificationSubProvider

TicketNewNotificationExtender

TicketNewNotificationSubProvider

TicketNotificationExtenderBase

TicketNotificationExtenderBase.NotifyType

Copied from eJournal.sln.Notify.h

TicketNotificationProvider

Retrieves pending request notifications for current user

TicketOrigCategoryExtender

This class essentially converts a Person extender into a primary query provider, suitable for use in the Person Archive as the root query provider. This is done by having the SetJoin method return a free-standing PersonTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

TicketOwnedByExtender

This class essentially converts a Associate extender into a primary query provider, suitable for use in the Associate Archive as the root query provider. This is done by having the SetJoin method return a free-standing PersonTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

TicketPersonExtender

This class essentially converts a Person extender into a primary query provider, suitable for use in the Person Archive as the root query provider. This is done by having the SetJoin method return a free-standing PersonTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

TicketPriorityExtenderBase

This is the base class for all extenders that add Person fields to their base query. It handles all person-related fields, as well as having its own standard extenders for udef, email, phone and fax. Derived classes should simply implement the method to join a PersonTableInfo to the .

TicketProvider

This is the archive Provide for the Person Archive of the Contact Panel - or to use GUI terminology, the Contact archive of the Company panel. It provides two entities, person and retiredPerson, and a large number of columns. Through the constructor one can choose to include Contact table data; this will also pull in contact udef and related fields.

TicketSelectionMemberExtender

This class is a root extender based on Ticket with the added functionality that it instantiates a GenericTargetSelectionMemberExtender. Thus giving us the ticket data based on a static ticket selection.

TicketStatusExtenderBase

This is the base class for all extenders that add Person fields to their base query. It handles all person-related fields, as well as having its own standard extenders for udef, email, phone and fax. Derived classes should simply implement the method to join a PersonTableInfo to the .

TicketTicketExtender

This class essentially converts a Ticket extender into a primary query provider, suitable for use in the Ticket Archive as the root query provider. This is done by having the SetJoin method return a free-standing TicketTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

TicketTicketPriorityExtender

This class essentially converts a TicketPriority extender into a primary query provider, suitable for use in the Ticket Archive as the root query provider. This is done by having the SetJoin method return a free-standing TicketPriorityTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

TicketTicketStatusExtender

This class essentially converts a Person extender into a primary query provider, suitable for use in the Person Archive as the root query provider. This is done by having the SetJoin method return a free-standing PersonTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

TicketTransferredNotificationExtender

TicketTransferredNotificationSubProvider

TimeZonesProvider

Token

TokenType

TypedArchiveRowComparer<RowType>

Comparer class used to compare two ArchiveRow objects according to the given orderby criteria. This class handles comparisons by both OrderByValue and DisplayValue, type harmonization and conversions, and multiple ascending/descending orderby criteria.

If you have a set of archive row iterators, you can use the ArchiveRowIteratorComparer class to sort the iterators according to their .Current rows

TypedInMemoryProviderBase<RowType>

TypedMultiQueryProviderBase<RowType>

Base class for multi-channel providers that have a strongly typed archive row type. It will get and set the standard columns from the row type, and cast generic result rows into strongly typed ones.

TypedProviderHelper<RowType>

Parameterized helper class for typed archive providers. It uses reflection via the RowType parameter to determine standard columns (based on const string ColumnXXX declarations in the typed row class), and provider DesiredColumns adjustment to always include the standard columns.

TypedQueryProviderBase<RowType, RootExtender>

Base class for single-query providers that have strongly typed archive rows. It contains declarations and methods to set up one main extender, get the standard column names from the row type, and set standard entity-based navigation hints if no other hints have been set.

UdefExtenderBase

This is the base class for all extenders that add Udef fields to their base query. It handles all udef-related fields. Derived classes must implement the method to join udef tables as needed to the . Since there are two tables involved, the SetJoin implementation is different from standard; see the documentation on InnerModifyQuery() in this class for more information.

UdefRetryState

UnassignedTicketsProvider

UrlExtenderBase

This is the base class for all extenders that add URL fields to their base query. It handles all url-related fields. Derived classes should simply implement the method to join a URLTableInfo to the .

URLLinkExtender

This class is a way of adapting URL to the way activity rows are displayed, meaning with text and icons

URLURLExtender

This class essentially converts a URL extender into a primary query provider, suitable for use in the URL Archive as the root query provider. This is done by having the SetJoin method return a free-standing URLTableInfo instance that is not joined to anything, and overriding the TableToExtend property to return the same TableInfo.

UsageStatsExterderBase

UsageStatsProvider

UsageStatsUsageStatsExtender

UserOpenTicketsProvider

UserPreferenceArchiveHelper

Helper class to decode / populate preference values; provides shared logic for the UserPreferenceExtenderBase and MappedPreferenceProvider

UserPreferenceExtenderBase

UserPreferencesProvider

User (and system) preference settings, at all levels

UserPreferenceTableProvider

Archive provider for preferences that live in the userpreference table. MappedPreferenceProvider for those that actually live in the Service tables.

UserPreferenceUserPreferenceExtender

UsersProviderBase

Archive provider for the list of users in SoAdmin, including dynamic license columns

VisibleColumnsProvider

VisibleForExtenderBase

Base class for VisibleFor columns, when you need to know what the actual visiblefor status is, as compared to merely being restricted by it

WebAppUsageAssociateExtender

This class extends a Form submission archive provider extender with associate info

WebAppUsageExtenderBase

WebAppUsageProvider

WebAppUsageWebAppUsageExtender

WorkflowAssociateExtender

This class extends a EmailFlow archive provider extender with the responsible associate

WorkflowExtenderBase

WorkflowExtenderBase.Features

WorkflowExtenderBase.WFStats

WorkflowInstanceContactExtender

Extends email flow instance with it's company

WorkflowInstanceEmailFlowExtender

WorkflowInstanceExtenderBase

WorkflowInstanceExtenderBase.Features

WorkflowInstancePersonExtender

Extends email flow instance with it's person

Interfaces

IArchiveActivityLinksProvider

IArchiveCombinedContactPersonProvider

Static selection and Find Contact share the special property that they can operate in either a Contact or a Person mode, controlled by the restrictions given. In some cases it is desirable to know from the outside which mode has been set. This interface provides a method to do so.

IArchiveControlEventHandler

This interface defines a handler for archive row events - what should happen when a user double-clicks or otherwise operates on a row of a custom archive; and which action items (buttons, menus) should be shown

IArchiveDynamicExtender

Full interface for an extender that can be part of a dot-syntax provider

IArchiveExtender

This interface defines an Archive Extender: A class that adds columns to an existing query. This interface is defined as the sum of its parents: IArchiveProviderDoesExtend for the actual extension part, IArchiveProviderHasColumns for the property of adding columns to the final result; IArchiveProviderExtensible because extenders are themselves extensible and should be able to form chains; and SuperOffice.Factory.IPlugin because extenders are added as plugins to their parents by the factory mechanism. Some extra functionality is also defined, that is an extension of the strict properties

IArchiveFindAppointmentProvider

IArchiveFindContactProvider

Typed interface for the Find Contact archive provider. This interface provides a typed facade for the otherwise generic implementation.

IArchiveFindDocumentProvider

IArchiveFindProjectProvider

IArchiveFindProviderBase<TypedRow>

IArchiveFindSaleProvider

IArchiveFindSelection

IArchiveInvitationProvider

IArchiveLinksProvider

IArchiveMultiQueryProvider

This interface defines a query provider that itself contains multiple sub-providers. The sub-providers each generate their own set of rows, and the task of the multi provider is to keep track of them and merge their data. The standard base class MultiQueryProviderBase implements this interface.

IArchiveProvider

This is the external standard interface of archive providers exposed to the service layer and the world in general. The ArchiveProviderFactory creates and returns providers by this type.

IArchiveProviderDoesExtend

This interface defines the methods needed to extend an archive provider with additional columns. The standard base class implements this interface.

IArchiveProviderDynamicExtend

Interface used by extenders that can be part of a dot-syntax provider

IArchiveProviderExtenderAccept

Optional interface for extenders.

IArchiveProviderExtensible

This interface defines the extensibility property of an archive provider. Most of these methods are implemented by the standard base class . Actual functionality is found in the ExtensibleHelper class.

IArchiveProviderHasColumns

This interface defines the archive provider property of having display columns. The standard base class implements this interface. Actual functionality is found in the ColumnHelper class.

IArchiveProviderHasEntities

This interface represents the property of having one or more entities of archive providers. It is not limited to multi query providers, since it also covers providers with just one entity. The standard base classes and MultiQueryProviderBase implement this interface. Actual functionality is found in the EntityHelper class.

IArchiveProviderHasRows

This interface defines the property of having rows of an archive provider. It is implemented by the and MultiQueryProviderBase base classes.

IArchiveProviderQueryMapping

Optional interface for extenders.

IArchiveQueryProvider

This is the interface of a provider that has a single root query, is extensible, and has rows and columns. The standard base class implements this interface.

IArchiveTypedProvider<StronglyTypedRow>

Base interface for strongly typed providers, defining the methods and properties common to all such interfaces

IArchiveTypedProviderBase

Non-generic base interface for strongly typed providers, defining the methods and properties common to all such interfaces; this interface has no knowledge of the return row type, which is added in the interface that inherits from this interface

IRestrictionStorage

This interface defines the operations for storing and retrieving arrays of restrictions. Such functionality is used to save search criteria on the Find dialogs; Dynamic Selection, and Reporter. The actual storage operations require a mapping between the provider and columns names, and whatever keying system is used by the storage provider. This mapping is internal to the storage providers, which are implemented as plugins with their own mapping system. The method can be used to retrieve the list of columns handled by a particular provider, if filtering is needed.

IRestrictionStorageMappingConfiguration

IRowNavigationHint

© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top