Show / Hide Table of Contents

Namespace SuperOffice.CRM

Classes

ActivityStatusHelper

This class implements the logic behind the "toggle completed" checkboxes for activities. The public entrypoint ToggleCompleted(String) will toggle the completed status for an activity, i.e., a document, appointment or sale. Appointments may have three state logic enabled through a preference. The changes are saved immediately.

ActorArrayPluginResponse

Extended PluginResponseInfo containing an ErpActor array

ActorPluginResponse

Extended PluginResponseInfo containing an ErpActor object

AddressInfo

Interface providing information about an address.

ApplicationIcon

ApplicationIcons

Return a dictionary of Application-icons with their respective IDs and IMG urls.

This could in theory be sprited, but that's complicating what should be a simple feature for a extremely minimal performance-gain, in a one-time use-case for a CRM admin.

Probably NOT worth it.

ApproveRejectResponseInfo

Response object used by Approve/ Reject quote version methods.

ButtonBarConfigDialogDataHandler

Data fetch/save class for the Configuration dialog for the Button Bar. This is where the user configures which of the standard and user-defined tasks (visible in the popup menu of the Task button) should be visible as separate buttons. The code in this class is also called from the in order to determine which of the user-defined tasks should also be buttonbar buttons.

ConnectionConfigFieldInfo

A place to store the data the admin user has entered based on the metadata from FieldMetadataInfo.

CRMQuoteConnectorCapabilities

A list of capabilities that a quote connector can have. These are strings instead of an enum to future proof it, i.e. so that when new capabilities occure , you don't have to recompile your connector if you don't want to.

CRMQuoteConnectorLists

Names of the various lists that the Quote plugins can provide. There is a corresponding Capability for each of these lists. CRMQuoteConnectorCapabilities

CustomerService

CustomerServicePlugin

Base implementation of plugin, returning configuration from database.

CustomerServicePluginAttribute

Attribute that marks a class as a plugin for returning CS URLs and folders; a class using this attribute must also implement ICustomerServicePlugin.

DateTimeExtensions

ErpActor

Carrier object representing an Actor inside an ERP Connection, used for sending to and from an ERP Connector

ErpConnectorAttribute

Use this attribute to mark a class as an implementation of an ERP Connector. To be recognized by the plugin loader, the class also needs to have a parameterless constructor, and implement IErpConnector. The name field of this attribute is used to identify the plugin when loading/calling it, and should be <Company%gt;.<Plugin> to be unique.

FieldMetadataInfo

This carrier describes a custom field to be added to the config dialog at runtime. It is used to populate the Admin configuration dialog for a connection. Note that this is just a description of the field - it is not the field itself. The GUI will use this info to build the user interface controls. The call to the ERP Connector’s GetConfigurationFields method returns a list of fields and field types. The Admin client builds a dialog with these fields.

FieldMetadataInfoArrayPluginResponse

Extended PluginResponseInfo containing a FieldMetadataInfo objects in an array

FilterDialogDataHandler

Data fetch/save class for the Filter dialog. This class can be used (together with the FilterAssociates, FilterGroups and SelectableListHelper classes to fetch the currently selected groups and associates of the filter dialog, as well as the from and to dates.

ForeignKeyInfo

Interface providing information about a ForeignKey.

FunctionRightStrings

The programmatic, well-known and constant names of functional rights

InMemoryProductProvider

Class where you load up the products and pricelists in memory and use from memory.

ListItemArrayPluginResponse

Extended PluginResponseInfo containing a dictionary of list items (primarykey/displayvalue)

ListItemInfo

One line in a quote list from the ERP connector

ListsHelper

Utility class for lists helper methods.

ListsHelper.ItemRow

ModuleLicenceProvider

Simple provider for module licences. This provider will return a flat list with one entity for system-level licences, one for site (database)-level licences, and one for user (associate)-level licences. It does not check codekey or other security items.

NetServices

Helper class to update/parse NetServices URLs and store/update the user preferences.

NextDateBase

NextDateInfo

NextDueDate

Standard implementation of the plugin that calculates next due date for sales

NextDueDateInfo

The information needed to update remaining sale rows in a batch update

NextDueDatePluginAttribute

NextMilestone

NextMilestoneDateInfo

NextMilestonePluginAttribute

OrderResponseInfo

Response from a Get order state command

PlaceOrderResponseInfo

Response from a Place order command

PluginResponseInfo

Response object used by plugin/connector actions, to tell the caller how well the call went.

PriceListInfo

A pricelist is basically a collection of products. It can be valid in a time period, and outright deactivated. All prices in the product list is in a specific currency. We have decieded not to separate prices and products , which means that we get a simpler data model, but some redundancy.

ProductDataInfo

Data shared between a product and a quote line.

ProductExtraDataFieldInfo

A way to show some simple extra data on a product, typically to hep the user to identify the correct product. Basically a bucket of additional info that the ERP system would like to store and show in the user interface. Information placed here is shown in the GUI if the “provide-extra-data” capability is true.

ProductInfo

A product is some thing or service that can be sold or leased to a customer.

ProjectGuideUtility

QuoteAlternativeContextInfo

QuoteAlternativeContextInfo contains all the information for communicating with the ERP connector. It contains information about the quote with a single alternative.

QuoteAlternativeInfo

Quote Version is made up of one or more Alternatives. One of 1..n possible alternatives in a Quote Version. The reason we have alternatives is that a quote can say to a customer, “we can solve you problem in two (or more) different ways, with different technology and sideeffects (and price)”. An Alternative may have discounts on the total amount. The Alternative tracks whether the user on the order level entered the Discount %, the Discount amount, the Earning%, Earning amount or the TotalPrice fields so that the discount and earning and total can be re-calculated correctly when Quote Lines are added or changed.

QuoteAlternativeRecalculatedInfo

Describes the changes done while recalculating the quote alternative

QuoteAlternativeResponseInfo

Response with QuoteAlternative and QuoteLine information

QuoteAlternativeWithLinesInfo

Sometimes, when we work in context of an alternative, we need all the alternatives. We then use an array of this class.

QuoteCalculation

Contains helper methods and utilities for implementors of Quote Connectors. Used by the QuoteConnectorBase to handle calculations.

Typically you would call CalculateQuoteAlternativeWithLines(QuoteAlternativeWithLinesInfo) from your connector to get the basic summation and discount calculations done. You could then add anything you were interested in on top of the standard calculations.

QuoteConnection

Represent one connection to an ERP system and uses an IQuoteConnector implementation (the real connection) and an SuperOffice.CRM.Sale.QuoteConnectorMediator to wrap the real connection. Has a connection to the CRM database too, and gets data from it when needed.

QuoteConnectionInfo

A Quote Connection is set up in the SuperOffice Admin client. It collects the parameters needed to talk to a single ERP client, and gives it a name and an id.

Quote connections will be stored in the table “QuoteConnection” in the CRM database.

QuoteConnectionManager

Takes care of the connections and serves them to interested parties. All connections are wrapped in a SuperOffice.CRM.Sale.QuoteConnectorMediator, so clients do not have to add their own mediators on top of what the QuoteConnectionManager returns.

QuoteConnectorAttribute

Connector to ERP system

QuoteConnectorBase

A base class with som typical quote functionality: Price calculations from the QuoteCalculation helper class.

QuoteConnectorBase.ConfigNames

Names of different situations that the list price can end up in that the Quote Connector needs to respond to. Used for referring to the configuration settings in the SuperOffice Quote Connector. GetQuoteStatusInfo(String) for usage.

QuoteConnectorExtender

Base class that allows 3rd party modules to extend the SuperOffice Quote Connector without directly linking to the specific version of the QuoteConnector.dll

This class is made to make it easier to make some installation specific changes to a connector without directly linking to the connector itself.

Just inherit QuoteConnectorExtender and override the function you need to change or extend the functionality. IQuoteConnector

QuoteContextInfo

QuoteContextInfo contains all the information for communicating with the ERP connector.

QuoteInfo

A Sale can have a quote, and have then a 1-1 relationship with the QuoteInfo. Read-write Quote information.

QuoteLineInfo

One line in a QuoteAlternative. QuoteLines are mainly information copied from the Products provider. Products information is sometimes edited by the user before being included in the quote , so most information is duplicated from Product rather than referenced directly.

QuoteResponseInfo

Response with Quote, QuoteVersion, QuoteAlternative and QuoteLine information

QuoteSentResponseInfo

Response from a OnAfterSentQuoteVersion command. Adds a URL field to the QuoteVersion context.

QuoteUtility

Translate enums into strings for Quote Version state. Used in building tooltips and lists.

QuoteVersionContextInfo

QuoteAlternativeContextInfo contains all the information for communicating with the ERP connector. It contains information about the quote with a version and all its alternatives.

QuoteVersionInfo

Represent a version of a quote

A quote is divided into one or more versions (or revisions, if you like), so a quote have 1..n QuoteVersions. I.e. a QuoteVersion always have a quote.

Even if versioning is disabled, a single version will exist. When versioning is disabled, new versions are not created , but the only one is reused.

QuoteVersionRecalculatedInfo

QuoteVersionResponseInfo

Response with Version and Quote Information

QuoteVersionStateExtensions

Extension for the QuoteVersionState enum.

QuoteVersionStatusInfo

QuoteVersionValidatedInfo

Return object from QuoteVersionValidate connector call

ReturnInfo

Return value object for Document Plugin API calls

SaleFilterDialogDataHandler

Data fetch/save class for the Sale Filter dialog.

SaleGuideUtility

SearchRestrictionInfo

This class represents one restriction in an "Advanced Find" supported by an ERP (Sync/Quote) connector

StringArrayPluginResponse

Extended PluginResponseInfo containing a string array

TemporaryKeyHelper

TimeZoneData

TimeZoneRule

TimeZoneRuleDictionary

TooltipHelper

Utility class for generating tool tips.

UserInfo

Class providing information about the associate (user). This should have been an interface. Sorry about that.

UserPreferenceStrings

Helper class that exposes section and key names for the UserPreference table. The top level members of this class are classes that represent sections; use the .Section member to get the actual section name. Inner members represent the keys within each section.. The PreferenceLevel enum contains the values for the DefLevel element of the UserPreference table.

UserPreferenceStrings.AdminImportRules

Preference keys for the mini panel.

UserPreferenceStrings.Archives

UserPreferenceStrings.Associates

Associate preferences like which radiobutton did I select the last time I used this dialog/control or which item did I select last time I used this dropdownlist

UserPreferenceStrings.BulkUpdate

BulkUpdate - Misc

UserPreferenceStrings.CloudServices

Preferences for Cloud Services.

UserPreferenceStrings.Dashboard

UserPreferenceStrings.DataCollection

Data collection (usage statistics) - used for status storage and locking, not intended for user interaction

UserPreferenceStrings.DbOptimizations

Boss mod preferences for database-dependent special optimizations

UserPreferenceStrings.Debug

UserPreferenceStrings.Defaults

Default values

UserPreferenceStrings.DiaryView

Diary

UserPreferenceStrings.DocPluginNames

Doc Plugin Addons: [DocPluginNames] plugin-id = prog.id. The prog.id is requred and matches COM ProgId property of the document plugin class.

UserPreferenceStrings.DocTemplateTypeMap

DocTemplate Type Mapping: [DocTemplateTypeMap] .xyz = .docx

Maps a template's unknown file type to a know file type before tag-substitution logic is run on the template

UserPreferenceStrings.DuplicateSystem

Duplicate system settings

UserPreferenceStrings.ExtraFields

UserPreferenceStrings.FieldLabels

Field labels

UserPreferenceStrings.FieldReplication

Enables replication of user-defined fields at field level instead of record level. This ensures that field changes for the customer are retained, but may affect the performance of the replication process

UserPreferenceStrings.Filter

Filter (these are available only in PointyHairedBossMode in admin and thus cannot be easily edited)

UserPreferenceStrings.FilterDialog

Filter dialog settings, editable through SoAdmin

UserPreferenceStrings.FindResultDialog

Find result dialog

UserPreferenceStrings.Freetext

Freetext

UserPreferenceStrings.Functions

Functions

UserPreferenceStrings.Gdpr

GDPR - Misc

UserPreferenceStrings.HugoAI

UserPreferenceStrings.Mail

E-mail synchronisation

UserPreferenceStrings.MDOList

Grouped and filtered lists

UserPreferenceStrings.MiniPanel

Preference keys for the mini panel.

UserPreferenceStrings.NetServices

SuperOffice Web Services settings

UserPreferenceStrings.Notification

UserPreferenceStrings.NotificationEmail

UserPreferenceStrings.NotificationSms

UserPreferenceStrings.Numbering

Numbering

UserPreferenceStrings.Person

Person preferences

UserPreferenceStrings.Phone

Phone

UserPreferenceStrings.PocketSection

Preferences for Pocket client.

UserPreferenceStrings.Project

Project preferences

UserPreferenceStrings.QuickLaunchBar

Preference keys for QuickLaunchBar settings

UserPreferenceStrings.Quote

Preference keys for the quote system.

UserPreferenceStrings.Request

UserPreferenceStrings.RequiredDynamicLoad

Required dynamic load: Add new preference section for NetServer only [RequiredDynamicLoad] name = regexp

UserPreferenceStrings.ROU

Preference keys Regeneration of StatusMonitors

UserPreferenceStrings.Sale

Preference keys for sales settings

UserPreferenceStrings.SaleFilterDialog

UserPreferenceStrings.Selection

Selection

UserPreferenceStrings.SentryAddonNames

Sentry Addons: [SentryAddonNames] dummy-name = prog.id. The prog.id is requred and matches ProgId property of the sentry plugin attribute.

UserPreferenceStrings.Sorting

Sorting

UserPreferenceStrings.SuperMode

SuperMode

UserPreferenceStrings.System

System

UserPreferenceStrings.ToolTips

Tooltips in the application

UserPreferenceStrings.Travel

Travel

UserPreferenceStrings.Visual

Visual effects

UserPreferenceStrings.WebServer

Web server

UserPreferenceStrings.Wizard

Wizard

UserPreferenceStrings.ZFD

Preferences for Zero Footprint Documents

Interfaces

IAppointmentInfo

Interface providing information about the appointment.

IAppointmentInfo2

IAppointmentInfo3

IConfiguration

Get values from the SuperOffice config section.

IContactInfo

Interface providing information about a contact

IContactInfo2

ICustomerServicePlugin

Interface defining methods to be implemented for getting CS URLs and paths.

IDocumentInfo

Interface providing information about the document.

IDocumentInfo2

IDocumentTemplateInfo

Interface providing information about the document template.

IErpConnector

Interface to be implemented by Connectors in the ERP Integration System; implementations also need to be marked with the ErpConnectorAttribute to be recognized by the loader.

INextDueDatePlugin

Contains the algorithm for calculating the next due date for a given sale or all sales.

INextMilestonePlugin

Contains the algorithm for calculating the next due date for a given sale or all sales.

IPersonInfo

Interface providing information about a person

IPersonInfo2

IProductRegisterCache

SuperOffice has its own simple Product table. This table can be used by the ERP connectors as a cache for ERP data.

This interface will be implemented by SuperOffice. The implementation is passed to all connectors as an initialization parameter.

IProjectInfo

Interface providing information about a project.

IProjectInfo2

IQuoteConnector

This is the interface SuperOffice will call to integrate against an ERP system in the realm of quotes and orders. You don't have to implement all functions, use the capabilities to tell SuperOffice what the connector can and cannot do.

If an ERP system does not provide products, or if the ERP system is not available , the searches can be delegated to the built-in SuperOffice product registry by using the SuperOffice IProductRegisterCache object that is provided at startup.

Currencies are specified in ISO three letter codes: USD, NOK, SEK, EUR, GBP, etc. See http://www.currency-iso.org/dl_iso_table_a1.xls for details.

The user may click the TEST button in the configuration dialog, which calls the TestConnection method.

ISaleInfo

Interface providing information about a sale.

ISaleInfo2

ISelectionInfo

Interface providing information about a selection.

Enums

CustomerService.CsUrlType

ExtraDataFieldTypeInfo

String, int, decimal, image, url, etc. How should the value be interpreted.

FieldAccessInfo

Access restrictions and mandatory status, if any
Note: Enum is mirrored in C++ code, update iEnum.h when it changes
Note #2: Enum is mirrored in data model (Enums.cs), which also needs to be updated if this changes

FieldMetadataTypeInfo

Describes the different widgets that the Connector can use in its configuration dialog.

FilterDialogDataHandler.DefaultFilter

Enum for possible values of the Filter.DefaultFilter preference, which controls behaviour before the first Save has been done.

QuoteAction

QuoteStatusInfo

The state of a quote-alternative or -line

ResponseState

State enum for a response, describes the possible states from totally Ok to Error that an action can return

ReturnType

How should a return value from an API call or command be interpreted by the caller

ValueOverrideInfo

Which field the user changed last. This helps the calulation to calculate the other fields correctly.

Delegates

ProgressEstimateCallback

ProgressStepCallback

ProgressTextCallback

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