/// <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.StringProperty   = this.oldDataClass.stringProperty;
         this.oldDataClass     = null;
     }
 }
 /// <summary>
 /// Begins an edit.
 /// </summary>
 public void BeginEdit()
 {
     if (this.oldDataClass == null)
     {
         this.oldDataClass = new DataClassAllTwoWayBindings();
         this.oldDataClass.boolProperty     = this.boolProperty;
         this.oldDataClass.dateTimeProperty = this.dateTimeProperty;
         this.oldDataClass.intProperty      = this.intProperty;
         this.oldDataClass.stringProperty   = this.stringProperty;
     }
 }
 /// <summary>
 /// Initializes the unchanged data class used in IRevertableChangeTracking.
 /// </summary>
 private void EnsureUnchangedDataClass()
 {
     if (this.unchangedDataClass == null)
     {
         this.unchangedDataClass = new DataClassAllTwoWayBindings();
         this.unchangedDataClass.boolProperty     = this.boolProperty;
         this.unchangedDataClass.dateTimeProperty = this.dateTimeProperty;
         this.unchangedDataClass.intProperty      = this.intProperty;
         this.unchangedDataClass.stringProperty   = this.stringProperty;
     }
 }
 /// <summary>
 /// Ends an edit.
 /// </summary>
 public void EndEdit()
 {
     this.oldDataClass = null;
 }
 /// <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.stringProperty = this.oldDataClass.stringProperty;
         this.oldDataClass = null;
     }
 }
 /// <summary>
 /// Begins an edit.
 /// </summary>
 public void BeginEdit()
 {
     if (this.oldDataClass == null)
     {
         this.oldDataClass = new DataClassAllTwoWayBindings();
         this.oldDataClass.boolProperty = this.boolProperty;
         this.oldDataClass.dateTimeProperty = this.dateTimeProperty;
         this.oldDataClass.intProperty = this.intProperty;
         this.oldDataClass.stringProperty = this.stringProperty;
     }
 }
 /// <summary>
 /// Initializes the unchanged data class used in IRevertableChangeTracking.
 /// </summary>
 private void EnsureUnchangedDataClass()
 {
     if (this.unchangedDataClass == null)
     {
         this.unchangedDataClass = new DataClassAllTwoWayBindings();
         this.unchangedDataClass.boolProperty = this.boolProperty;
         this.unchangedDataClass.dateTimeProperty = this.dateTimeProperty;
         this.unchangedDataClass.intProperty = this.intProperty;
         this.unchangedDataClass.stringProperty = this.stringProperty;
     }
 }
 /// <summary>
 /// Ends an edit.
 /// </summary>
 public void EndEdit()
 {
     this.oldDataClass = null;
 }