Class ContentBase
Represents an abstract class for base Content properties and methods
Namespace: Umbraco.Cms.Core.Models
Assembly: Umbraco.Core.dll
Syntax
[Serializable]
[DataContract(IsReference = true)]
public abstract class ContentBase : TreeEntityBase, IContentBase, IUmbracoEntity, ITreeEntity, IEntity, IDeepCloneable, IRememberBeingDirty, ICanBeDirty
Constructors
View SourceContentBase(string?, int, IContentTypeComposition?, IPropertyCollection, string?)
Initializes a new instance of the ContentBase class.
Declaration
protected ContentBase(string? name, int parentId, IContentTypeComposition? contentType, IPropertyCollection properties, string? culture = null)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | |
| int | parentId | |
| IContentTypeComposition | contentType | |
| IPropertyCollection | properties | |
| string | culture |
ContentBase(string?, IContentBase?, IContentTypeComposition, IPropertyCollection, string?)
Initializes a new instance of the ContentBase class.
Declaration
protected ContentBase(string? name, IContentBase? parent, IContentTypeComposition contentType, IPropertyCollection properties, string? culture = null)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | |
| IContentBase | parent | |
| IContentTypeComposition | contentType | |
| IPropertyCollection | properties | |
| string | culture |
Properties
View SourceAvailableCultures
Gets the available cultures.
Declaration
public IEnumerable<string> AvailableCultures { get; }
Property Value
| Type | Description |
|---|---|
| IEnumerable<string> |
Remarks
Cannot contain the invariant culture, which is always available.
ContentType
Gets the content type of this content.
Declaration
[IgnoreDataMember]
public ISimpleContentType ContentType { get; }
Property Value
| Type | Description |
|---|---|
| ISimpleContentType |
ContentTypeId
Integer Id of the default ContentType
Declaration
[DataMember]
public int ContentTypeId { get; }
Property Value
| Type | Description |
|---|---|
| int |
CultureInfos
Gets culture infos of the content item.
Declaration
[DataMember]
public ContentCultureInfosCollection? CultureInfos { get; set; }
Property Value
| Type | Description |
|---|---|
| ContentCultureInfosCollection |
Remarks
Because a dictionary key cannot be null this cannot contain the invariant
culture name, which must be get or set via the Name property.
Properties
Gets or sets the collection of properties for the entity.
Declaration
[DataMember]
public IPropertyCollection Properties { get; set; }
Property Value
| Type | Description |
|---|---|
| IPropertyCollection |
Remarks
Marked DoNotClone since we'll manually clone the underlying field to deal with the event handling
VersionId
Gets the version identifier.
Declaration
[IgnoreDataMember]
public int VersionId { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
WriterId
Id of the user who wrote/updated this entity
Declaration
[DataMember]
public int WriterId { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
Methods
View SourceChangeContentType(ISimpleContentType)
Declaration
public void ChangeContentType(ISimpleContentType contentType)
Parameters
| Type | Name | Description |
|---|---|---|
| ISimpleContentType | contentType |
GetCultureName(string?)
Gets the name of the content item for a specified language.
Declaration
public string? GetCultureName(string? culture)
Parameters
| Type | Name | Description |
|---|---|---|
| string | culture |
Returns
| Type | Description |
|---|---|
| string |
Remarks
When culture is null, gets the invariant
culture name, which is the value of the Name property.
When culture is not null, and the content type
does not vary by culture, returns null.
GetDirtyProperties()
Gets properties that are dirty.
Declaration
public override IEnumerable<string> GetDirtyProperties()
Returns
| Type | Description |
|---|---|
| IEnumerable<string> |
Remarks
Overridden to include user properties.
GetUpdateDate(string)
Gets the date a culture was updated.
Declaration
public DateTime? GetUpdateDate(string culture)
Parameters
| Type | Name | Description |
|---|---|---|
| string | culture |
Returns
| Type | Description |
|---|---|
| DateTime? |
Remarks
When culture is null, returns null.
If the specified culture is not available, returns null.
GetValue(string, string?, string?, bool)
Gets the value of a Property
Declaration
public object? GetValue(string propertyTypeAlias, string? culture = null, string? segment = null, bool published = false)
Parameters
| Type | Name | Description |
|---|---|---|
| string | propertyTypeAlias | |
| string | culture | |
| string | segment | |
| bool | published |
Returns
| Type | Description |
|---|---|
| object |
Remarks
Values 'null' and 'empty' are equivalent for culture and segment.
GetValue<TValue>(string, string?, string?, bool)
Gets the typed value of a Property
Declaration
public TValue? GetValue<TValue>(string propertyTypeAlias, string? culture = null, string? segment = null, bool published = false)
Parameters
| Type | Name | Description |
|---|---|---|
| string | propertyTypeAlias | |
| string | culture | |
| string | segment | |
| bool | published |
Returns
| Type | Description |
|---|---|
| TValue |
Type Parameters
| Name | Description |
|---|---|
| TValue |
Remarks
Values 'null' and 'empty' are equivalent for culture and segment.
GetWereDirtyProperties()
Gets properties that were dirty.
Declaration
public override IEnumerable<string> GetWereDirtyProperties()
Returns
| Type | Description |
|---|---|
| IEnumerable<string> |
Remarks
Overridden to include user properties.
HasProperty(string)
Gets a value indicating whether the content entity has a property with the supplied alias.
Declaration
public bool HasProperty(string propertyTypeAlias)
Parameters
| Type | Name | Description |
|---|---|---|
| string | propertyTypeAlias |
Returns
| Type | Description |
|---|---|
| bool |
Remarks
Indicates that the content entity has a property with the supplied alias, but not necessarily that the content has a value for that property. Could be missing.
IsCultureAvailable(string)
Gets a value indicating whether a given culture is available.
Declaration
public bool IsCultureAvailable(string culture)
Parameters
| Type | Name | Description |
|---|---|---|
| string | culture |
Returns
| Type | Description |
|---|---|
| bool |
Remarks
A culture becomes available whenever the content name for this culture is non-null, and it becomes unavailable whenever the content name is null.
Returns false for the invariant culture, in order to be consistent
with AvailableCultures, even though the invariant culture is
always available.
Does not support the '*' wildcard (returns false).
IsDirty()
Determines whether the current entity is dirty.
Declaration
public override bool IsDirty()
Returns
| Type | Description |
|---|---|
| bool |
Remarks
Overridden to include user properties.
IsEntityDirty()
Gets a value indicating whether the current entity's own properties (not user) are dirty.
Declaration
public bool IsEntityDirty()
Returns
| Type | Description |
|---|---|
| bool |
IsPropertyDirty(string)
Determines whether a specific property is dirty.
Declaration
public override bool IsPropertyDirty(string propertyName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | propertyName |
Returns
| Type | Description |
|---|---|
| bool |
Remarks
Overridden to include user properties.
PerformDeepClone(object)
Used by inheritors to modify the DeepCloning logic
Declaration
protected override void PerformDeepClone(object clone)
Parameters
| Type | Name | Description |
|---|---|---|
| object | clone |
Remarks
Overridden to deal with specific object instances
PropertiesChanged(object?, NotifyCollectionChangedEventArgs)
Declaration
protected void PropertiesChanged(object? sender, NotifyCollectionChangedEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| object | sender | |
| NotifyCollectionChangedEventArgs | e |
RemoveValue(string)
Removes a Property value.
Declaration
public void RemoveValue(string propertyTypeAlias)
Parameters
| Type | Name | Description |
|---|---|---|
| string | propertyTypeAlias | The alias of the property value to remove. |
Remarks
This removes the value for all cultures and segments.
ResetDirtyProperties(bool)
Resets dirty properties.
Declaration
public override void ResetDirtyProperties(bool rememberDirty)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | rememberDirty | A value indicating whether to remember dirty properties. |
Remarks
When rememberDirty is true, dirty properties are saved so they can be checked with
WasDirty.
ResetWereDirtyProperties()
Resets properties that were dirty.
Declaration
public override void ResetWereDirtyProperties()
SetCultureName(string?, string?)
Sets the name of the content item for a specified culture.
Declaration
public void SetCultureName(string? name, string? culture)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | |
| string | culture |
Remarks
When culture is null, sets the invariant
culture name, which sets the Name property.
When culture is not null, throws if the content
type does not vary by culture.
SetValue(string, object?, string?, string?)
Sets the (edited) value of a Property
Declaration
public void SetValue(string propertyTypeAlias, object? value, string? culture = null, string? segment = null)
Parameters
| Type | Name | Description |
|---|---|---|
| string | propertyTypeAlias | |
| object | value | |
| string | culture | |
| string | segment |
Remarks
Values 'null' and 'empty' are equivalent for culture and segment.
WasDirty()
Determines whether the current entity is dirty.
Declaration
public override bool WasDirty()
Returns
| Type | Description |
|---|---|
| bool |
Remarks
A property was dirty if it had been changed and the changes were committed.
WasEntityDirty()
Gets a value indicating whether the current entity's own properties (not user) were dirty.
Declaration
public bool WasEntityDirty()
Returns
| Type | Description |
|---|---|
| bool |
WasPropertyDirty(string)
Determines whether a specific property was dirty.
Declaration
public override bool WasPropertyDirty(string propertyName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | propertyName |
Returns
| Type | Description |
|---|---|
| bool |
Remarks
A property was dirty if it had been changed and the changes were committed.