Show / Hide Table of Contents

Class SoDatabase

Hold information about a SuperOffice CRM5 database and its licenses.

Inheritance
object
SoDatabase
Inherited Members
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
Namespace: SuperOffice.Data
Assembly: SoDataBase.dll
Syntax
public sealed class SoDatabase
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

Constructors

SoDatabase()

Hold information about a SuperOffice CRM5 database and its licenses.

Declaration
public SoDatabase()
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

Properties

AppointmentDocumentRelationDefinitionId

RelDefId in table Relations that identifies an appointment to document link

Declaration
public int AppointmentDocumentRelationDefinitionId { get; }
Property Value
Type Description
int
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

AreaManagement

License Info: Has Area Management license.

Declaration
public bool AreaManagement { get; }
Property Value
Type Description
bool
Remarks

Areas may be connected to satellites, but satellites are not required for Area Management.

Audience

License Info: Audience - the customer portal product.

Declaration
public int Audience { get; }
Property Value
Type Description
int
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

CentralDbTag

Common DbTag for the entire installation.

Declaration
public string CentralDbTag { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

CollaborativeCRM

License Info: Collaborative CRM (also known as eCRM) site license

Declaration
[Obsolete("This license is obsolete, consider using ExpanderForCollaboration or ExpanderKey", false)]
public bool CollaborativeCRM { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

CommandTimeout

Timeout [sec] for the command to execute a command to the database.

Declaration
public int CommandTimeout { get; }
Property Value
Type Description
int
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

CompanyName

License Info: Company name associate with license. NOTE: The database owner of this database can be different, if this is a satellite

Declaration
public string CompanyName { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

ConnectionString

The connection string formated as a "template".

Declaration
public string ConnectionString { get; }
Property Value
Type Description
string

The connection string, with tags that can be replaced

Remarks
  • [@Server]The server where the database is located.
  • [@Database]The name of the database. Also used for destinct service name.
  • [@User]The user to be used for the connection.
  • [@Password]The password to be used for the connection.
Examples
  • MSSQLServer=[@Server];Database=[@Database];User ID=[@User];Password=[@Password]
  • OracleData Source=[@Database];User ID=[@User];PASSWORD=[@Password];

DBUser

Database user

Declaration
public string DBUser { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

Database

Name of the database. Also used for destinct service name.

Declaration
public string Database { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

DatabaseCountryId

CountryId for the OwnerContact referenced in the license information

Declaration
public int DatabaseCountryId { get; }
Property Value
Type Description
int

The database country id.

Remarks

use SoDatabase.GetCurrent() to get information about the current database.

DatabaseMajor

Major name of database provider

Declaration
public string DatabaseMajor { get; }
Property Value
Type Description
string

MSSQL | Oracle

Remarks

use SoDatabase.GetCurrent() to get information about the current database.

DatabaseMinor

Version number of Database

Declaration
public string DatabaseMinor { get; }
Property Value
Type Description
string

version number.

Remarks

use SoDatabase.GetCurrent() to get information about the current database.

DatabaseVersion

Version of the database.

Declaration
public SoDatabase.Version DatabaseVersion { get; }
Property Value
Type Description
SoDatabase.Version
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

DbPassword

Database user password

Declaration
public string DbPassword { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

DbTag

Unique database tag, from travelcurrent.dbtag

Declaration
public string DbTag { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

Dictionary

The SuperOffice database dictionary

Declaration
public SoDictionary Dictionary { get; }
Property Value
Type Description
SoDictionary
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

EJRegistryExtension

The file extension used to run customer service programs

Declaration
public string EJRegistryExtension { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

EJRegistrySOPwd

Hold information about a SuperOffice CRM5 database and its licenses.

Declaration
public string EJRegistrySOPwd { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

EJWwwFolder

Hold information about a SuperOffice CRM5 database and its licenses.

Declaration
public string EJWwwFolder { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

EJconfigCgiBin

Virtual directory for eJournal CGI files. (e.g. application root)

Declaration
public string EJconfigCgiBin { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

EJconfigCgiUrl

Host name for eJournal installation (external URL)

Declaration
public string EJconfigCgiUrl { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

EJconfigCgiUrlInternal

Host name for eJournal installation.

Declaration
public string EJconfigCgiUrlInternal { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

EXtendedClientAccessLicense

License Info: eXtended Client Access License - Employees allowed to access the SO Database. See documentation for detalis (this numbner is not exact).

Declaration
[Obsolete("Extended Client Access License is obsolete and should be disregarded", true)]
public int EXtendedClientAccessLicense { get; }
Property Value
Type Description
int
Remarks

This number is an inexact numer and is rounded up. Hence, SuperOffice Support should be contactet to obtain the excact number of licenses.
The number is calculated in percentage steps (0, 10, 25, 40, 60, 75, 90, 100) of total LoginRights.

EnterpriseApplicationIntegration

License Info: Enterprise Application Integration site license

Declaration
[Obsolete("Enterprise Application Integration License is obsolete and should be disregarded", true)]
public bool EnterpriseApplicationIntegration { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

ExpanderForCollaboration

License Info: Expander For Collaboration - enables Anonymous and External users.

Declaration
public bool ExpanderForCollaboration { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

ExpanderKey

License Info: Expander Key - now always available.

Declaration
[Obsolete("Expander Key license is obsolete. Always available now", false)]
public bool ExpanderKey { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

ExpirationDate

License Info: Expiration date.

Declaration
public DateTime ExpirationDate { get; }
Property Value
Type Description
DateTime
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

HasExpiredBeyondGracePeriod

Used by Sentry to determine if write access should be disabled.

Declaration
public bool HasExpiredBeyondGracePeriod { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

IgnoreADUsernameAuthentication

Ignore Username and Password authentication with Active Directory

Declaration
public bool IgnoreADUsernameAuthentication { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

IsInitialized

Have we connected to the database and has the dictionary been loaded correctly from the database?

Declaration
public bool IsInitialized { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

IsOnTravel

Is the current database on trevel.

Declaration
public bool IsOnTravel { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

IsSatellite

Is the current database a Satellite

Declaration
public bool IsSatellite { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

IsUnicode

Is the database strings formatted as Unicode (i.e. NVARCHAR)

Declaration
public bool IsUnicode { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

LoginRights

License Info: Number of login rights purchased.

Declaration
public int LoginRights { get; }
Property Value
Type Description
int
Remarks

This is the total number of employees that are permitted to use SuperOffice CRM.

OwnerContactId

License Info: Owner contact id. The name of this contact must correspond to CompanyName. NOTE: The id of the contact owning this database may be different, if this is a satellite.

Declaration
public int OwnerContactId { get; }
Property Value
Type Description
int
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

RemoteTravel

License Info: Number of Remote Travel clients.

Declaration
public int RemoteTravel { get; }
Property Value
Type Description
int
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

ReporterStudio

License Info: Number of Reporter studio sites.

Declaration
public int ReporterStudio { get; }
Property Value
Type Description
int
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

Saint

License Info: Has Sales Intelligence license.

Declaration
public bool Saint { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

SaleDocumentRelationDefinitionId

RelDefId in table Relations that identifies a sale to document link

Declaration
public int SaleDocumentRelationDefinitionId { get; }
Property Value
Type Description
int
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

SatelliteId

Satellite id for the current database.

Declaration
public int SatelliteId { get; }
Property Value
Type Description
int
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

Satellites

License Info: Number of Satellites

Declaration
public int Satellites { get; }
Property Value
Type Description
int
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

SerialNumber

License Info: License serial number.

Declaration
public string SerialNumber { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

Server

The server where the database is located

Declaration
public string Server { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

ShouldFreetextIndex

Has the "Enable Freetext" preference been set for this database

Declaration
public bool ShouldFreetextIndex { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

ShouldLogTransactions

Has the "Enable Travel" preference been set for this database

Declaration
public bool ShouldLogTransactions { get; }
Property Value
Type Description
bool
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

SyncEngine

License Info: Number of Sync Engine users.

Declaration
public int SyncEngine { get; }
Property Value
Type Description
int
Remarks

Mapped to the 'SuperOffice.Synchronizer-Cal' license.

TablePrefix

The prefix of the SuperOffice CRM tables in the database, usually 'CRM7'.

Declaration
public string TablePrefix { get; }
Property Value
Type Description
string
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

TravelCurrentId

Is the travel current id from the TravelCurrent table

Declaration
public int TravelCurrentId { get; }
Property Value
Type Description
int
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

TravellerId

Traveller id (id of associate who owns this travel database)

Declaration
public int TravellerId { get; }
Property Value
Type Description
int
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

WebLoginRights

License Info: Number of login rights purchased for the CRM Web Client.

Declaration
public int WebLoginRights { get; }
Property Value
Type Description
int
Remarks

This number is always less than or equal to the LoginRights.

WindowsLoginRights

License Info: Number of login rights purchased for the CRM Windows Client.

Declaration
public int WindowsLoginRights { get; }
Property Value
Type Description
int
Remarks

This number is always less than or equal to the LoginRights.

Methods

DecryptData(string)

Decrypt data encrypted with EncryptData(byte[]).

Declaration
public byte[] DecryptData(string data)
Parameters
Type Name Description
string data

Base64 encoded encrypted string.

Returns
Type Description
byte[]

The decrypted data.

Remarks

use SoDatabase.GetCurrent() to get information about the current database.

DecryptString(int, string)

Decrypt a string checking if it was encrypted for the provided associateId.

Declaration
public string DecryptString(int associateId, string data)
Parameters
Type Name Description
int associateId

Owner of the string.

string data

Base64 encoded encrypted string.

Returns
Type Description
string

The decrypted string if the associateId match with the provided associateId, otherwise null.

Remarks

use SoDatabase.GetCurrent() to get information about the current database.

DecryptString(string)

Decrypt a string checking if it was encrypted for the current associate.

Declaration
public string DecryptString(string data)
Parameters
Type Name Description
string data

Base64 encoded encrypted string.

Returns
Type Description
string

The decrypted string if the associateId match with the currently logged in user, otherwise null.

Remarks

use SoDatabase.GetCurrent() to get information about the current database.

EncryptData(byte[])

Encrypt an array of bytes.

Declaration
public string EncryptData(byte[] data)
Parameters
Type Name Description
byte[] data

Data to encrypt.

Returns
Type Description
string

Base64 encoded encrypted string.

Remarks

use SoDatabase.GetCurrent() to get information about the current database.

EncryptString(int, string)

Encrypt a string in such a way that it is only readable by the provided associate.

Declaration
public string EncryptString(int associateId, string data)
Parameters
Type Name Description
int associateId

AssociateId of the party the string is encrypted on behalf of.

string data

String to encrypt

Returns
Type Description
string

Base64 encoded encrypted string.

Remarks

use SoDatabase.GetCurrent() to get information about the current database.

EncryptString(string)

Encrypt a string in such a way that it is only readable by the current associate.

Declaration
public string EncryptString(string data)
Parameters
Type Name Description
string data

String to encrypt.

Returns
Type Description
string

Base64 encoded encrypted string.

Remarks

use SoDatabase.GetCurrent() to get information about the current database.

GetCurrent()

Obtain reference to the current database.

Declaration
public static SoDatabase GetCurrent()
Returns
Type Description
SoDatabase
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

LoadSettingsFromUserPreference()

Load/reload fundamental settings controlled by 'userpreference' rows: TravelTransactionLog, FreetextIndex, AdUsernameAuth

Declaration
public void LoadSettingsFromUserPreference()
Remarks

use SoDatabase.GetCurrent() to get information about the current database.

Extension Methods

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