private void FixupSuburb(Suburb previousValue) { if (IsDeserializing) { return; } if (previousValue != null && previousValue.Landmarks.Contains(this)) { previousValue.Landmarks.Remove(this); } if (Suburb != null) { if (!Suburb.Landmarks.Contains(this)) { Suburb.Landmarks.Add(this); } SuburbId = Suburb.Id; } if (ChangeTracker.ChangeTrackingEnabled) { if (ChangeTracker.OriginalValues.ContainsKey("Suburb") && (ChangeTracker.OriginalValues["Suburb"] == Suburb)) { ChangeTracker.OriginalValues.Remove("Suburb"); } else { ChangeTracker.RecordOriginalValue("Suburb", previousValue); } if (Suburb != null && !Suburb.ChangeTracker.ChangeTrackingEnabled) { Suburb.StartTracking(); } } }
private void FixupSuburb(Suburb previousValue, bool skipKeys = false) { if (IsDeserializing) { return; } if (Suburb != null) { SuburbId = Suburb.Id; } else if (!skipKeys) { SuburbId = null; } if (ChangeTracker.ChangeTrackingEnabled) { if (ChangeTracker.OriginalValues.ContainsKey("Suburb") && (ChangeTracker.OriginalValues["Suburb"] == Suburb)) { ChangeTracker.OriginalValues.Remove("Suburb"); } else { ChangeTracker.RecordOriginalValue("Suburb", previousValue); } if (Suburb != null && !Suburb.ChangeTracker.ChangeTrackingEnabled) { Suburb.StartTracking(); } } }