logo
logo

Interface IChangeTracker

Adds dirty tracking functionality between Sitecore Content Hub and the SDK. All members in this interface work with the original entity in Sitecore Content Hub to determine whether a member was dirty or not. This is independent from any dirty tracking in the SDK itself.

Namespace: Stylelabs.M.Scripting.Types.V1_0.ChangeTracking
Assembly: Stylelabs.M.Scripting.Types.dll
Syntax
public interface IChangeTracker

Properties

InheritsSecurity

Gets information about the InheritsSecurity on the entity.

Declaration
ISystemPropertyTracker<bool?> InheritsSecurity { get; }
Property Value
Type Description
ISystemPropertyTracker<System.Nullable<System.Boolean>>

IsPathRoot

Gets information about the IsPathRoot on the entity.

Declaration
ISystemPropertyTracker<bool?> IsPathRoot { get; }
Property Value
Type Description
ISystemPropertyTracker<System.Nullable<System.Boolean>>

IsRootTaxonomyItem

Gets information about the IsRootTaxonomyItem on the entity.

Declaration
ISystemPropertyTracker<bool?> IsRootTaxonomyItem { get; }
Property Value
Type Description
ISystemPropertyTracker<System.Nullable<System.Boolean>>

IsSystemOwned

Gets information about the IsSystemOwned on the entity.

Declaration
ISystemPropertyTracker<bool?> IsSystemOwned { get; }
Property Value
Type Description
ISystemPropertyTracker<System.Nullable<System.Boolean>>

Methods

GetChangeSet()

Creates a change set for the current entity.

Declaration
EntityChangeSet GetChangeSet()
Returns
Type Description
EntityChangeSet

A change set.

GetDirtyProperties()

Determines all dirty properties and returns the matching SDK properties. Their values contain the current value.

Declaration
IReadOnlyList<IProperty> GetDirtyProperties()
Returns
Type Description
IReadOnlyList<IProperty>

Dirty properties.

GetDirtyRelations()

Determines all dirty relations and returns the matching SDK relations. Their ids contain the current ids.

Declaration
IReadOnlyList<IRelation> GetDirtyRelations()
Returns
Type Description
IReadOnlyList<IRelation>

Dirty relations.

GetNewIds(String, Nullable<RelationRole>)

Gets the newly added ids on the relation. Returns an empty list if there are no new ids.

Declaration
IReadOnlyList<long> GetNewIds(string relationName, RelationRole? role = null)
Parameters
Type Name Description
System.String relationName

Name of the relation (case-insensitive).

System.Nullable<RelationRole> role

Role of the relation.

Returns
Type Description
IReadOnlyList<System.Int64>

A collection of ids.

GetOriginalPropertyValue<T>(String)

Gets the original value of a property. T should preferably be nullable.

Declaration
T GetOriginalPropertyValue<T>(string propertyName)
Parameters
Type Name Description
System.String propertyName

Name of the property (case-insensitive).

Returns
Type Description
T

The original value of the property. Returns default T when the property is not dirty.

Type Parameters
Name Description
T

Type of the value. Should preferably be nullable.

GetOriginalPropertyValue<T>(String, CultureInfo)

Gets the original value of a property. T should preferably be nullable.

Declaration
T GetOriginalPropertyValue<T>(string propertyName, CultureInfo culture)
Parameters
Type Name Description
System.String propertyName

Name of the property (case-insensitive).

CultureInfo culture

Culture to get the value in.

Returns
Type Description
T

The original value of the property. Returns default T when the property is not dirty.

Type Parameters
Name Description
T

Type of the value. Should preferably be nullable.

GetRemovedIds(String, Nullable<RelationRole>)

Gets the removed ids from the relation. Returns an empty list if there are no ids removed.

Declaration
IReadOnlyList<long> GetRemovedIds(string relationName, RelationRole? role = null)
Parameters
Type Name Description
System.String relationName

Name of the relation (case-insensitive).

System.Nullable<RelationRole> role

Role of the relation.

Returns
Type Description
IReadOnlyList<System.Int64>

A collection of ids.

IsPropertyDirty(String)

Checks if the given property is dirty.

Declaration
bool IsPropertyDirty(string propertyName)
Parameters
Type Name Description
System.String propertyName

Name of the property (case-insensitive).

Returns
Type Description
System.Boolean

Returns true if it is dirty.

IsRelationDirty(String, Nullable<RelationRole>)

Checks if the given relation is dirty.

Declaration
bool IsRelationDirty(string relationName, RelationRole? role = null)
Parameters
Type Name Description
System.String relationName

Name of the relation (case-insensitive).

System.Nullable<RelationRole> role

Role of the relation.

Returns
Type Description
System.Boolean

Returns true if it is dirty.

Can we improve this article ? Provide feedback