示例#1
0
     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();
             }
         }
     }
示例#2
0
     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();
             }
         }
     }