public interface IFieldDefinition
{
/// <summary>
/// Parts to be used as DisplayName, for chained properties there are multiple entries
/// </summary>
IFieldDefinitionDisplayNamePart[] DisplayNameParts { get; set; }
/// <summary>
/// The <summary>The name of the field, used to filter and query
query</summary>
string Name { get; set; }
/// </summary>
string Name<summary>The SystemName, use this for API-Calls</summary>
string SystemName { get; set; }
/// <summary>
/// The <summary>The short TypeName of the field (i.E: String)
/// </summary>
string TypeName { get; set; }
/// <summary>
/// The <summary>The Full TypeName of the field (i.E: System.String)
/// </summary>
string TypeFullName { get; set; }
/// <summary>
/// The category, for FieldDefinitionKind "Property" it's always "Entity", for
/// FieldDefinitionKind AttributeValue its the name of the AttributeGroup
/// </summary>
string Category { get; set; }
/// <summary>
/// Kind <summary>Kind of the field (Property or AttributeValue)
/// </summary>
FieldDefinitionKind Kind { get; set; }
/// <summary>
/// ToDo
/// </summary>
<summary>ToDo</summary>
IFieldValidationInformation[] ValidationInformations { get; set; }
/// <summary>
/// Defines<summary>Defines if the field is Updateable
/// </summary>
Updateable</summary>
bool Updateable { get; set; }
}
public interface IFieldDefinitionDisplayNamePart
{
/// <summary>
/// The value itself
/// </summary>
string Value { get; set; }
/// <summary>
/// A plain value if kind is NameKey
/// </summary>
string AltValue { get; set; }
/// <summary>
/// Defines if it is a plain value of a nameKey
/// </summary>
FieldDefinitionDisplayNamePartKind Kind { get; }
} |