Show / Hide Table of Contents

Class SoField

Field description according to the deployed dictionary.

Inheritance
Object
SoField
Implements
IEquatable<SoField>
Inherited Members
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetType()
Object.MemberwiseClone()
Namespace: SuperOffice.Data.Dictionary
Assembly: SoDataBase.dll
Syntax
public sealed class SoField : IEquatable<SoField>

Fields

_hashFlags

Declaration
public HashFlags _hashFlags
Field Value
Type Description
SuperOffice.CD.DSL.V1.StepModel.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
Boolean

ConceptualType

The type of the field

Declaration
public DictFieldType ConceptualType { get; }
Property Value
Type Description
SuperOffice.CD.DSL.V1.StepModel.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
Boolean

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
Boolean

DefaultValue

Default value for new records, from the database model

Declaration
public object DefaultValue { get; }
Property Value
Type Description
Object

DoNotTrimTrailingWhitespace

Trailing whitespace (' ', '\t', '\r', '\n') is usually trimmed by SuperOffice.Data.Private.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
Boolean

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
Int32

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
Int32

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
Boolean

IsForeignKey

Declaration
public bool IsForeignKey { get; }
Property Value
Type Description
Boolean

IsFreetextSource

Is this field marked as a source for freetext indexing

Declaration
public bool IsFreetextSource { get; }
Property Value
Type Description
Boolean

IsHashField

Is this field the container of a row-level hash checksum?

Declaration
public bool IsHashField { get; }
Property Value
Type Description
Boolean

IsHashSource

Is this field a source for a row-level hash checksum?

Declaration
public bool IsHashSource { get; }
Property Value
Type Description
Boolean

IsNotNull

Is the field NOT NULL in the database?

Declaration
public bool IsNotNull { get; }
Property Value
Type Description
Boolean

IsPrimaryKey

Is the field a primary key

Declaration
public bool IsPrimaryKey { get; }
Property Value
Type Description
Boolean

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
Boolean

IsRegisteredAssociate

Is this the automatically updated registered by (associate id) field

Declaration
public bool IsRegisteredAssociate { get; }
Property Value
Type Description
Boolean

IsRegisteredDate

Is this the automatically updated registered date field

Declaration
public bool IsRegisteredDate { get; }
Property Value
Type Description
Boolean

IsRequiredForFreetext

Is this field marked as "required for freetext indexing"

Declaration
public bool IsRequiredForFreetext { get; }
Property Value
Type Description
Boolean

IsSoundexSource

Is this field marked as a source for soundex (metaphone) calculations

Declaration
public bool IsSoundexSource { get; }
Property Value
Type Description
Boolean

IsSoundexTarget

Is this field marked as a target for soundex (metaphone) calculations

Declaration
public bool IsSoundexTarget { get; }
Property Value
Type Description
Boolean

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
Boolean

IsUpdatedAssociate

Is this the automatically updated last updated by (associate id) field

Declaration
public bool IsUpdatedAssociate { get; }
Property Value
Type Description
Boolean

IsUpdatedDate

Is this the automatically updated last updated field

Declaration
public bool IsUpdatedDate { get; }
Property Value
Type Description
Boolean

IsValidFrom

Is this a 'valid from' field

Declaration
public bool IsValidFrom { get; }
Property Value
Type Description
Boolean

IsValidTo

Is this a 'valid to' field

Declaration
public bool IsValidTo { get; }
Property Value
Type Description
Boolean

Length

The length of the field

Declaration
public int Length { get; }
Property Value
Type Description
Int32

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
Boolean

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?

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

Declaration
public bool TimeZoneConvert { get; }
Property Value
Type Description
Boolean

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

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
Boolean

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
Boolean

True if equal

Overrides
Object.Equals(Object)

GetDefaultValue()

Declaration
public object GetDefaultValue()
Returns
Type Description
Object

GetHashCode()

Hash code valid accross database sessions.

Declaration
public override int GetHashCode()
Returns
Type Description
Int32

Hash code valid accross database sessions.

Overrides
Object.GetHashCode()

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
Object.ToString()

Operators

Equality(SoField, SoField)

Declaration
public static bool operator ==(SoField x, SoField y)
Parameters
Type Name Description
SoField x
SoField y
Returns
Type Description
Boolean

Inequality(SoField, SoField)

Declaration
public static bool operator !=(SoField x, SoField y)
Parameters
Type Name Description
SoField x
SoField y
Returns
Type Description
Boolean

Implements

System.IEquatable<T>

Extension Methods

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