Show / Hide Table of Contents

Class EjMessageRow

This table contains the messages listed under tickets.
Row Object for table 'ej_message'. 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
EjMessageRow
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 EjMessageRow : TableRowBase, INestedPersist, ISoDataLookup, ISentryIgnorable, ISoItem, IExtraFieldsHelper
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) EjMessageRow EjMessageRow.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(EjMessageRow.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 EjMessageTableInfo instance used in the query behind the reader, you can use the static GetFromReader(SoDataReader, EjMessageTableInfo) 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 EjMessageRows collection, which has nested classes and GetFromIdx methods for each non-unique index. Similarly, there is a GetFromReader(SoDataReader, EjMessageTableInfo) method to retrieve the results of queries that return more than one row.

Unique indexes on table EjMessage are:

Index fieldsNested index class name

Constructors

EjMessageRow(EjMessageRow.EjMessageRowIdxBase)

Constructor for the class taking an index as argument. This table contains the messages listed under tickets.

Declaration
protected EjMessageRow(EjMessageRow.EjMessageRowIdxBase idx)
Parameters
Type Name Description
EjMessageRow.EjMessageRowIdxBase idx

The index representing a SELECT command to the database.

Fields

_currentAuthor

Current value, see property Author.

Declaration
protected string _currentAuthor
Field Value
Type Description
String

_currentBody

Current value, see property Body.

Declaration
protected string _currentBody
Field Value
Type Description
String

_currentBodyAttachment

Current value, see property BodyAttachment.

Declaration
protected int _currentBodyAttachment
Field Value
Type Description
Int32

_currentCreatedAt

Current value, see property CreatedAt.

Declaration
protected DateTime _currentCreatedAt
Field Value
Type Description
DateTime

_currentCreatedBy

Current value, see property CreatedBy.

Declaration
protected int _currentCreatedBy
Field Value
Type Description
Int32

_currentCustomerId

Current value, see property CustomerId.

Declaration
protected int _currentCustomerId
Field Value
Type Description
Int32

_currentDebugInfo

Current value, see property DebugInfo.

Declaration
protected string _currentDebugInfo
Field Value
Type Description
String

_currentEjMessageId

Current value, see property EjMessageId.

Declaration
protected int _currentEjMessageId
Field Value
Type Description
Int32

_currentEmailHeader

Current value, see property EmailHeader.

Declaration
protected string _currentEmailHeader
Field Value
Type Description
String

_currentHtmlBody

Current value, see property HtmlBody.

Declaration
protected string _currentHtmlBody
Field Value
Type Description
String

_currentHtmlBodyAttachment

Current value, see property HtmlBodyAttachment.

Declaration
protected int _currentHtmlBodyAttachment
Field Value
Type Description
Int32

_currentHtmlBodyInlineConverted

Current value, see property HtmlBodyInlineConverted.

Declaration
protected short _currentHtmlBodyInlineConverted
Field Value
Type Description
Int16

_currentImportant

Current value, see property Important.

Declaration
protected short _currentImportant
Field Value
Type Description
Int16

_currentInbox

Current value, see property Inbox.

Declaration
protected int _currentInbox
Field Value
Type Description
Int32

_currentLanguage

Current value, see property Language.

Declaration
protected string _currentLanguage
Field Value
Type Description
String

_currentMailSorter

Current value, see property MailSorter.

Declaration
protected string _currentMailSorter
Field Value
Type Description
String

_currentMessageCategory

Current value, see property MessageCategory.

Declaration
protected TicketMessageCategory _currentMessageCategory
Field Value
Type Description
TicketMessageCategory

_currentMessageId

Current value, see property MessageId.

Declaration
protected string _currentMessageId
Field Value
Type Description
String

_currentSearchTitle

Current value, see property SearchTitle.

Declaration
protected string _currentSearchTitle
Field Value
Type Description
String

_currentSentiment

Current value, see property Sentiment.

Declaration
protected int _currentSentiment
Field Value
Type Description
Int32

_currentSentimentConfidence

Current value, see property SentimentConfidence.

Declaration
protected int _currentSentimentConfidence
Field Value
Type Description
Int32

_currentSlevel

Current value, see property Slevel.

Declaration
protected TicketSecurityLevel _currentSlevel
Field Value
Type Description
TicketSecurityLevel

_currentTicketId

Current value, see property TicketId.

Declaration
protected int _currentTicketId
Field Value
Type Description
Int32

_currentTimeCharge

Current value, see property TimeCharge.

Declaration
protected int _currentTimeCharge
Field Value
Type Description
Int32

_currentTimeSpent

Current value, see property TimeSpent.

Declaration
protected int _currentTimeSpent
Field Value
Type Description
Int32

_currentType

Current value, see property Type.

Declaration
protected TicketMessageType _currentType
Field Value
Type Description
TicketMessageType

_persistedAuthor

Persisted value, see property Author.

Declaration
protected string _persistedAuthor
Field Value
Type Description
String

_persistedBody

Persisted value, see property Body.

Declaration
protected string _persistedBody
Field Value
Type Description
String

_persistedBodyAttachment

Persisted value, see property BodyAttachment.

Declaration
protected int _persistedBodyAttachment
Field Value
Type Description
Int32

_persistedCreatedAt

Persisted value, see property CreatedAt.

Declaration
protected DateTime _persistedCreatedAt
Field Value
Type Description
DateTime

_persistedCreatedBy

Persisted value, see property CreatedBy.

Declaration
protected int _persistedCreatedBy
Field Value
Type Description
Int32

_persistedCustomerId

Persisted value, see property CustomerId.

Declaration
protected int _persistedCustomerId
Field Value
Type Description
Int32

_persistedDebugInfo

Persisted value, see property DebugInfo.

Declaration
protected string _persistedDebugInfo
Field Value
Type Description
String

_persistedEjMessageId

Persisted value, see property EjMessageId.

Declaration
protected int _persistedEjMessageId
Field Value
Type Description
Int32

_persistedEmailHeader

Persisted value, see property EmailHeader.

Declaration
protected string _persistedEmailHeader
Field Value
Type Description
String

_persistedHtmlBody

Persisted value, see property HtmlBody.

Declaration
protected string _persistedHtmlBody
Field Value
Type Description
String

_persistedHtmlBodyAttachment

Persisted value, see property HtmlBodyAttachment.

Declaration
protected int _persistedHtmlBodyAttachment
Field Value
Type Description
Int32

_persistedHtmlBodyInlineConverted

Persisted value, see property HtmlBodyInlineConverted.

Declaration
protected short _persistedHtmlBodyInlineConverted
Field Value
Type Description
Int16

_persistedImportant

Persisted value, see property Important.

Declaration
protected short _persistedImportant
Field Value
Type Description
Int16

_persistedInbox

Persisted value, see property Inbox.

Declaration
protected int _persistedInbox
Field Value
Type Description
Int32

_persistedLanguage

Persisted value, see property Language.

Declaration
protected string _persistedLanguage
Field Value
Type Description
String

_persistedMailSorter

Persisted value, see property MailSorter.

Declaration
protected string _persistedMailSorter
Field Value
Type Description
String

_persistedMessageCategory

Persisted value, see property MessageCategory.

Declaration
protected TicketMessageCategory _persistedMessageCategory
Field Value
Type Description
TicketMessageCategory

_persistedMessageId

Persisted value, see property MessageId.

Declaration
protected string _persistedMessageId
Field Value
Type Description
String

_persistedSearchTitle

Persisted value, see property SearchTitle.

Declaration
protected string _persistedSearchTitle
Field Value
Type Description
String

_persistedSentiment

Persisted value, see property Sentiment.

Declaration
protected int _persistedSentiment
Field Value
Type Description
Int32

_persistedSentimentConfidence

Persisted value, see property SentimentConfidence.

Declaration
protected int _persistedSentimentConfidence
Field Value
Type Description
Int32

_persistedSlevel

Persisted value, see property Slevel.

Declaration
protected TicketSecurityLevel _persistedSlevel
Field Value
Type Description
TicketSecurityLevel

_persistedTicketId

Persisted value, see property TicketId.

Declaration
protected int _persistedTicketId
Field Value
Type Description
Int32

_persistedTimeCharge

Persisted value, see property TimeCharge.

Declaration
protected int _persistedTimeCharge
Field Value
Type Description
Int32

_persistedTimeSpent

Persisted value, see property TimeSpent.

Declaration
protected int _persistedTimeSpent
Field Value
Type Description
Int32

_persistedType

Persisted value, see property Type.

Declaration
protected TicketMessageType _persistedType
Field Value
Type Description
TicketMessageType

Properties

Author

.NET type: string. A string representing the author of the message. Could be a user's name, or a persons email address.

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

Original type in dictionary: String[256].

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (string.Empty)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

Body

.NET type: string. The textbody for the message.

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

Original type in dictionary: Clob.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (string.Empty)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

BodyAttachment

.NET type: int. If the body is too long for the database, it's stored in this attachment instead.

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

Original type in dictionary: FK.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (0)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

CreatedAt

.NET type: DateTime. When the message was posted.

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

Original type in dictionary: DateTime.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (DateTime.MinValue)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

CreatedBy

.NET type: int. The id of the user who posted the message. The value 1 (system user) for externally posted messages.

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

Original type in dictionary: FK.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (0)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

CustomerId

.NET type: int. If the message was created by email or from the customer center, this field will point to that customer. -1 if the message was created by an user

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

Original type in dictionary: FK.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (0)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

DebugInfo

.NET type: string. The debug info for the message.

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

Original type in dictionary: Clob.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (string.Empty)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

EjMessageId

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

Declaration
public virtual int EjMessageId { 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

EjMessageTableInfo

Get the EjMessageTableInfo object associated with the row.

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

EmailHeader

.NET type: string. The email header is saved in this field as raw text

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

Original type in dictionary: Clob.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (string.Empty)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

HtmlBody

.NET type: string. The html body for the message (if any).

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

Original type in dictionary: Clob.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (string.Empty)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

HtmlBodyAttachment

.NET type: int. If the htmlbody is too long for the database, it's stored in this attachment instead.

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

Original type in dictionary: FK.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (0)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

HtmlBodyInlineConverted

.NET type: short. True if the html_body has converted inline image links.

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

Original type in dictionary: Bool.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value ((Int16)0)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

Important

.NET type: short. If this message is important or not.

Declaration
public virtual short Important { 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

Inbox

.NET type: int. The id of the inbox entry which created this message. Note: inbox entries are regularily deleted.

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

Original type in dictionary: FK.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (0)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

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.

Language

.NET type: string. The language this message is in, based on some kind of analysis

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

Original type in dictionary: String[11].

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

MailSorter

.NET type: string. The name of the mail sorter used when the email was imported. Note: We must use name instead of id since the id's change every time one changes the mail sorter. :-0

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

Original type in dictionary: String[256].

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (string.Empty)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

MessageCategory

.NET type: TicketMessageCategory. Defines what kind of message this is.

Declaration
public virtual TicketMessageCategory MessageCategory { get; set; }
Property Value
Type Description
TicketMessageCategory
Remarks

Original type in dictionary: Enum.

Setting this field to a new value will reset the Sentry and recalculate your rights based on the new value

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value ((short)0)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

MessageId

.NET type: string. The X-Message-Id header value from the email. Used for threading, i.e. connecting messages to existing tickets.

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

Original type in dictionary: String[256].

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (string.Empty)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

SearchTitle

.NET type: string. A copy of the title of the ticket, for search optimisation and simpler reporting.

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

Original type in dictionary: String[256].

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (string.Empty)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

Sentiment

.NET type: int. Sentiment index, 100 = completely happy; -100 = suicidally unhappy; 0 = no idea

Declaration
public virtual int Sentiment { 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

SentimentConfidence

.NET type: int. Confidence of sentiment index, 0 = no idea, 100 = completely sure

Declaration
public virtual int SentimentConfidence { 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

Slevel

.NET type: TicketSecurityLevel. The securitylevel of the message.

Declaration
public virtual TicketSecurityLevel Slevel { get; set; }
Property Value
Type Description
TicketSecurityLevel
Remarks

Original type in dictionary: Enum.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value ((short)0)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

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 this message is a child of.

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 reset the Sentry and recalculate your rights based on the new value

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (0)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

TimeCharge

.NET type: int. The amount of time (minutes) which should be invoiced for this message.

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

Original type in dictionary: Int.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (0)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

TimeSpent

.NET type: int. The time spent (minutes) for this message.

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

Original type in dictionary: Int.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value (0)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

Type

.NET type: TicketMessageType. The type of the message (plaintext/html).

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

Original type in dictionary: Enum.

You need to have Read access to get the value of this field. If you do not have access, you will get a blank value ((short)0)

You need to have Write access to set this field to a new value (Sentry will throw exception otherwise)

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

Exceptions
Type Condition
SoSentryException

Thrown if the set method is accessed without having the Write access right to the field

Methods

CreateNew()

Create a new instance of the EjMessageRow object. This table contains the messages listed under tickets.

Declaration
public static EjMessageRow CreateNew()
Returns
Type Description
EjMessageRow

A new instance of the EjMessageRow object.

GetExtraFieldsHelper()

Declaration
public ExtraFieldsHelper GetExtraFieldsHelper()
Returns
Type Description
ExtraFieldsHelper

GetFromCustomSearch(EjMessageRow.CustomSearch)

Create a new instance of the EjMessageRow 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 EjMessageRow GetFromCustomSearch(EjMessageRow.CustomSearch query)
Parameters
Type Name Description
EjMessageRow.CustomSearch query

The custom search to execute against the database

Returns
Type Description
EjMessageRow

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

GetFromIdxEjMessageId(Int32)

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

Declaration
public static EjMessageRow GetFromIdxEjMessageId(int ejMessageId)
Parameters
Type Name Description
Int32 ejMessageId
Returns
Type Description
EjMessageRow

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 EjMessage table. Non-unique indexes have corresponding inner classes and methods in the EjMessageRows collection, since they may return more than one row.

GetFromReader(SoDataReader, EjMessageTableInfo)

Create a new instance of the EjMessageRow 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 the messages listed under tickets.

Declaration
public static EjMessageRow GetFromReader(SoDataReader reader, EjMessageTableInfo tableInfo)
Parameters
Type Name Description
SoDataReader reader

SoDataReader positioned to a valid database row.

EjMessageTableInfo tableInfo

EjMessageTableInfo 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
EjMessageRow

A new instance of the EjMessageRow 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

_onAuthorChange

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

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

_onBodyAttachmentChange

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

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

_onBodyChange

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

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

_onCreatedAtChange

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

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

_onCreatedByChange

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

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

_onCustomerIdChange

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

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

_onDebugInfoChange

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

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

_onEmailHeaderChange

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

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

_onHtmlBodyAttachmentChange

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

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

_onHtmlBodyChange

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

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

_onHtmlBodyInlineConvertedChange

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

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

_onImportantChange

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

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

_onInboxChange

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

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

_onLanguageChange

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

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

_onMailSorterChange

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

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

_onMessageCategoryChange

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

Declaration
protected event OnFieldChange<TicketMessageCategory> _onMessageCategoryChange
Event Type
Type Description
OnFieldChange<TicketMessageCategory>

_onMessageIdChange

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

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

_onSearchTitleChange

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

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

_onSentimentChange

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

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

_onSentimentConfidenceChange

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

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

_onSlevelChange

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

Declaration
protected event OnFieldChange<TicketSecurityLevel> _onSlevelChange
Event Type
Type Description
OnFieldChange<TicketSecurityLevel>

_onTicketIdChange

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

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

_onTimeChargeChange

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

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

_onTimeSpentChange

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

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

_onTypeChange

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

Declaration
protected event OnFieldChange<TicketMessageType> _onTypeChange
Event Type
Type Description
OnFieldChange<TicketMessageType>

OnAuthorChange

Event raised when Author is changing.

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

OnBodyAttachmentChange

Event raised when BodyAttachment is changing.

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

OnBodyChange

Event raised when Body is changing.

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

OnCreatedAtChange

Event raised when CreatedAt is changing.

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

OnCreatedByChange

Event raised when CreatedBy is changing.

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

OnCustomerIdChange

Event raised when CustomerId is changing.

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

OnDebugInfoChange

Event raised when DebugInfo is changing.

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

OnEmailHeaderChange

Event raised when EmailHeader is changing.

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

OnHtmlBodyAttachmentChange

Event raised when HtmlBodyAttachment is changing.

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

OnHtmlBodyChange

Event raised when HtmlBody is changing.

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

OnHtmlBodyInlineConvertedChange

Event raised when HtmlBodyInlineConverted is changing.

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

OnImportantChange

Event raised when Important is changing.

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

OnInboxChange

Event raised when Inbox is changing.

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

OnLanguageChange

Event raised when Language is changing.

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

OnMailSorterChange

Event raised when MailSorter is changing.

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

OnMessageCategoryChange

Event raised when MessageCategory is changing.

Declaration
public event OnFieldChange<TicketMessageCategory> OnMessageCategoryChange
Event Type
Type Description
OnFieldChange<TicketMessageCategory>

OnMessageIdChange

Event raised when MessageId is changing.

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

OnSearchTitleChange

Event raised when SearchTitle is changing.

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

OnSentimentChange

Event raised when Sentiment is changing.

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

OnSentimentConfidenceChange

Event raised when SentimentConfidence is changing.

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

OnSlevelChange

Event raised when Slevel is changing.

Declaration
public event OnFieldChange<TicketSecurityLevel> OnSlevelChange
Event Type
Type Description
OnFieldChange<TicketSecurityLevel>

OnTicketIdChange

Event raised when TicketId is changing.

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

OnTimeChargeChange

Event raised when TimeCharge is changing.

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

OnTimeSpentChange

Event raised when TimeSpent is changing.

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

OnTypeChange

Event raised when Type is changing.

Declaration
public event OnFieldChange<TicketMessageType> OnTypeChange
Event Type
Type Description
OnFieldChange<TicketMessageType>

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