Namespace SuperOffice.CRM.ArchiveLists
Classes
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>
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.
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.
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 SuperOffice.CRM.ArchiveLists.Features requested, this extender will create and link other extenders for related data - potentially quite deep.
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
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 InnerMapFields 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
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 IArchiveRowEventHandler, 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 ExtenderBase 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 ExtenderBase 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 QueryProviderBase 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.
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'
CategoryMembersProvider
Archive of CategoryMember - used by the web api. Combines all CategoryMembers in table together with added, edited or removed through restrictions.
CategoryMembersRestrictionParser
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 ExtenderBase.SetJoin method to join a CategoryMembershipTableInfo to the RootQuery.
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 SuperOffice.CRM.ArchiveLists.Features requested, this extender will create and link other extenders for related data - potentially quite deep.
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 SuperOffice.CRM.ArchiveLists.Features 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.
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 ExtenderBase.SetJoin method to join a ContactTableInfo to the RootQuery.
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.
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.
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
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
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
EMailAddressProvider
Special purpose archive provider used to search for email addresses.
EMailItemEMailItemExtender
EMailItemProvider
Provides populated mail envelope rows as an archive
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 ExtenderBase.SetJoin method to join a EjCategoryTableInfo to the TableExtenderBase.RootQuery.
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 ExtenderBase.SetJoin method to join a PersonTableInfo to the RootQuery.
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.
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 ExtenderBase.SetJoin method to join an EmailTableInfo to the RootQuery.
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
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
EmailFlowSMessageContentProvider
Email flow message content. Lists all email flow message content
EmailFlowWorkflowExtender
EmailFlowsAndFoldersProvider
Archive of EmailFlows and Folders. Combines all EmailFlows and EmailFlowFolders in one archive together.
EmailItemAccountAssociateExtender
This class extends archive provider extender with the responsible associate
EmailItemContactExtender
Extend extender with a Contact extender, to provide the Contact columns related.
EmailItemExtenderBase
EmailItemPersonExtender
Extend an extender with a Person extender, to provide the person columns related.
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.
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 ExtenderBase or QueryProviderBase, 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 ExtenderBase.SetJoin method to join a URLTableInfo to the RootQuery.
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.
FavouriteTicketExtender
Extend a Favourite extender with a Ticket extender, to provide the Ticket columns related to a Favourite.
FavouriteTicketsProvider
FavouritesProvider
Archive provider for the list of favourites
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 PersonExtenderBase.FindPerson 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
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.
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 clientFreetextContactResultProvider
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 ExtenderBase.SetJoin method to join an TextTableInfo to the RootQuery, 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
MailItemProvider
Provides populated mail envelope rows as an archive
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
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.
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.
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 AggregationProvider
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 SuperOffice.CRM.ArchiveLists.ArchiveListConstants.ColumnTypes. 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
ParseTree
Parser
Parsers
Converts a string into an array of ArchiveRestrictionInfo objects.
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 ExtenderBase.SetJoin method to join a PersonTableInfo to the RootQuery.
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 ExtenderBase.SetJoin method to join an PhoneTableInfo to the RootQuery.
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.
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 ExtenderBase.SetJoin method to join a PriceListTableInfo to the RootQuery.
PriceListProvider
Archive of Pricelists - used by the web api. Lists all Pricelist in table.
PricelistPricelistExtender
Root extender for Batch tasks - list all batch tasks 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 ExtenderBase.SetJoin method to join a ProductTableInfo to the RootQuery.
The column names need to be synchronized with the FindProductStandardWrapper 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 ExtenderBase.SetJoin method to join an ProjectTableInfo to the RootQuery.
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
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)
ProviderToReaderWrapper
Helper class to serve an IArchiveProvider as an IDataReader; generally used for the implementation of the GetReader method of IArchiveProviderHasRows interface.
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 TypedInMemoryProviderBase, 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 ExtenderBase.SetJoin method to join a QuoteConnectionTableInfo to the RootQuery.
QuoteConnectionProvider
This is the archive Provider for the QuoteConnection Archive in SoAdmin.
QuoteConnectorProvider
QuoteExtenderBase
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 ExtenderBase.SetJoin method to join a QuoteLineTableInfo to the RootQuery.
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
RecordTypeProvider
A complete and generic mapping of record types to resource strings. This is a simple, hard-coded list corresponding to Task table SuperOffice.CRM.Data.Task 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
RelationCPProvider
RelationContactExtenderBase
Base class for extenders that handle the contact part of a relation archive
RelationPCProvider
RelationPPProvider
RelationPersonExtenderBase
Base class for extenders that handle the person part of a relation archive
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
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.
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 SuperOffice.CRM.Services.Implementation.DCF.ArchiveLists.IRestrictionStorage 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 SuperOffice.CRM.Services.Implementation.DCF.ArchiveLists.IRestrictionStorage 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(params 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 ExtenderBase.SetJoin method to join a RoleTableInfo to the RootQuery.
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).
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.
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 SuperOffice.CRM.Rows.DocTmpl and SuperOffice.CRM.Rows.Task 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 SuperOffice.CRM.Rows.DocTmpl and SuperOffice.CRM.Rows.Task 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)
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 SuperOffice.CRM.Rows.Sale 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
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
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 PersonExtenderBase.SelectionPerson set of features from the PersonExtenderBase.
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
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 ExtenderBase.SetJoin method to join a SelectionMemberTableInfo to the RootQuery.
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
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 ExtenderBase.SetJoin method to join an TextTableInfo to the RootQuery, 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
TicketCustomMessageNotificationExtender
TicketCustomMessageNotificationSubProvider
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.
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 ExtenderBase.SetJoin method to join a PersonTableInfo to the RootQuery.
TicketFavouriteExtender
TicketFavouriteUpdatedNotificationExtender
TicketFavouriteUpdatedNotificationSubProvider
TicketFavouritesProvider
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 ExtenderBase.SetJoin method to join a EjMessageTableInfo to the RootQuery.
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
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 ExtenderBase.SetJoin method to join a PersonTableInfo to the RootQuery.
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 ExtenderBase.SetJoin method to join a PersonTableInfo to the RootQuery.
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
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 rowsTypedInMemoryProviderBase<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.
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.
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 ExtenderBase.SetJoin method to join udef tables as needed to the RootQuery. 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 ExtenderBase.SetJoin method to join a URLTableInfo to the RootQuery.
UsageStatsExterderBase
UsageStatsProvider
UsageStatsUsageStatsExtender
UserOpenTicketsProvider
UserPreferenceArchiveHelper
Helper class to decode / populate preference values; provides shared logic for the UserPreferenceExtenderBase and MappedPreferenceProvider
UserPreferenceExtenderBase
UserPreferenceTableProvider
Archive provider for preferences that live in the userpreference table. MappedPreferenceProvider for those that actually live in the Service tables.
UserPreferenceUserPreferenceExtender
UserPreferencesProvider
User (and system) preference settings, at all levels
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.WFStats
WorkflowInstanceContactExtender
Extends email flow instance with it's company
WorkflowInstanceEmailFlowExtender
WorkflowInstanceExtenderBase
WorkflowInstancePersonExtender
Extends email flow instance with it's person
Structs
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.
FormFieldsExtender.FormField
MultiCultureFieldInfo
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 ExtenderBase 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 IExtensibleColumnsBase. Actual functionality is found in the ExtensibleHelper class.
IArchiveProviderHasColumns
This interface defines the archive provider property of having display columns. The standard base class IExtensibleColumnsBase 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 QueryProviderBase 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 QueryProviderBase 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 QueryProviderBase implements this interface.
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 IArchiveTypedProvider interface that inherits from this interface
IArchiveTypedProvider<StronglyTypedRow>
Base interface for strongly typed providers, defining the methods and properties common to all such interfaces
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 SuperOffice.CRM.Services.Implementation.DCF.ArchiveLists.IRestrictionStorage.GetHandledColumns method can be used to retrieve the list of columns handled by a particular provider, if filtering is needed.
IRestrictionStorageMappingConfiguration
IRowNavigationHint
Enums
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.
ActivityProviderBase<RootExtender>.DoneNotDoneFilter
Enum for done today/not done filtering logic
AppointmentExtenderBase.Features
AssociateExtenderBase.Features
ChatSessionExtenderBase.Features
ConsentPurposeExtenderBase.Features
ContactExtenderBase.Features
DocumentExtenderWithoutDescriptionBase.Features
EjCategoryExtenderBase.Features
EmailFlowExtenderBase.Features
FormSubmissionExtenderBase.Features
MailingsExtenderBase.Features
PersonExtenderBase.Features
ProjectExtenderBase.Features
ProjectMemberExtenderBase.Features
ProviderFlags
Flags that modify the behaviour of an Archive Provider, what it returns and how it runs
QuoteExtenderBase.Features
QuoteLineExtenderBase.Features
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
SaleExtenderBase.Features
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 :-)
SelectionExtenderBase.Features
ShipmentMessageExtenderBase.Features
TicketExtenderBase.Features
TicketNotificationExtenderBase.NotifyType
Copied from eJournal.sln.Notify.h
TokenType
WorkflowExtenderBase.Features
WorkflowInstanceExtenderBase.Features
Delegates
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
ExecuteDelegate
Delegate method called when this action should be executed - in a Windows client context
RestrictionHelper.ProcessCustomRestriction
Definition of delegate to handle custom processing of restrictions based on fields mapped using the MapSimplexxx methods