Namespace SuperOffice.Data
Classes
CachedSequence
This class is used to get sequence numbers (primary keys) for tables, where the physical sequence table is updated in batches.
DatabaseStepAttribute
A class decorated with this attribute represents a factory (possibly one of many) of TableInfo objects, and this attribute contains info about the dictionary steps the factory was generated for. Only the highest numbered step for each name is flagged
DataSetProvider
Class which can convert entities into datasets.
DbConvert
Class containing static methods to convert back and from the database.
DictionaryConstants
Constants used in the data dictionary
DictionaryConstants.ConceptualFieldType
Field types as used in the data dictionary, taken from the Excel master data dictionary. Note that the constants are in some cases not unique (Double and Float both have 16), this is for historical reasons.
These constants should be used to interpret the
DictionaryConstants.PhysicalFieldType
EMailFolderAttributeConstants
GdprLegalBases
GdprPurposes
GdprSources
GuideStepConstants
ImportColumnDef
Class containing a dictionary of all import columns available
ImportColumnDef.ImportColumn
MultiSave
Sometimes you need to save a number of Row or other kind of updating objects, and want to do so efficiently and in a single transaction. If so, add them to an instance of this class, and ultimately persist everything using Save.
NestedCollectionPersist
NestedCollectionPersist<TNestedPersist>
NestedPersist
Default implementation of INestedPersist.
NestedPersistFacade
PKContainer
Container for objects that need keys.
PrefDescCache
Cache for Preference Descriptions, stored in the prefdesc table. Since this table is only updated during upgrades, which imply a recycle anyway, it has a lifetime limited only by the database connection. There are about 700 prefdesc rows
ProjectStatusConstants
ProjectTypeConstants
QueryExectionExtensions
QueryExecutionHelper
Helper class for executing queries. This class encapsulates the process of getting a connection, making a command, running it, and cleaning up afterwards.
QuoteRights
QuoteRights are used for quoteline and product rights Rights can be one of: N (=None or Hidden), R (=Read-only), W (=Writeable), M (=Mandatory).
Record
Class used to contain and build information record, used to populate relation datastructures, like DataSet.
RecordSetProvider
Class which can convert entities into sets of Record-instances.
RecordValue
Class used to contain a record's value. Include actual value and its defined type.
RefCounts
Utility class for dealing with reference counters.
S
S.ArgumentFunctions
Keeper of all functions that work on both FieldInfos and Parameters.
S.FieldExpression
S.Math
S.ResultModifier
Class containing different static methods to support the modification of the resultset.
S.TableExpression
SaleStageConstants
SaleTypeConstants
Use with the additionalInfo parameter for the MDO list
ScopedSystemEvent
Sequence
Utility functions for getting primary keys. Keys are "burned" permanently and cannot be re-used. Key reservation is a potential bottleneck, so if you know in advance how many keys you will need, you should reserve them in one call.
ServicePreferenceMapper
Handle the mapping of some sections in userpreference to actually be stored in the config, registry and password_rules tables; backwards compatibility with Service
ServicePreferenceMappings
The actual mapping definitions between the "pseudo" preferences an records in config, registry and possibly other tables
ServicePreferenceMappings.PreferenceMappingInfo
SoCommand
Implements the IDbCommand.
SoConnection
This class implements the IDbConnection interface, and is the wrapper used to represent a connection against a physical database. The actual connection is an inner object and is a database-specific class, potentially provided by a dynamically loaded assembly (sybase and db/2).
SoDatabase
Hold information about a SuperOffice CRM5 database and its licenses.
SoDatabaseEnvironmentInfoPlugin
SoDataReader
Implements the IDataReader interface.
SoDuplicateChecker
SoftTrigger
Utility class for subscribing to changes in the database. The current implementation only handles changes made from this instance of NetServer.
SoftTriggerPluginAttribute
Attribute declaring a soft trigger.
SoParameter
Represents a parameter to a Command object. Implements IDbDataParameter, IDataParameter
SoParameterCollection
SoPreference
Reads user preferences at several levels, returning the preference value that is defined at the lowest level.
A user preference defined at level 5 is more specific than a preference read at level 2.
SoSqlParameter
Base class The purpose of this class is to return arguments to a sqlcommand. It contains a generated sql query and a collection of SoParameter. In order to create a command parametercollection the class uses SuperOffice.Data.SoSqlParameter.AddParametersToCommand(System.Data.IDbCommand) with a parameter IDbCommand object to build the collection
SoTransaction
Represents a transaction to be performed at a data source, and is implemented by .NET Framework data providers that access relational databases.
StatusDefConstants
Use with the additionalInfo parameter for the MDO list
SystemEventHelper
This class contains helper functions for publishing user-defined fields.
TablesInfo
Factory for generated TableInfo classes, supports both typed, named and generic lookups of tables
UdefConvertHelper
This class contains helper functions for handling conversion of user-defined fields from one type to another.
UdefHelper
This class contains helper functions for handling user-defined fields.
UdefParser
UdefPublishHelper
This class contains helper functions for publishing user-defined fields.
UserPreferenceCacheObject
Interfaces
IDataSetProvider
Interface for classes which can convert entities into datasets.
INestedPersist
Interface to be implemented by objects that are to take place in a nested persist (INSERT/UPDATE to the database).
IRecordSetProvider
Interface for classes which can convert entities into sets of Record-instances.
ISoCollection
ISoDataRecord
A version of IDataRecord customized for superoffice - using FieldInfo to look up fields, and missing some of the more obscure functions that we don't use. Intended for iteration over result sets
ISoftTriggerPlugin
Interface implemented by soft trigger subscribers
ISoItem
Support for database modifications.
UdefPublishHelper.IProgressHandler
Enums
ActivityStatus
Completed status enum common to appointments, documents and sales
AddressType
The type of Address This Enum is used by: address.atype_idx
AllDayEvent
Is this an all day event: 0 = No, 1 = Yes This Enum is used by: appointment.alldayEvent; Task.defaultAlldayEvent
AppAvailState
Value for the availableInState field in table externalapplication This Enum is used by: ExtApp.availableInState This Enum consists of flag values that can be combined.
ApplicationType
AppointmentCautionWarning
Appointment and invitation synchronization info This Enum is used by: appointment.cautionWarning
AppointmentPrivate
Value for field 'private' in table 'appointment'. This Enum is used by: appointment.private
AppointmentStatus
Value for field 'status' in table 'appointment'. This Enum is used by: appointment.status
AppointmentType
Value for field 'type' in table 'appointment'. This Enum is used by: appointment.type
ArchiveJoinType
AssignmentStatus
Status if this appointment is in the process of being assigned to someone else
AssociateType
Field Type in table associate This Enum is used by: associate.type; AssociateHistory.type This Enum consists of flag values that can be combined.
BatchTaskState
BlobLinkType
The link type, often synonymous with the blob type, of a BinaryObjectLink row This Enum is used by: BinaryObjectLink.linkType
BookingType
The type of booking the appointment represents
CalMethod
Valid iCal methods
CalReplyStatus
iCal reply status
ChatMessageSpecialType
Chat Message Special type This Enum is used by: chat_message.special_type
ChatMessageType
Chat Message type This Enum is used by: chat_message.type
ChatSessionFlags
Value for field 'flags' in table 'chat_session'. This Enum is used by: chat_session.flags This Enum consists of flag values that can be combined.
ChatSessionStatus
Chat Session status This Enum is used by: chat_session.status
ChatStatus
Value for field 'chat_status' in table 'ejuser'. This Enum is used by: ejuser.chat_status
ChatTopicFlag
Chat Topic flags This Enum is used by: chat_topic.flags This Enum consists of flag values that can be combined.
ChatWidgetSize
Chat widget size: normal or large
ColorIndex
Color index of tasks
CommandAction
Command action
CommandActionResult
Result of an action
ConceptualImageType
Conceptual image types
ConfigType
Value for field 'type' in table 'cust_config'. This Enum is used by: cust_config.type
CredentialControlType
Types of control used with user administration work with credentials
CredentialUsage
What kind of usage is this credential for This Enum is used by: Credentials.isActive
CrmActorType
Actor type within the CRM, system, a subset of the SuperOffice Entity types This Enum is used by: ErpConnectionActorType.ActorTypeCrm
CsAuthenticationType
Defines which authentication info to add when creating a CS Url
CsLoginAuthType
Defines the authentication type of a logged in user in the login table
CsLoginOrigin
Defines the origina of a logged in user in the login table
CsLoginStatus
Defines the status of a logged in user in the login table
CSRegistryEntry
CustomFieldType
Custom Field type: 1 = Number, 2 = Short text, 3 = Long text, 4 = Date, 5 = Unlimited date, 6 = Checkbox, 7 = Drop-down listbox, 8 = Decimal, 9 = DateTime, 10 = Time, 11 = TimeSpan, 12 = Relation, 13 = Attachment
DashboardLayout
Dashboard layout
DashboardTileEntityType
Dashboard tile entity type
DashboardTileOptionType
Dashboard tile option type
DashboardTileType
Dashboard tile type
DashTileCurrencyMode
Dashboard tile currency mode This Enum is used by: dashboard_tile_definition.currency_mode
DashTileEntityType
Dashboard tile entity type (V2) This Enum is used by: dashboard_tile_definition.entity_type
DashTileMeasure
Dashboard tile measure This Enum is used by: dashboard_tile_definition.measure
DashTileType
Dashboard tile chart type (V2) This Enum is used by: dashboard_tile_definition.tile_type
DbConvertType
Enums for the data types used in the database
DeltaState
State of delta This Enum is used by: ConfigurableScreenDelta.deltaState
DeltaType
Type and content of delta This Enum is used by: ConfigurableScreenDelta.deltaType
DesignType
Indicates what design type this message is created with This Enum is used by: s_message.designtype
DiaryGroupType
DocTmplDirection
Value for field 'direction' in table 'doctmpl'. This Enum is used by: DocTmpl.direction
DocTmplInvitationType
Is this document template some kind of appointment document, and if so what This Enum is used by: DocTmpl.invitationDocType
DocTmplPrivacyType
Is this document template some kind of quote document, and if so what This Enum is used by: DocTmpl.privacyDocType
DocTmplQuoteType
Is this document template some kind of quote document, and if so what This Enum is used by: DocTmpl.quoteDocType
DocTmplType
Value for field 'record_type' in table 'doctmpl'. This Enum is used by: DocTmpl.record_type
Domain
Hierarchy domain
DurationUnit
Units of duration - from seconds to centuries This Enum is used by: ProjType.durationUnit; SaleType.durationUnit
EFieldRight
Access levels to a single field. Read and/or write. This Enum consists of flag values that can be combined.
EjAccess
Defined in Clients\CS\lib\rms\UserLib.h, any changes must be kept in sync!
EjUserStatus
ElementStatus
Status for adding attributes to an element in a statical list This Enum is used by: s_list_element.status
EmailAccountStatus
Possible statuses for an EmailAccount. This Enum is used by: email_account.account_status
EMailFlags
This Enum is used by: email_item.flags This Enum consists of flag values that can be combined.
EMailMergeTargetType
What type of delivery system to use for a mail merge
EMailPriority
This Enum is used by: email_item.priority
EMailRecipientType
EmailType
What kind of email address - email, or some other communication type (chat, voip) This Enum is used by: Email.type
ErpActorType
Actor type within the ERP system, related but not identitcal to SuperOffice Entity type This Enum is used by: ErpConnectionActorType.ActorTypeErp; ErpExternalKey.ActorType
ErpSyncResponseCode
Response codes used by ErpSync services
ETableRight
Table right is a combination of bits representing permissions on a row. This Enum consists of flag values that can be combined.
EventHandlerType
CrmScript Event triggers - when CRMScript is run based on user or system actions.
ExecuteOnEvent
Value for the executeOnEvent field in table externalapplication This Enum is used by: ExtApp.executeOnEvent
ExtraDataFieldType
String, int, decimal, image, url, etc. How should the value be interpreted.
ExtraFieldFlags
Flag values for the CS extrafields dictionary This Enum consists of flag values that can be combined.
FieldAccess
Access restrictions and mandatory status, if any. This Enum is used by: ErpField.Access
FieldDataType
Datatype of the field in the database
FieldMetadataType
Describes the different types of controls that can appear in the Configure connection dialog This Enum is used by: ErpField.FieldType
FormsRecaptchaMode
Forms recaptcha mode
FormSubmissionStatus
What is the status of this submission This Enum is used by: form_submission.status
FormType
What kind of form is this This Enum is used by: form.type
FreeBusy
What kind of time is this: 0 = Busy, 1 = Free This Enum is used by: appointment.freeBusy; Task.defaultFreeBusy
FreeTextOperator
Freetext operator
GeneratorEncoding
ImportAction
Action being done for the import row This Enum consists of flag values that can be combined.
ImportBlankAction
Import action for blank values
ImportCompanyDuplicateAction
Action for blank companys for import
ImportContactDuplicateMatch
Contact duplicate matching for import
ImportDuplicateAction
Duplicate action for import
ImportEntityType
Entitys type for import This Enum consists of flag values that can be combined.
ImportNewListItem
Import new list item
ImportPersonDuplicateMatch
Person duplicate matching for import
ImportPhoneUrlsEmail
Import new list item
ImportProductDuplicateMatch
Product duplicate matching for import
InboxStatus
InterRestrictionOperator
Operators to be used between restrictions, describes how this restriction is related to the next one in an array
InvitationStatus
Status if this appointment represents an invitation
LayoutUnits
LicenceType
Licence type, as defined in the ModuleLicence.LicenceType field in the database
LocalizedTextType
The type of the locale text strings
LoginFlags
Bits in login.flags This Enum is used by: login.flags This Enum consists of flag values that can be combined.
MailboxType
Service mailbox type This Enum is used by: mail_in_filter.server_type
MDOSortOrder
List sort order, global for all lists
MessagingStatus
MoveMergeOperation
Navigation
Value for the navigation field in table externalapplication This Enum is used by: ExtApp.navigation
NetServerBuildType
NotificationMessageType
Defines what type of content the notification contains
NotificationPlatform
Value for field 'DevicePlatform' in table 'PushNotificationService' This Enum is used by: PushNotificationService.DevicePlatform
OrderBySortType
How to sort the Order by statement.
ParticipantType
The type of the appointment's participant
PhoneType
The type of Phone This Enum is used by: phone.ptype_idx
PrefDescAccessFlags
Value for field 'accessflags' in table 'prefdesc'. This Enum is used by: PrefDesc.accessFlags This Enum consists of flag values that can be combined.
PrefDescValueType
Value for field 'valueType' in table 'prefdesc'. This Enum is used by: PrefDesc.valueType
PreferenceLevel
Value for field 'deflevel' in table 'userpreference'. This Enum is used by: UserPreference.deflevel; UserPreference.maxlevel; PrefDesc.maxLevel; PrefDesc.sysMaxLevel
PublishType
Should this field be published by default? This Enum is used by: Task.defaultPublishType; DocTmpl.defaultPublishType; Publish.publishType
QueryExecutionHelper.ExecutionType
What kind of query - one that returns a reader with results, or some other kind
QuoteStatus
The state of a quote-alternative or line This Enum is used by: QuoteVersion.Status; QuoteAlternative.Status; QuoteLine.Status
QuoteVersionButtonAction
Possible actions for QuoteVersionButton states.
QuoteVersionState
State of a Quote Version This Enum is used by: QuoteVersion.State; QuoteVersion.ArchivedState
RecipientSorting
The different types of recipient sorting available This Enum is used by: s_shipment.sorting
RecurrenceDailyPattern
Enumerator describing the different patterns for a daily recurrence
RecurrenceEndType
Enumerator describing how the series of recurring activities are terminated.
RecurrenceMonthlyPattern
Enumerator describing the different patterns for a monthly recurrence
RecurrencePattern
Enumerator describing the main pattern of recurrence. This Enum is used by: RecurrenceRule.pattern
RecurrenceUpdateMode
Appointment recurrence change mode: only this, this and forward, stop
RecurrenceYearlyPattern
Enumerator describing the different patterns for a yearly recurrence
RefcountFlags
Value for flag field in refcounts This Enum is used by: RefCounts.flags This Enum consists of flag values that can be combined.
RelationTarget
Target type of relation. (Contact, person or both)
ReportCategory
The avaliable category
ReportLayout
ReportPaperOrientation
Describes the orientation of the paper when printing a report. The report layout must be "Label"
ReportType
RoleType
0 = employee, 1 = external user, 2 = anonymous This Enum is used by: Role.roleType
RoundDirection
Specifies the direction of which to round a DateTime
SaintCounterType
Saint counters - what is counted (kind of activity)
SaintTarget
Target of saint data, contact or project
SaleDone
Values for the 'done' field in the sale table This Enum is used by: sale.done; SaleHist.done
SaleStageIndex
Constant index values for sale stage
SaleStatus
Value for the 'status' field in the sale table This Enum is used by: sale.status; SaleHist.status; CounterValue.sale_status
ScreenChooserType
CS system event types for custom logic hooking This Enum is used by: ticket_relation_action.event
SelectionMemberType
Member type of a selection
SelectionSystemType
Selection system type - defines if this selection is one that is managed by the system, and what kind it is This Enum is used by: selection.SystemType
SelectionType
Selection type - static/dynamic/combined. Works together with targetTable to define what kind of Selection this is.
SelectionUnionType
How the selections in a combined selections should be put together This Enum is used by: selection.combinationType
SenderMailMode
Sender email mode This Enum is used by: DocTmpl.senderEmailMode
ServiceAuthStatus
Possible statuses for a ServiceAuth. This Enum is used by: service_auth.auth_status
ServicePreferenceMappings.PreferenceMappingType
ShipmentAddrStatus
Status for sending to a particular recipient This Enum is used by: s_shipment_addr.status
ShipmentLinkAction
Bitmask defining what action should be taken This Enum is used by: s_link.action_flags This Enum consists of flag values that can be combined.
ShipmentLinkTaskFlags
Flags that control how the task is created This Enum is used by: s_link.task_flags This Enum consists of flag values that can be combined.
ShipmentLinkType
Customer action type (clicked a link, viewed an image etc) This Enum is used by: s_link_customer.link_type; s_link_customer_statical.link_type This Enum consists of flag values that can be combined.
ShipmentListStatus
Status of shipment list This Enum is used by: s_list_shipment.status
ShipmentMessageType
Bitmask defining what type of shipment message this is This Enum is used by: s_message.flags This Enum consists of flag values that can be combined.
ShipmentStatus
Status for shipment (started, cancelled etc) This Enum is used by: s_shipment.status
ShowState
Value for the showState field in table externalapplication This Enum is used by: ExtApp.showState This Enum consists of flag values that can be combined.
ShowWindowState
Normal = 0, Maximized = 1, Minimized = 2 This Enum is used by: WinPosSize.state
SoDatabase.Version
Version of the deployed database
StatusScreenPanelType
StringSearchType
Enumeration that exposes what search types that are supported.
SystemEventHelper.Scope
SystemEventScope
Value for field 'scope' in table 'systemevent'.
SystemReport
System reports
TagEntity
Target Entity of Tags This Enum consists of flag values that can be combined.
TaskDirection
Value for field 'direction' in table 'task'. Controls icons used in GUI This Enum is used by: Task.direction
TaskItem
TaskType
Value for field 'record_type' in table 'task'. Controls icons used in GUI This Enum is used by: Task.record_type
TemporaryKeyDomain
Domains for temporary keys. This Enum is used by: TemporaryKey.domain
TextType
Value for field 'type' in table 'text'. This Enum is used by: text.type
TicketBaseStatus
Status of a ticket/request This Enum is used by: ticket.status; ticket_status.status
TicketCategoryClosingStatus
Default status for requests. Note that this is a preference which should be respected if making UI. It is not enforced by the APIs This Enum is used by: ej_category.closing_status; ej_category.msg_closing_status
TicketCategoryDelegateMethod
The delegate method used for request assigned to this category This Enum is used by: ej_category.delegate_method
TicketCategoryFlags
Flags for the ticket category This Enum is used by: ej_category.flags This Enum consists of flag values that can be combined.
TicketMessageCategory
Classification of ticket messages This Enum is used by: ej_message.message_category
TicketMessageType
Indicates if the field body contains plain or html text This Enum is used by: ej_message.type
TicketOrigin
Communication channel leading to ticket being created This Enum is used by: ticket.origin
TicketPriorityEscalateEvent
The different types of escalate events that can be set This Enum is used by: ticket_priority.ticket_read; ticket_priority.changed_owner; ticket_priority.ticket_newinfo; ticket_priority.ticket_closed; ticket_priority.ticket_changed_priority; ticket_priority.ticket_new
TicketPriorityFlags
Flags for the ticket priority This Enum is used by: ticket_priority.flags This Enum consists of flag values that can be combined.
TicketPriorityStatus
Status of the ticket priority This Enum is used by: ticket_priority.status
TicketReadStatus
Whether the owner has read the ticket or not (red, yellow, green) This Enum is used by: ticket.read_status
TicketSecurityLevel
Indicates if a ticket is external or internal This Enum is used by: ej_message.slevel; ticket.slevel
TicketStatusTimeCounter
Which field in ticket we count time spent on This Enum is used by: ticket_status.time_counter
TravelEncryptionChild
Value for the encryptedComm field in traveller This Enum is used by: traveller.encryptedComm
TravelEncryptionOwn
Value for the encryptedComm field in travelcurrent This Enum is used by: travelcurrent.encryptedComm
TrlogTransType
Value for field type in traveltransctionlog This Enum is used by: traveltransactionlog.type
TtlFlags
Flag bits for extra information in TravelTransactionLog This Enum is used by: traveltransactionlog.flags This Enum consists of flag values that can be combined.
UDefFieldType
Field type: 1 = Number, 2 = Short text, 3 = Long text, 4 = Date, 5 = Unlimited date, 6 = Checkbox, 7 = Drop-down listbox, 8 = Decimal
UdefHelper.UDefFieldDatabaseType
UdefJustification
Justification - 0 = default, left, right, center This Enum is used by: UDefField.justification
UDefType
Same as the EUDefType enum in the C++ client, this is the DATABASE value used for udef definitions
UpsertNomatchAction
Upsert: Action to take on target table rows that do not match any incoming keys
UpsertRowActionStatus
Upsert: Action status for each row
UrlEncoding
Url encoding
ValueOverride
Has a pre-calculated value been overriden in a QuoteAlternative or QuoteLine, and in that case what & how? This Enum is used by: QuoteAlternative.UserValueOverride; QuoteLine.UserValueOverride
VideoMeetingStatus
Default video-meeting status for meetings created in SuperOffice CRM This Enum is used by: Task.default_videomeeting_status
Visibility
The visibility of the record
WebhookState
Webhook status: active, stopped, or tooManyErrors This Enum is used by: Webhook.state
Weekday
Enumerator for the days of the week This Enum consists of flag values that can be combined.
WeekOfMonth
Enumerator representing a week of the month
WidgetRequiredFields
Chat Topic required fields in pre-form. This Enum is used by: chat_topic.widget_offline_fields; chat_topic.widget_required_fields This Enum consists of flag values that can be combined.
WidgetTheme
Chat Topic widget_theme: classic(0) or modern(1). This Enum is used by: chat_topic.widget_theme
Delegates
OnIdUpdate
Delegate describing that an element received a primary key
OnSaved
Delegate describing that an element was saved to the database
ServicePreferenceMappings.PreferenceMappingInfo.IndividualDecoder
Custom decoding from stored value to preference string value
ServicePreferenceMappings.PreferenceMappingInfo.IndividualEncoder
Custom encoding from preference string value to stored value
SoftTrigger.OnChange
Delegate implemented by subscribers to be notified on changes in the database taking place.