public void BeginEdit() { ITrackEntityState _this = this as ITrackEntityState; if (_this.EntityState == EntityState.Unchanged) { return; } _this.EntityState = EntityState.ToBeUpdated; }
public void EndEdit() { ITrackEntityState _this = this as ITrackEntityState; if (_this.EntityState == EntityState.Unchanged) { return; } _this.EntityState = EntityState.Unchanged; ((ITrackOriginalValues)this).OriginalValues.Clear(); }
public void CancelEdit() { ITrackEntityState _this = this as ITrackEntityState; if (_this.EntityState == EntityState.Unchanged || _this.EntityState != EntityState.ToBeUpdated) { return; } RevertChanges(); _this.EntityState = EntityState.Unchanged; }
private void PropertyChanged(object sender, PropertyChangedEventArgs e) { m_Unchaged = false; ITrackEntityState _entity = sender as ITrackEntityState; if (_entity == null) { throw new ArgumentNullException("sender", "PropertyChanged must be called from ITrackEntityState"); } switch (_entity.EntityState) { case EntityState.Unchanged: _entity.EntityState = EntityState.ToBeUpdated; break; case EntityState.ToBeInserted: case EntityState.ToBeUpdated: case EntityState.ToBeRecycled: case EntityState.ToBeDeleted: case EntityState.Deleted: break; } }