Class SoField
Field description according to the deployed dictionary.
Implements
Inherited Members
Namespace: SuperOffice.Data.Dictionary
Assembly: SoDataBase.dll
Syntax
public sealed class SoField : IEquatable<SoField>
Fields
_hashFlags
Field description according to the deployed dictionary.
Declaration
public HashFlags _hashFlags
Field Value
Type | Description |
---|---|
HashFlags |
Properties
AdditionalValues
AdditionalValues key/value dictionary from the DatabaseModel
Declaration
public Dictionary<string, string> AdditionalValues { get; }
Property Value
Type | Description |
---|---|
Dictionary<string, string> |
AutoGenerateGuid
Should this field be auto-populated with a GUID on insert? The parent SoTable should also have this flag set, if true
Declaration
public bool AutoGenerateGuid { get; }
Property Value
Type | Description |
---|---|
bool |
ConceptualType
The type of the field
Declaration
public DictFieldType ConceptualType { get; }
Property Value
Type | Description |
---|---|
DictFieldType |
DbName
Name of the field as in the database
Declaration
public string DbName { get; }
Property Value
Type | Description |
---|---|
string |
DefaultActiveUser
If the field is an ej_user FK, and null, then it should be set to the current associate.ej_userId; this functionality is only applicable to CS ExtraFields
Declaration
public bool DefaultActiveUser { get; }
Property Value
Type | Description |
---|---|
bool |
DefaultNow
If the field is a date/time, and null, then it should be set to DateTime.Now; this functionality is only applicable to CS ExtraFields
Declaration
public bool DefaultNow { get; }
Property Value
Type | Description |
---|---|
bool |
DefaultValue
Default value for new records, from the database model
Declaration
public object DefaultValue { get; }
Property Value
Type | Description |
---|---|
object |
DisplayDescription
Friendly description, if set, can be multi-language string
Declaration
public string DisplayDescription { get; }
Property Value
Type | Description |
---|---|
string |
DisplayName
Friendly name, if set, can be multi-language string
Declaration
public string DisplayName { get; }
Property Value
Type | Description |
---|---|
string |
DoNotTrimTrailingWhitespace
Trailing whitespace (' ', '\t', '\r', '\n') is usually trimmed by StringTrimmerUpdater; unless this flag has been set by an AdditionalValue from SuperOffice.CD.DSL.Database.DbModelConstants.DoNotTrimTrailingWhitespace
Declaration
public bool DoNotTrimTrailingWhitespace { get; }
Property Value
Type | Description |
---|---|
bool |
FieldNumber
The complete field number as used by SODBIF in the win 32 client (e.g. TableNumber << 8 + Index).
Declaration
public int FieldNumber { get; }
Property Value
Type | Description |
---|---|
int |
GenerationState
Relation between the generated code in NetServer and the actual database state, applies to both tables and fields
Declaration
public CodeGenerationState GenerationState { get; }
Property Value
Type | Description |
---|---|
CodeGenerationState |
Index
Relative index of the field in the table. The first field (e.g. primary key) is 0
Declaration
public int Index { get; }
Property Value
Type | Description |
---|---|
int |
IsEjournalExtraField
Is this an eJournal extra field (fields added to existing tables through the CS Admin user interface)
Declaration
public bool IsEjournalExtraField { get; }
Property Value
Type | Description |
---|---|
bool |
IsForeignKey
Field description according to the deployed dictionary.
Declaration
public bool IsForeignKey { get; }
Property Value
Type | Description |
---|---|
bool |
IsFreetextSource
Is this field marked as a source for freetext indexing
Declaration
public bool IsFreetextSource { get; }
Property Value
Type | Description |
---|---|
bool |
IsHashField
Is this field the container of a row-level hash checksum?
Declaration
public bool IsHashField { get; }
Property Value
Type | Description |
---|---|
bool |
IsHashSource
Is this field a source for a row-level hash checksum?
Declaration
public bool IsHashSource { get; }
Property Value
Type | Description |
---|---|
bool |
IsNotNull
Is the field NOT NULL in the database?
Declaration
public bool IsNotNull { get; }
Property Value
Type | Description |
---|---|
bool |
IsPrimaryKey
Is the field a primary key
Declaration
public bool IsPrimaryKey { get; }
Property Value
Type | Description |
---|---|
bool |
IsRecordId
Is this field the record id part of a 'universal relation' (consisting of table number + record id)
Declaration
public bool IsRecordId { get; }
Property Value
Type | Description |
---|---|
bool |
IsRegisteredAssociate
Is this the automatically updated registered by (associate id) field
Declaration
public bool IsRegisteredAssociate { get; }
Property Value
Type | Description |
---|---|
bool |
IsRegisteredDate
Is this the automatically updated registered date field
Declaration
public bool IsRegisteredDate { get; }
Property Value
Type | Description |
---|---|
bool |
IsRegisteredEjUser
Is this the automatically updated created by (ejUser id) field
Declaration
public bool IsRegisteredEjUser { get; }
Property Value
Type | Description |
---|---|
bool |
IsRequiredForFreetext
Is this field marked as "required for freetext indexing"
Declaration
public bool IsRequiredForFreetext { get; }
Property Value
Type | Description |
---|---|
bool |
IsSoundexSource
Is this field marked as a source for soundex (metaphone) calculations
Declaration
public bool IsSoundexSource { get; }
Property Value
Type | Description |
---|---|
bool |
IsSoundexTarget
Is this field marked as a target for soundex (metaphone) calculations
Declaration
public bool IsSoundexTarget { get; }
Property Value
Type | Description |
---|---|
bool |
IsTableNumber
Is this field the table number part of a 'universal relation' (consisting of table number + record id)
Declaration
public bool IsTableNumber { get; }
Property Value
Type | Description |
---|---|
bool |
IsUpdatedAssociate
Is this the automatically updated last updated by (associate id) field
Declaration
public bool IsUpdatedAssociate { get; }
Property Value
Type | Description |
---|---|
bool |
IsUpdatedCount
Field description according to the deployed dictionary.
Declaration
public bool IsUpdatedCount { get; }
Property Value
Type | Description |
---|---|
bool |
IsUpdatedDate
Is this the automatically updated last updated field
Declaration
public bool IsUpdatedDate { get; }
Property Value
Type | Description |
---|---|
bool |
IsUpdatedEjUser
Is this the automatically updated last updated by (ejUser id) field
Declaration
public bool IsUpdatedEjUser { get; }
Property Value
Type | Description |
---|---|
bool |
IsValidFrom
Is this a 'valid from' field
Declaration
public bool IsValidFrom { get; }
Property Value
Type | Description |
---|---|
bool |
IsValidTo
Is this a 'valid to' field
Declaration
public bool IsValidTo { get; }
Property Value
Type | Description |
---|---|
bool |
Length
The length of the field
Declaration
public int Length { get; }
Property Value
Type | Description |
---|---|
int |
Name
Conceptual name of the field
Declaration
public string Name { get; }
Property Value
Type | Description |
---|---|
string |
PartOfFulltextIndex
Is this field part of a fulltext index/search mechanism? Valid only for databases that support fulltext indexing
Declaration
public bool PartOfFulltextIndex { get; }
Property Value
Type | Description |
---|---|
bool |
PrivacyTags
Set of privacy tags from the DatabaseModel
Declaration
public HashSet<string> PrivacyTags { get; }
Property Value
Type | Description |
---|---|
HashSet<string> |
RelationTarget
Gets the first relation table where foreignkey matches this SoField, or null if none exists.
Declaration
public SoTable RelationTarget { get; }
Property Value
Type | Description |
---|---|
SoTable |
Table
Parent Table, the table which the field belongs to.
Declaration
public SoTable Table { get; }
Property Value
Type | Description |
---|---|
SoTable |
TextExtension
Is this a name or tooltip field in a list table, that may have its value extended through (max 2) text records? This property is only populated if the preference is ON, so no further tests are needed.
Declaration
public SoField.TextExtensionType TextExtension { get; }
Property Value
Type | Description |
---|---|
SoField.TextExtensionType |
TimeZoneConvert
DateTime fields may be subject to Timezone-related conversions, which is a quite tricky subject. Functionality is enabled by the AdditionalValue SuperOffice.CD.DSL.Database.DbModelConstants.TimeZoneConvert. More precisely, this attribute marks fields that should be converted to the USER'S PREFERRED TIME, i.e., the timezone dropdown in the Diary. It does not apply to many fields.
Declaration
public bool TimeZoneConvert { get; }
Property Value
Type | Description |
---|---|
bool |
TimeZoneInterpretation
How should this DateTime value be interpreted when reading from the database. Has no meaning for non-date/time fields
Declaration
public TimeZoneInterpretation TimeZoneInterpretation { get; }
Property Value
Type | Description |
---|---|
TimeZoneInterpretation |
Type
Get base-type of the field within NetServer. Enumerators are usually of type Int16.
Declaration
public Type Type { get; }
Property Value
Type | Description |
---|---|
Type |
ViewInSearch
Should this field be indexed by Freetext indexer
Declaration
public bool ViewInSearch { get; }
Property Value
Type | Description |
---|---|
bool |
Methods
Equals(SoField)
Overrided equals comparer that is valid accross database sessions
Declaration
public bool Equals(SoField other)
Parameters
Type | Name | Description |
---|---|---|
SoField | other | Object to compare too |
Returns
Type | Description |
---|---|
bool | True if equal |
Equals(object)
Overrided equals comparer that is valid accross database sessions
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
object | obj | Object to compare too |
Returns
Type | Description |
---|---|
bool | True if equal |
Overrides
GetDefaultValue()
Field description according to the deployed dictionary.
Declaration
public object GetDefaultValue()
Returns
Type | Description |
---|---|
object |
GetEffectiveTextLength()
Field description according to the deployed dictionary.
Declaration
public int GetEffectiveTextLength()
Returns
Type | Description |
---|---|
int |
GetHashCode()
Hash code valid accross database sessions.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
int | Hash code valid accross database sessions. |
Overrides
ToString()
Name of the field for debug purposes.
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
string | Name of the field for debug purposes. |
Overrides
Operators
operator ==(SoField, SoField)
Field description according to the deployed dictionary.
Declaration
public static bool operator ==(SoField x, SoField y)
Parameters
Type | Name | Description |
---|---|---|
SoField | x | |
SoField | y |
Returns
Type | Description |
---|---|
bool |
operator !=(SoField, SoField)
Field description according to the deployed dictionary.
Declaration
public static bool operator !=(SoField x, SoField y)
Parameters
Type | Name | Description |
---|---|---|
SoField | x | |
SoField | y |
Returns
Type | Description |
---|---|
bool |