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 |