/// <summary> /// Begins an edit. /// </summary> public void BeginEdit() { if (this.oldDataClass == null) { this.oldDataClass = new DataClassWithEditableAttribute(); this.oldDataClass.boolProperty = this.boolProperty; this.oldDataClass.dateTimeProperty = this.dateTimeProperty; this.oldDataClass.intProperty = this.intProperty; this.oldDataClass.intPropertyWithoutAutoGenerateField = this.intPropertyWithoutAutoGenerateField; this.oldDataClass.nonGeneratedIntProperty = this.nonGeneratedIntProperty; this.oldDataClass.stringProperty = this.stringProperty; } }
/// <summary> /// Cancels an edit. /// </summary> public void CancelEdit() { if (this.oldDataClass != null) { this.BoolProperty = this.oldDataClass.boolProperty; this.DateTimeProperty = this.oldDataClass.dateTimeProperty; this.IntProperty = this.oldDataClass.intProperty; this.IntPropertyWithoutAutoGenerateField = this.oldDataClass.intPropertyWithoutAutoGenerateField; this.NonGeneratedIntProperty = this.oldDataClass.nonGeneratedIntProperty; this.StringProperty = this.oldDataClass.stringProperty; this.oldDataClass = null; } }
/// <summary> /// Initializes the unchanged data class used in IRevertableChangeTracking. /// </summary> private void EnsureUnchangedDataClass() { if (this.unchangedDataClass == null) { this.unchangedDataClass = new DataClassWithEditableAttribute(); this.unchangedDataClass.boolProperty = this.boolProperty; this.unchangedDataClass.dateTimeProperty = this.dateTimeProperty; this.unchangedDataClass.intProperty = this.intProperty; this.unchangedDataClass.intPropertyWithoutAutoGenerateField = this.intPropertyWithoutAutoGenerateField; this.unchangedDataClass.nonGeneratedIntProperty = this.nonGeneratedIntProperty; this.unchangedDataClass.stringProperty = this.stringProperty; } }
/// <summary> /// Ends an edit. /// </summary> public void EndEdit() { this.oldDataClass = null; }