Show / Hide Table of Contents

Class ChatSessionRow

This table contains chat sessions.
Row Object for table 'chat_session'. Row objects correspond directly to database tables, and one instance of a row object represents one row in the corresponding table in the database.

Inheritance
Object
SqlCommand
PrivateSave
TableRowBase
ChatSessionRow
Implements
INestedPersist
ISoDataLookup
ISentryIgnorable
ISoItem
Inherited Members
TableRowBase._saveOwner
TableRowBase._sentries
TableRowBase._onValueChange
TableRowBase._relatedNestedPersistMembers
TableRowBase._sqlType
TableRowBase.InternalSetValue(Int32, Object)
TableRowBase.InternalSetValue(SoField, Object)
TableRowBase.GetFieldValue(FieldInfo)
TableRowBase.GetKnownFields()
TableRowBase.ISoDataLookup.GetPersistedFieldValue(FieldInfo)
TableRowBase.ISoDataLookup.IsPersistedFieldValueKnown(FieldInfo)
TableRowBase.IsGhostField(FieldInfo)
TableRowBase.RowLoad()
TableRowBase.RowLoad(ITableRowLoadHandler)
TableRowBase.OnLoaded(IdxBase)
TableRowBase.Load(IdxBase, SoDataReader)
TableRowBase.Load(SoDataReader, TableInfo)
TableRowBase.SetDefaults()
TableRowBase.SetDefaults(DashboardTileDefinitionRow, String)
TableRowBase.SetSaveOwner(INestedPersist)
TableRowBase.Save()
TableRowBase.Delete()
TableRowBase.Validate()
TableRowBase.SetDirty(Int32, Object, Object)
TableRowBase.INestedPersist.OnPreIdUpdate()
TableRowBase.INestedPersist.OnPrimaryKeyRequest(PKContainer)
TableRowBase.INestedPersist.OnPrimaryKeyUpdate(PKContainer)
TableRowBase.INestedPersist.OnIdUpdate()
TableRowBase.INestedPersist.OnSave(BatchSave)
TableRowBase.INestedPersist.OnSaved(Boolean)
TableRowBase.OnPreIdUpdate()
TableRowBase.OnPrimaryKeyRequest(PKContainer)
TableRowBase.OnPrimaryKeyUpdate(PKContainer)
TableRowBase.OnIdUpdate()
TableRowBase.BeginIgnoreSentryCheck()
TableRowBase.EndIgnoreSentryCheck()
TableRowBase.GetRelatedNestedPersist()
TableRowBase.Item[Int32]
TableRowBase.Item[SoField]
TableRowBase.Sentries
TableRowBase.ForeignKeyHelper
TableRowBase.IsDeleted
TableRowBase.IsSaving
TableRowBase.SqlType
TableRowBase.IsSentryIgnored
TableRowBase.IsMarkedForDelete
TableRowBase.OnValueChanged
TableRowBase.OnElementSaved
TableRowBase.OnElementIdUpdate
PrivateSave.GetTableInfos()
PrivateSave.CloneToBasicUpdatingQuery()
PrivateSave.OnUpdateField
SqlCommand.Origin
SqlCommand.AddIgnoreAutoSentryTableInfo(TableInfo)
SqlCommand.AddIgnoreAutoSentryTableInfo(IEnumerable<TableInfo>)
SqlCommand.RemoveIgnoreAutoSentryTableInfo(TableInfo)
SqlCommand.ClearIgnoreAutoSentryTableInfos()
SqlCommand.IsAutoSentryIgnoredOnTableInfo(TableInfo)
SqlCommand.GetPrivateSaves()
SqlCommand.GetInserts()
SqlCommand.GetUpdates()
SqlCommand.GetDeletes()
SqlCommand.GetSelect()
SqlCommand.AutoSentryIgnoredTables
Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Namespace: SuperOffice.CRM.Rows
Assembly: SoDataBase.dll
Syntax
public class ChatSessionRow : TableRowBase, INestedPersist, ISoDataLookup, ISentryIgnorable, ISoItem
Remarks

Row objects can be created in several ways.

  • Use the static CreateNew() method to create a new, empty object. After populating it with values, you call the method and a corresponding row in the database is created, and the objects' primary key field updated. This is the preferred way to insert new rows into the database.
  • You can create a (nested) ChatSessionRow ChatSessionRow.CustomSearch object to obtain a query pre-populated with the correct tableinfo and return fields. This query can be modified with restrictions, etc. Then, use the static GetFromCustomSearch(ChatSessionRow.CustomSearch) method to apply the query to the database and obtain the result as a Row object. This is how you select existing rows from the database when you have a query that does not correspond to any of the existing database indexes.
  • For each unique index defined for the table, there is a corresponding GetFromIdx method to make retrieving data via the indexes easy. Note that if you try to fetch a row that does not exist (for instance, by using the primary key index and specifying a primary key that does not exist in the database), you will get a Row object with the and properties set to true. Such a Row object is called a 'ghost' and cannot be updated, saved or deleted. You can also get a ghost if the row does exist in the database, but the Sentry system denies Select rights to the row.
  • Finally, if you have an SoDataReader that contains ALL the fields of the table, and you have the ChatSessionTableInfo instance used in the query behind the reader, you can use the static GetFromReader(SoDataReader, ChatSessionTableInfo) method to create a new row object from the reader and the table info. This is useful when you have a larger, more complex query, for instance one that joins a number of tables, and you wish to use Row objects to process the result set. If your result set corresponds to an entity, consider using the corresponding Entity layer object instead, since entities automatically handle ID allocation and mapping, rights, and other higher-level aspects.
Non-unique indexes are handled through the ChatSessionRows collection, which has nested classes and GetFromIdx methods for each non-unique index. Similarly, there is a GetFromReader(SoDataReader, ChatSessionTableInfo) method to retrieve the results of queries that return more than one row.

Unique indexes on table ChatSession are:

Index fieldsNested index class name

Constructors

ChatSessionRow(ChatSessionRow.ChatSessionRowIdxBase)

Constructor for the class taking an index as argument. This table contains chat sessions.

Declaration
protected ChatSessionRow(ChatSessionRow.ChatSessionRowIdxBase idx)
Parameters
Type Name Description
ChatSessionRow.ChatSessionRowIdxBase idx

The index representing a SELECT command to the database.

Fields

_currentAlertLevel

Current value, see property AlertLevel.

Declaration
protected int _currentAlertLevel
Field Value
Type Description
Int32

_currentChatbotIsactive

Current value, see property ChatbotIsactive.

Declaration
protected short _currentChatbotIsactive
Field Value
Type Description
Int16

_currentChatSessionId

Current value, see property ChatSessionId.

Declaration
protected int _currentChatSessionId
Field Value
Type Description
Int32

_currentCompanyName

Current value, see property CompanyName.

Declaration
protected string _currentCompanyName
Field Value
Type Description
String

_currentConsented

Current value, see property Consented.

Declaration
protected short _currentConsented
Field Value
Type Description
Int16

_currentContactId

Current value, see property ContactId.

Declaration
protected int _currentContactId
Field Value
Type Description
Int32

_currentCountry

Current value, see property Country.

Declaration
protected int _currentCountry
Field Value
Type Description
Int32

_currentCustomerAlias

Current value, see property CustomerAlias.

Declaration
protected string _currentCustomerAlias
Field Value
Type Description
String

_currentCustomerFetch

Current value, see property CustomerFetch.

Declaration
protected DateTime _currentCustomerFetch
Field Value
Type Description
DateTime

_currentCustomerHost

Current value, see property CustomerHost.

Declaration
protected string _currentCustomerHost
Field Value
Type Description
String

_currentCustomerId

Current value, see property CustomerId.

Declaration
protected int _currentCustomerId
Field Value
Type Description
Int32

_currentEmail

Current value, see property Email.

Declaration
protected string _currentEmail
Field Value
Type Description
String

_currentFirstMessage

Current value, see property FirstMessage.

Declaration
protected string _currentFirstMessage
Field Value
Type Description
String

_currentFlags

Current value, see property Flags.

Declaration
protected ChatSessionFlags _currentFlags
Field Value
Type Description
ChatSessionFlags

_currentIdle

Current value, see property Idle.

Declaration
protected DateTime _currentIdle
Field Value
Type Description
DateTime

_currentInitialQueuePos

Current value, see property InitialQueuePos.

Declaration
protected int _currentInitialQueuePos
Field Value
Type Description
Int32

_currentLastMessage

Current value, see property LastMessage.

Declaration
protected string _currentLastMessage
Field Value
Type Description
String

_currentName

Current value, see property Name.

Declaration
protected string _currentName
Field Value
Type Description
String

_currentPhone

Current value, see property Phone.

Declaration
protected string _currentPhone
Field Value
Type Description
String

_currentProjectId

Current value, see property ProjectId.

Declaration
protected int _currentProjectId
Field Value
Type Description
Int32

_currentRank

Current value, see property Rank.

Declaration
protected int _currentRank
Field Value
Type Description
Int32

_currentSaleId

Current value, see property SaleId.

Declaration
protected int _currentSaleId
Field Value
Type Description
Int32

_currentSessionKey

Current value, see property SessionKey.

Declaration
protected string _currentSessionKey
Field Value
Type Description
String

_currentStatus

Current value, see property Status.

Declaration
protected ChatSessionStatus _currentStatus
Field Value
Type Description
ChatSessionStatus

_currentTicketId

Current value, see property TicketId.

Declaration
protected int _currentTicketId
Field Value
Type Description
Int32

_currentTopicId

Current value, see property TopicId.

Declaration
protected int _currentTopicId
Field Value
Type Description
Int32

_currentTransferTo

Current value, see property TransferTo.

Declaration
protected int _currentTransferTo
Field Value
Type Description
Int32

_currentUserId

Current value, see property UserId.

Declaration
protected int _currentUserId
Field Value
Type Description
Int32

_currentWhenEnded

Current value, see property WhenEnded.

Declaration
protected DateTime _currentWhenEnded
Field Value
Type Description
DateTime

_currentWhenRequested

Current value, see property WhenRequested.

Declaration
protected DateTime _currentWhenRequested
Field Value
Type Description
DateTime

_currentWhenStarted

Current value, see property WhenStarted.

Declaration
protected DateTime _currentWhenStarted
Field Value
Type Description
DateTime

_persistedAlertLevel

Persisted value, see property AlertLevel.

Declaration
protected int _persistedAlertLevel
Field Value
Type Description
Int32

_persistedChatbotIsactive

Persisted value, see property ChatbotIsactive.

Declaration
protected short _persistedChatbotIsactive
Field Value
Type Description
Int16

_persistedChatSessionId

Persisted value, see property ChatSessionId.

Declaration
protected int _persistedChatSessionId
Field Value
Type Description
Int32

_persistedCompanyName

Persisted value, see property CompanyName.

Declaration
protected string _persistedCompanyName
Field Value
Type Description
String

_persistedConsented

Persisted value, see property Consented.

Declaration
protected short _persistedConsented
Field Value
Type Description
Int16

_persistedContactId

Persisted value, see property ContactId.

Declaration
protected int _persistedContactId
Field Value
Type Description
Int32

_persistedCountry

Persisted value, see property Country.

Declaration
protected int _persistedCountry
Field Value
Type Description
Int32

_persistedCustomerAlias

Persisted value, see property CustomerAlias.

Declaration
protected string _persistedCustomerAlias
Field Value
Type Description
String

_persistedCustomerFetch

Persisted value, see property CustomerFetch.

Declaration
protected DateTime _persistedCustomerFetch
Field Value
Type Description
DateTime

_persistedCustomerHost

Persisted value, see property CustomerHost.

Declaration
protected string _persistedCustomerHost
Field Value
Type Description
String

_persistedCustomerId

Persisted value, see property CustomerId.

Declaration
protected int _persistedCustomerId
Field Value
Type Description
Int32

_persistedEmail

Persisted value, see property Email.

Declaration
protected string _persistedEmail
Field Value
Type Description
String

_persistedFirstMessage

Persisted value, see property FirstMessage.

Declaration
protected string _persistedFirstMessage
Field Value
Type Description
String

_persistedFlags

Persisted value, see property Flags.

Declaration
protected ChatSessionFlags _persistedFlags
Field Value
Type Description
ChatSessionFlags

_persistedIdle

Persisted value, see property Idle.

Declaration
protected DateTime _persistedIdle
Field Value
Type Description
DateTime

_persistedInitialQueuePos

Persisted value, see property InitialQueuePos.

Declaration
protected int _persistedInitialQueuePos
Field Value
Type Description
Int32

_persistedLastMessage

Persisted value, see property LastMessage.

Declaration
protected string _persistedLastMessage
Field Value
Type Description
String

_persistedName

Persisted value, see property Name.

Declaration
protected string _persistedName
Field Value
Type Description
String

_persistedPhone

Persisted value, see property Phone.

Declaration
protected string _persistedPhone
Field Value
Type Description
String

_persistedProjectId

Persisted value, see property ProjectId.

Declaration
protected int _persistedProjectId
Field Value
Type Description
Int32

_persistedRank

Persisted value, see property Rank.

Declaration
protected int _persistedRank
Field Value
Type Description
Int32

_persistedSaleId

Persisted value, see property SaleId.

Declaration
protected int _persistedSaleId
Field Value
Type Description
Int32

_persistedSessionKey

Persisted value, see property SessionKey.

Declaration
protected string _persistedSessionKey
Field Value
Type Description
String

_persistedStatus

Persisted value, see property Status.

Declaration
protected ChatSessionStatus _persistedStatus
Field Value
Type Description
ChatSessionStatus

_persistedTicketId

Persisted value, see property TicketId.

Declaration
protected int _persistedTicketId
Field Value
Type Description
Int32

_persistedTopicId

Persisted value, see property TopicId.

Declaration
protected int _persistedTopicId
Field Value
Type Description
Int32

_persistedTransferTo

Persisted value, see property TransferTo.

Declaration
protected int _persistedTransferTo
Field Value
Type Description
Int32

_persistedUserId

Persisted value, see property UserId.

Declaration
protected int _persistedUserId
Field Value
Type Description
Int32

_persistedWhenEnded

Persisted value, see property WhenEnded.

Declaration
protected DateTime _persistedWhenEnded
Field Value
Type Description
DateTime

_persistedWhenRequested

Persisted value, see property WhenRequested.

Declaration
protected DateTime _persistedWhenRequested
Field Value
Type Description
DateTime

_persistedWhenStarted

Persisted value, see property WhenStarted.

Declaration
protected DateTime _persistedWhenStarted
Field Value
Type Description
DateTime

Properties

AlertLevel

.NET type: int. The alert level for this chat session.

Declaration
public virtual int AlertLevel { get; set; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: Int.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

ChatbotIsactive

.NET type: short. Indicates that a chatbot is active on the session. This will cause bot triggers to fire. Set to 0 when bot hands off to user.

Declaration
public virtual short ChatbotIsactive { get; set; }
Property Value
Type Description
Int16
Remarks

Original type in dictionary: Bool.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

ChatSessionId

.NET type: int. The primary key (auto-incremented)

Declaration
public virtual int ChatSessionId { get; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: PK.

This field is the primary key and can only be read, never written.

This field is not protected by the Sentry system, and can always be read

ChatSessionTableInfo

Get the ChatSessionTableInfo object associated with the row.

Declaration
public ChatSessionTableInfo ChatSessionTableInfo { get; }
Property Value
Type Description
ChatSessionTableInfo

CompanyName

.NET type: string. The name of the customers company, if provided

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

Original type in dictionary: String[256].

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

Consented

.NET type: short. The customer consented when starting the session

Declaration
public virtual short Consented { get; set; }
Property Value
Type Description
Int16
Remarks

Original type in dictionary: Bool.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

ContactId

.NET type: int. The contact that this chat session is connected to

Declaration
public virtual int ContactId { get; set; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: FK.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

Country

.NET type: int. The country that the chat customer selected.

Declaration
public virtual int Country { get; set; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: Int.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

CustomerAlias

.NET type: string. The alias for the customer.

Declaration
public virtual string CustomerAlias { get; set; }
Property Value
Type Description
String
Remarks

Original type in dictionary: String[65].

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

CustomerFetch

.NET type: DateTime. The last time the customer's client refetched the data. Used to detect 'dead' session.

Declaration
public virtual DateTime CustomerFetch { get; set; }
Property Value
Type Description
DateTime
Remarks

Original type in dictionary: DateTime.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

CustomerHost

.NET type: string. The hostname or IP address for the customer.

Declaration
public virtual string CustomerHost { get; set; }
Property Value
Type Description
String
Remarks

Original type in dictionary: String[256].

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

CustomerId

.NET type: int. The reference to the associated customer. May be NULL or -1.

Declaration
public virtual int CustomerId { get; set; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: FK.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

Email

.NET type: string. The email address of the customer, if provided

Declaration
public virtual string Email { get; set; }
Property Value
Type Description
String
Remarks

Original type in dictionary: String[256].

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

FirstMessage

.NET type: string. A copy of the first message in the chat session

Declaration
public virtual string FirstMessage { get; set; }
Property Value
Type Description
String
Remarks

Original type in dictionary: String[1025].

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

Flags

.NET type: ChatSessionFlags. Various flags for the chat session

Declaration
public virtual ChatSessionFlags Flags { get; set; }
Property Value
Type Description
ChatSessionFlags
Remarks

Original type in dictionary: Enum.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

Idle

.NET type: DateTime. The last time anyone sent a message for this session.

Declaration
public virtual DateTime Idle { get; set; }
Property Value
Type Description
DateTime
Remarks

Original type in dictionary: DateTime.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

InitialQueuePos

.NET type: int. The initial queue pos (i.e. the number of pending sessions + 1) when the session was requested.

Declaration
public virtual int InitialQueuePos { get; set; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: Int.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

InnerFieldValuePairs

The values of all the fields in the row.
The first field is the primary key.
The index of the value corresponds to the name of the field returned from the Fields property.

Declaration
protected override ArgumentParameterCollection InnerFieldValuePairs { get; }
Property Value
Type Description
ArgumentParameterCollection
Overrides
PrivateSave.InnerFieldValuePairs

InnerPrimaryKey

The primary key needed to decide which specific row to alter with the current sql-command.

Declaration
protected override FieldInfo InnerPrimaryKey { get; }
Property Value
Type Description
FieldInfo
Overrides
PrivateSave.InnerPrimaryKey

InnerPrimaryKeyValue

The actual value the primary key must have.

Declaration
protected override Parameter InnerPrimaryKeyValue { get; }
Property Value
Type Description
Parameter
Overrides
PrivateSave.InnerPrimaryKeyValue

IsDirty

Is the row dirty, e.g. been modified since the last time it was saved to the database.

Declaration
public override bool IsDirty { get; }
Property Value
Type Description
Boolean
Overrides
TableRowBase.IsDirty

IsNew

Is this object new, meaning that it does not exist in the database.

Declaration
public override bool IsNew { get; }
Property Value
Type Description
Boolean
Overrides
TableRowBase.IsNew

Item[String]

Get or set a value based on the name of the field.

Declaration
public override object this[string fieldName] { get; set; }
Parameters
Type Name Description
String fieldName

Name of the field in the database

Property Value
Type Description
Object

Value of the field.

Overrides
TableRowBase.Item[String]
Exceptions
Type Condition
ArgumentException

Thrown if the field is not known.

LastMessage

.NET type: string. A copy of the last message in the chat session

Declaration
public virtual string LastMessage { get; set; }
Property Value
Type Description
String
Remarks

Original type in dictionary: String[1025].

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

Name

.NET type: string. The name of customer, if provided

Declaration
public virtual string Name { get; set; }
Property Value
Type Description
String
Remarks

Original type in dictionary: String[256].

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

Phone

.NET type: string. The phone number of the customer, if provided

Declaration
public virtual string Phone { get; set; }
Property Value
Type Description
String
Remarks

Original type in dictionary: String[33].

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

ProjectId

.NET type: int. The project that this chat session is connected to

Declaration
public virtual int ProjectId { get; set; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: FK.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

Rank

.NET type: int. Lowest possible unique number for active sessions for user. User for color index. Starting at 1.

Declaration
public virtual int Rank { get; set; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: Int.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

SaleId

.NET type: int. The sale that this chat session is connected to

Declaration
public virtual int SaleId { get; set; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: FK.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

SessionKey

.NET type: string. Key used to authenticate the session.

Declaration
public virtual string SessionKey { get; set; }
Property Value
Type Description
String
Remarks

Original type in dictionary: String[256].

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

Status

.NET type: ChatSessionStatus. Enum indicating the status for the session (pending, active, closed, etc).

Declaration
public virtual ChatSessionStatus Status { get; set; }
Property Value
Type Description
ChatSessionStatus
Remarks

Original type in dictionary: Enum.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

TableInfo

Get the TableInfo for the table.

Declaration
public override TableInfo TableInfo { get; }
Property Value
Type Description
TableInfo

The TableInfo for the table.

Overrides
TableRowBase.TableInfo

TicketId

.NET type: int. The ticket that this chat session is connected to

Declaration
public virtual int TicketId { get; set; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: FK.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

TopicId

.NET type: int. The reference to the associated chat topic.

Declaration
public virtual int TopicId { get; set; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: FK.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

TransferTo

.NET type: int. The ejuser that has a pending transfer of the chat session

Declaration
public virtual int TransferTo { get; set; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: FK.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

UserId

.NET type: int. The reference to the associated user.

Declaration
public virtual int UserId { get; set; }
Property Value
Type Description
Int32
Remarks

Original type in dictionary: FK.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

WhenEnded

.NET type: DateTime. When the session was ended.

Declaration
public virtual DateTime WhenEnded { get; set; }
Property Value
Type Description
DateTime
Remarks

Original type in dictionary: DateTime.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

WhenRequested

.NET type: DateTime. When the session was requested by the customer.

Declaration
public virtual DateTime WhenRequested { get; set; }
Property Value
Type Description
DateTime
Remarks

Original type in dictionary: DateTime.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

WhenStarted

.NET type: DateTime. When the session was accepted by a user.

Declaration
public virtual DateTime WhenStarted { get; set; }
Property Value
Type Description
DateTime
Remarks

Original type in dictionary: DateTime.

Setting this field to a new value will not affect the Sentry calculations and your rights

This field is not protected by the Sentry system, and can always be read

This field is not protected by the Sentry system, and can be written to unless other restrictions prevent it

Methods

CreateNew()

Create a new instance of the ChatSessionRow object. This table contains chat sessions.

Declaration
public static ChatSessionRow CreateNew()
Returns
Type Description
ChatSessionRow

A new instance of the ChatSessionRow object.

GetFromCustomSearch(ChatSessionRow.CustomSearch)

Create a new instance of the ChatSessionRow object, and populate it with data from a custom search. If the search returns no results, an object with IsNew will be returned; if the result contains one row, an object representing that row will be returned. If the result contains more than one row, the first row will be used and the rest discarded (there is no way of detecting this situation).

Declaration
public static ChatSessionRow GetFromCustomSearch(ChatSessionRow.CustomSearch query)
Parameters
Type Name Description
ChatSessionRow.CustomSearch query

The custom search to execute against the database

Returns
Type Description
ChatSessionRow

A new instance of the ChatSessionRow object, reflecting the result of the query.

GetFromIdxChatSessionId(Int32)

Create a new instance of the ChatSessionRow object, by querying the database table via the index 'IDXChat_sessionId'. This method is intended to make it easy to use efficient queries that match a database index.

Declaration
public static ChatSessionRow GetFromIdxChatSessionId(int chatSessionId)
Parameters
Type Name Description
Int32 chatSessionId
Returns
Type Description
ChatSessionRow

Row object that represents the result of the search. IsNew will be true if the query did not match any row in the table

Remarks

This method represents one of the unique indexes on the ChatSession table. Non-unique indexes have corresponding inner classes and methods in the ChatSessionRows collection, since they may return more than one row.

GetFromReader(SoDataReader, ChatSessionTableInfo)

Create a new instance of the ChatSessionRow object, and populate it with data from a reader/tableinfo. If the reader has DBNull as the current value of the primary key field, an unpopulated object with IsNew == true will be returned. If any fields are missing or one of the non-primary key fields is DBNull, an exception will be thrown. This table contains chat sessions.

Declaration
public static ChatSessionRow GetFromReader(SoDataReader reader, ChatSessionTableInfo tableInfo)
Parameters
Type Name Description
SoDataReader reader

SoDataReader positioned to a valid database row.

ChatSessionTableInfo tableInfo

ChatSessionTableInfo instance used in the query that is the source of the reader. The fields used from the reader will be those owned by this tableinfo object.

Returns
Type Description
ChatSessionRow

A new instance of the ChatSessionRow object.

GetPersistedFieldValue(FieldInfo)

Get the persisted value of a field.

Declaration
public override object GetPersistedFieldValue(FieldInfo field)
Parameters
Type Name Description
FieldInfo field

Specification of a field

Returns
Type Description
Object

Field value, such as an int, DateTime, string ... Null can be returned if the value is not known.

Overrides
PrivateSave.GetPersistedFieldValue(FieldInfo)
Exceptions
Type Condition
ArgumentException

Thrown if the field is not known.

InternalSetValue(String, Object)

Declaration
protected override void InternalSetValue(string fieldName, object value)
Parameters
Type Name Description
String fieldName
Object value
Overrides
TableRowBase.InternalSetValue(String, Object)

IsPersistedFieldValueKnown(FieldInfo)

Check if the persisted value for a field is known.

Declaration
public override bool IsPersistedFieldValueKnown(FieldInfo field)
Parameters
Type Name Description
FieldInfo field

Specification of a field

Returns
Type Description
Boolean

True if the value is known and sentry permits read.

Overrides
PrivateSave.IsPersistedFieldValueKnown(FieldInfo)

OnLoad(SoDataReader, TableInfo)

Fill the object with data returned from the database.

Declaration
protected override void OnLoad(SoDataReader reader, TableInfo tableInfo)
Parameters
Type Name Description
SoDataReader reader

Object holding the data returned from the database.

TableInfo tableInfo

The TableInfo used for the SELECT statement.

Overrides
TableRowBase.OnLoad(SoDataReader, TableInfo)

OnSave(BatchSave)

Add the object to the BatchSave list if it needs saving.

Declaration
protected override void OnSave(BatchSave batchSave)
Parameters
Type Name Description
BatchSave batchSave

Collection of objects to be saved within the transaction.

Overrides
TableRowBase.OnSave(BatchSave)
Remarks

Classes overriding this method should call it.

OnSaved(Boolean)

Method called after the save operation has been performed.

Declaration
protected override void OnSaved(bool bSucceeded)
Parameters
Type Name Description
Boolean bSucceeded

True if the save operation succeeded (e.g. transaction committed), or false if the save operation failed (e.g. transaction rolled back)

Overrides
TableRowBase.OnSaved(Boolean)

Reset()

Reset the changes made on the object.

Declaration
protected override void Reset()
Overrides
TableRowBase.Reset()
Remarks

If the row is not persisted to the database (e.g. IsNew is true), all the values will be reset. If the row has been persisted to or loaded from the database, the properties will be set to those of the last persisted or loaded values.

SetDefaults(DefaulterStrategy)

Set default values for the row.

Declaration
public override void SetDefaults(DefaulterStrategy strategy)
Parameters
Type Name Description
DefaulterStrategy strategy

Strategy used when applying default values; values depend on where we are in the Create/Fetch/Populate/Save cycle

Overrides
TableRowBase.SetDefaults(DefaulterStrategy)

SetPrimaryKey(Int32)

Set the primary key for the row.

Declaration
protected override void SetPrimaryKey(int primaryKey)
Parameters
Type Name Description
Int32 primaryKey

The new primary key for the row.

Overrides
TableRowBase.SetPrimaryKey(Int32)

SetRowAsNew()

Declaration
public override void SetRowAsNew()
Overrides
TableRowBase.SetRowAsNew()

ToString()

ToString method intended for debugging, returns a string that displays the object type, new/dirty status, primary key and the string fields

Declaration
public override string ToString()
Returns
Type Description
String
Overrides
Object.ToString()

Validate(RowValidator)

Validate this row.

Declaration
public override void Validate(RowValidator rowValidator)
Parameters
Type Name Description
RowValidator rowValidator

RowValidator for inserting the result of the validation

Overrides
TableRowBase.Validate(RowValidator)

Events

_onAlertLevelChange

Change envent for property AlertLevel; field is of .NET type int.

Declaration
protected event OnFieldChange<int> _onAlertLevelChange
Event Type
Type Description
OnFieldChange<Int32>

_onChatbotIsactiveChange

Change envent for property ChatbotIsactive; field is of .NET type short.

Declaration
protected event OnFieldChange<short> _onChatbotIsactiveChange
Event Type
Type Description
OnFieldChange<Int16>

_onCompanyNameChange

Change envent for property CompanyName; field is of .NET type string.

Declaration
protected event OnFieldChange<string> _onCompanyNameChange
Event Type
Type Description
OnFieldChange<String>

_onConsentedChange

Change envent for property Consented; field is of .NET type short.

Declaration
protected event OnFieldChange<short> _onConsentedChange
Event Type
Type Description
OnFieldChange<Int16>

_onContactIdChange

Change envent for property ContactId; field is of .NET type int.

Declaration
protected event OnFieldChange<int> _onContactIdChange
Event Type
Type Description
OnFieldChange<Int32>

_onCountryChange

Change envent for property Country; field is of .NET type int.

Declaration
protected event OnFieldChange<int> _onCountryChange
Event Type
Type Description
OnFieldChange<Int32>

_onCustomerAliasChange

Change envent for property CustomerAlias; field is of .NET type string.

Declaration
protected event OnFieldChange<string> _onCustomerAliasChange
Event Type
Type Description
OnFieldChange<String>

_onCustomerFetchChange

Change envent for property CustomerFetch; field is of .NET type DateTime.

Declaration
protected event OnFieldChange<DateTime> _onCustomerFetchChange
Event Type
Type Description
OnFieldChange<DateTime>

_onCustomerHostChange

Change envent for property CustomerHost; field is of .NET type string.

Declaration
protected event OnFieldChange<string> _onCustomerHostChange
Event Type
Type Description
OnFieldChange<String>

_onCustomerIdChange

Change envent for property CustomerId; field is of .NET type int.

Declaration
protected event OnFieldChange<int> _onCustomerIdChange
Event Type
Type Description
OnFieldChange<Int32>

_onEmailChange

Change envent for property Email; field is of .NET type string.

Declaration
protected event OnFieldChange<string> _onEmailChange
Event Type
Type Description
OnFieldChange<String>

_onFirstMessageChange

Change envent for property FirstMessage; field is of .NET type string.

Declaration
protected event OnFieldChange<string> _onFirstMessageChange
Event Type
Type Description
OnFieldChange<String>

_onFlagsChange

Change envent for property Flags; field is of .NET type short.

Declaration
protected event OnFieldChange<ChatSessionFlags> _onFlagsChange
Event Type
Type Description
OnFieldChange<ChatSessionFlags>

_onIdleChange

Change envent for property Idle; field is of .NET type DateTime.

Declaration
protected event OnFieldChange<DateTime> _onIdleChange
Event Type
Type Description
OnFieldChange<DateTime>

_onInitialQueuePosChange

Change envent for property InitialQueuePos; field is of .NET type int.

Declaration
protected event OnFieldChange<int> _onInitialQueuePosChange
Event Type
Type Description
OnFieldChange<Int32>

_onLastMessageChange

Change envent for property LastMessage; field is of .NET type string.

Declaration
protected event OnFieldChange<string> _onLastMessageChange
Event Type
Type Description
OnFieldChange<String>

_onNameChange

Change envent for property Name; field is of .NET type string.

Declaration
protected event OnFieldChange<string> _onNameChange
Event Type
Type Description
OnFieldChange<String>

_onPhoneChange

Change envent for property Phone; field is of .NET type string.

Declaration
protected event OnFieldChange<string> _onPhoneChange
Event Type
Type Description
OnFieldChange<String>

_onProjectIdChange

Change envent for property ProjectId; field is of .NET type int.

Declaration
protected event OnFieldChange<int> _onProjectIdChange
Event Type
Type Description
OnFieldChange<Int32>

_onRankChange

Change envent for property Rank; field is of .NET type int.

Declaration
protected event OnFieldChange<int> _onRankChange
Event Type
Type Description
OnFieldChange<Int32>

_onSaleIdChange

Change envent for property SaleId; field is of .NET type int.

Declaration
protected event OnFieldChange<int> _onSaleIdChange
Event Type
Type Description
OnFieldChange<Int32>

_onSessionKeyChange

Change envent for property SessionKey; field is of .NET type string.

Declaration
protected event OnFieldChange<string> _onSessionKeyChange
Event Type
Type Description
OnFieldChange<String>

_onStatusChange

Change envent for property Status; field is of .NET type short.

Declaration
protected event OnFieldChange<ChatSessionStatus> _onStatusChange
Event Type
Type Description
OnFieldChange<ChatSessionStatus>

_onTicketIdChange

Change envent for property TicketId; field is of .NET type int.

Declaration
protected event OnFieldChange<int> _onTicketIdChange
Event Type
Type Description
OnFieldChange<Int32>

_onTopicIdChange

Change envent for property TopicId; field is of .NET type int.

Declaration
protected event OnFieldChange<int> _onTopicIdChange
Event Type
Type Description
OnFieldChange<Int32>

_onTransferToChange

Change envent for property TransferTo; field is of .NET type int.

Declaration
protected event OnFieldChange<int> _onTransferToChange
Event Type
Type Description
OnFieldChange<Int32>

_onUserIdChange

Change envent for property UserId; field is of .NET type int.

Declaration
protected event OnFieldChange<int> _onUserIdChange
Event Type
Type Description
OnFieldChange<Int32>

_onWhenEndedChange

Change envent for property WhenEnded; field is of .NET type DateTime.

Declaration
protected event OnFieldChange<DateTime> _onWhenEndedChange
Event Type
Type Description
OnFieldChange<DateTime>

_onWhenRequestedChange

Change envent for property WhenRequested; field is of .NET type DateTime.

Declaration
protected event OnFieldChange<DateTime> _onWhenRequestedChange
Event Type
Type Description
OnFieldChange<DateTime>

_onWhenStartedChange

Change envent for property WhenStarted; field is of .NET type DateTime.

Declaration
protected event OnFieldChange<DateTime> _onWhenStartedChange
Event Type
Type Description
OnFieldChange<DateTime>

OnAlertLevelChange

Event raised when AlertLevel is changing.

Declaration
public event OnFieldChange<int> OnAlertLevelChange
Event Type
Type Description
OnFieldChange<Int32>

OnChatbotIsactiveChange

Event raised when ChatbotIsactive is changing.

Declaration
public event OnFieldChange<short> OnChatbotIsactiveChange
Event Type
Type Description
OnFieldChange<Int16>

OnCompanyNameChange

Event raised when CompanyName is changing.

Declaration
public event OnFieldChange<string> OnCompanyNameChange
Event Type
Type Description
OnFieldChange<String>

OnConsentedChange

Event raised when Consented is changing.

Declaration
public event OnFieldChange<short> OnConsentedChange
Event Type
Type Description
OnFieldChange<Int16>

OnContactIdChange

Event raised when ContactId is changing.

Declaration
public event OnFieldChange<int> OnContactIdChange
Event Type
Type Description
OnFieldChange<Int32>

OnCountryChange

Event raised when Country is changing.

Declaration
public event OnFieldChange<int> OnCountryChange
Event Type
Type Description
OnFieldChange<Int32>

OnCustomerAliasChange

Event raised when CustomerAlias is changing.

Declaration
public event OnFieldChange<string> OnCustomerAliasChange
Event Type
Type Description
OnFieldChange<String>

OnCustomerFetchChange

Event raised when CustomerFetch is changing.

Declaration
public event OnFieldChange<DateTime> OnCustomerFetchChange
Event Type
Type Description
OnFieldChange<DateTime>

OnCustomerHostChange

Event raised when CustomerHost is changing.

Declaration
public event OnFieldChange<string> OnCustomerHostChange
Event Type
Type Description
OnFieldChange<String>

OnCustomerIdChange

Event raised when CustomerId is changing.

Declaration
public event OnFieldChange<int> OnCustomerIdChange
Event Type
Type Description
OnFieldChange<Int32>

OnEmailChange

Event raised when Email is changing.

Declaration
public event OnFieldChange<string> OnEmailChange
Event Type
Type Description
OnFieldChange<String>

OnFirstMessageChange

Event raised when FirstMessage is changing.

Declaration
public event OnFieldChange<string> OnFirstMessageChange
Event Type
Type Description
OnFieldChange<String>

OnFlagsChange

Event raised when Flags is changing.

Declaration
public event OnFieldChange<ChatSessionFlags> OnFlagsChange
Event Type
Type Description
OnFieldChange<ChatSessionFlags>

OnIdleChange

Event raised when Idle is changing.

Declaration
public event OnFieldChange<DateTime> OnIdleChange
Event Type
Type Description
OnFieldChange<DateTime>

OnInitialQueuePosChange

Event raised when InitialQueuePos is changing.

Declaration
public event OnFieldChange<int> OnInitialQueuePosChange
Event Type
Type Description
OnFieldChange<Int32>

OnLastMessageChange

Event raised when LastMessage is changing.

Declaration
public event OnFieldChange<string> OnLastMessageChange
Event Type
Type Description
OnFieldChange<String>

OnNameChange

Event raised when Name is changing.

Declaration
public event OnFieldChange<string> OnNameChange
Event Type
Type Description
OnFieldChange<String>

OnPhoneChange

Event raised when Phone is changing.

Declaration
public event OnFieldChange<string> OnPhoneChange
Event Type
Type Description
OnFieldChange<String>

OnProjectIdChange

Event raised when ProjectId is changing.

Declaration
public event OnFieldChange<int> OnProjectIdChange
Event Type
Type Description
OnFieldChange<Int32>

OnRankChange

Event raised when Rank is changing.

Declaration
public event OnFieldChange<int> OnRankChange
Event Type
Type Description
OnFieldChange<Int32>

OnSaleIdChange

Event raised when SaleId is changing.

Declaration
public event OnFieldChange<int> OnSaleIdChange
Event Type
Type Description
OnFieldChange<Int32>

OnSessionKeyChange

Event raised when SessionKey is changing.

Declaration
public event OnFieldChange<string> OnSessionKeyChange
Event Type
Type Description
OnFieldChange<String>

OnStatusChange

Event raised when Status is changing.

Declaration
public event OnFieldChange<ChatSessionStatus> OnStatusChange
Event Type
Type Description
OnFieldChange<ChatSessionStatus>

OnTicketIdChange

Event raised when TicketId is changing.

Declaration
public event OnFieldChange<int> OnTicketIdChange
Event Type
Type Description
OnFieldChange<Int32>

OnTopicIdChange

Event raised when TopicId is changing.

Declaration
public event OnFieldChange<int> OnTopicIdChange
Event Type
Type Description
OnFieldChange<Int32>

OnTransferToChange

Event raised when TransferTo is changing.

Declaration
public event OnFieldChange<int> OnTransferToChange
Event Type
Type Description
OnFieldChange<Int32>

OnUserIdChange

Event raised when UserId is changing.

Declaration
public event OnFieldChange<int> OnUserIdChange
Event Type
Type Description
OnFieldChange<Int32>

OnWhenEndedChange

Event raised when WhenEnded is changing.

Declaration
public event OnFieldChange<DateTime> OnWhenEndedChange
Event Type
Type Description
OnFieldChange<DateTime>

OnWhenRequestedChange

Event raised when WhenRequested is changing.

Declaration
public event OnFieldChange<DateTime> OnWhenRequestedChange
Event Type
Type Description
OnFieldChange<DateTime>

OnWhenStartedChange

Event raised when WhenStarted is changing.

Declaration
public event OnFieldChange<DateTime> OnWhenStartedChange
Event Type
Type Description
OnFieldChange<DateTime>

Implements

INestedPersist
ISoDataLookup
ISentryIgnorable
ISoItem

Extension Methods

EnumUtil.MapEnums<From, To>(From)
QueryExectionExtensions.ExecuteReader(SqlCommand, Boolean)
QueryExectionExtensions.ExecuteScalar<T>(SqlCommand)
QueryExectionExtensions.ExecuteNonQuery(SqlCommand)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top