private void FixupRegion1(Region previousValue, bool skipKeys = false) { if (IsDeserializing) { return; } if (previousValue != null && previousValue.RegionAdminFeeValues1.Contains(this)) { previousValue.RegionAdminFeeValues1.Remove(this); } if (Region1 != null) { if (!Region1.RegionAdminFeeValues1.Contains(this)) { Region1.RegionAdminFeeValues1.Add(this); } ToId = Region1.Id; } else if (!skipKeys) { ToId = null; } if (ChangeTracker.ChangeTrackingEnabled) { if (ChangeTracker.OriginalValues.ContainsKey("Region1") && (ChangeTracker.OriginalValues["Region1"] == Region1)) { ChangeTracker.OriginalValues.Remove("Region1"); } else { ChangeTracker.RecordOriginalValue("Region1", previousValue); } if (Region1 != null && !Region1.ChangeTracker.ChangeTrackingEnabled) { Region1.StartTracking(); } } }
private void FixupRegion(Region previousValue) { // This is the dependent end in an association that performs cascade deletes. // Update the principal's event listener to refer to the new dependent. // This is a unidirectional relationship from the dependent to the principal, so the dependent end is // responsible for managing the cascade delete event handler. In all other cases the principal end will manage it. if (previousValue != null) { previousValue.ChangeTracker.ObjectStateChanging -= HandleCascadeDelete; } if (Region != null) { Region.ChangeTracker.ObjectStateChanging += HandleCascadeDelete; } if (IsDeserializing) { return; } if (Region != null) { RegionId = Region.Id; } if (ChangeTracker.ChangeTrackingEnabled) { if (ChangeTracker.OriginalValues.ContainsKey("Region") && (ChangeTracker.OriginalValues["Region"] == Region)) { ChangeTracker.OriginalValues.Remove("Region"); } else { ChangeTracker.RecordOriginalValue("Region", previousValue); // This is the dependent end of an identifying association, so it must be deleted when the relationship is // removed. If the current state is Added, the relationship can be changed without causing the dependent to be deleted. // This is a unidirectional relationship from the dependent to the principal, so the dependent end is // responsible for cascading the delete. In all other cases the principal end will manage it. if (previousValue != null && ChangeTracker.State != ObjectState.Added) { this.MarkAsDeleted(); } } if (Region != null && !Region.ChangeTracker.ChangeTrackingEnabled) { Region.StartTracking(); } } }
private void FixupRegion(Region previousValue, bool skipKeys = false) { if (IsDeserializing) { return; } if (Region != null) { RegionId = Region.Id; } else if (!skipKeys) { RegionId = null; } if (ChangeTracker.ChangeTrackingEnabled) { if (ChangeTracker.OriginalValues.ContainsKey("Region") && (ChangeTracker.OriginalValues["Region"] == Region)) { ChangeTracker.OriginalValues.Remove("Region"); } else { ChangeTracker.RecordOriginalValue("Region", previousValue); } if (Region != null && !Region.ChangeTracker.ChangeTrackingEnabled) { Region.StartTracking(); } } }