C# Class Tortuga.Anchor.Modeling.Internals.ChangeTrackingPropertyBag

Property bag with basic change tracking capabilities.
Inheritance: PropertyBagBase
Mostrar archivo Open project: docevaad/Anchor

Public Methods

Method Description
AcceptChanges ( bool recursive ) : void

Marks all fields as unchanged by storing them in the original values collection.

ChangeTrackingPropertyBag ( object owner ) : System

Property bag with basic change tracking capabilities.

ChangedProperties ( ) : IReadOnlyList

List of changed properties.

GetPreviousValue ( string propertyName ) : object

Gets the previous value for the indicated property.

GetValue ( [ propertyName = null ) : object

Implementors need to override this to return the indicated value.

IsDefined ( [ propertyName = null ) : bool

This property indicates whether or not the associated property was created.

RejectChanges ( bool recursive ) : void

Replaces the current values collection with the original values collection.

Set ( object value, PropertySetModes mode, string propertyName, object &oldValue ) : bool

Implementors need to override this to save the indicated value.

This will create the property if it doesn't already exist

Private Methods

Method Description
IsChangedGraph ( ) : bool

Determines whether any objects have unsaved changed in the graph.

OnChildIsChangedPropertyChanged ( object sender, PropertyChangedEventArgs e ) : void
UpdateChangeTrackingEventHandlers ( object oldValue, object newValue ) : void

Method Details

AcceptChanges() public method

Marks all fields as unchanged by storing them in the original values collection.
public AcceptChanges ( bool recursive ) : void
recursive bool if set to true [recursive].
return void

ChangeTrackingPropertyBag() public method

Property bag with basic change tracking capabilities.
public ChangeTrackingPropertyBag ( object owner ) : System
owner object Owning model, used to fetch metadata
return System

ChangedProperties() public method

List of changed properties.
public ChangedProperties ( ) : IReadOnlyList
return IReadOnlyList

GetPreviousValue() public method

Gets the previous value for the indicated property.
public GetPreviousValue ( string propertyName ) : object
propertyName string /// Name of the property. ///
return object

GetValue() public method

Implementors need to override this to return the indicated value.
propertyName;propertyName is null propertyName is empty.;propertyName
public GetValue ( [ propertyName = null ) : object
propertyName [ Name of the property to fetch.
return object

IsDefined() public method

This property indicates whether or not the associated property was created.
propertyName;propertyName is null propertyName is empty.;propertyName
public IsDefined ( [ propertyName = null ) : bool
propertyName [
return bool

RejectChanges() public method

Replaces the current values collection with the original values collection.
public RejectChanges ( bool recursive ) : void
recursive bool if set to true [recursive].
return void

Set() public method

Implementors need to override this to save the indicated value.
This will create the property if it doesn't already exist
propertyName;propertyName is null propertyName is empty.;propertyName
public Set ( object value, PropertySetModes mode, string propertyName, object &oldValue ) : bool
value object The value to be saved. A null will set the value to null.
mode PropertySetModes Indicates special handling for the action.
propertyName string Name of property to update
oldValue object The previously stored value. If the property was uninitialized, this will return NotSet.Value
return bool