protected override void OnPropertyChanged(string propertyName, bool notifyChanges, bool dirtyHandlerOn, SeenObjectCollection callers) { // This is to avoid infinite loops: in case a caller receives back a property changed notification it has initially sent if (callers.GetSeenObject(this) != null) { return; } base.OnPropertyChanged(propertyName, notifyChanges, dirtyHandlerOn, callers); if (!notifyChanges) { return; } if (propertyName == "URI") { OnPropertyChanged("URILink", true, dirtyHandlerOn); } // Push the notification to related objects if (GetVisitedPlaceItems(false) != null) { foreach (var item in GetVisitedPlaceItems(false)) { item.NotifyPropertyChanged(String.Concat("Country.", propertyName), callers); } } }
protected override void OnPropertyChanged(string propertyName, bool notifyChanges, bool dirtyHandlerOn, SeenObjectCollection callers) { // This is to avoid infinite loops: in case a caller receives back a property changed notification it has initially sent if (callers.GetSeenObject(this) != null) return; base.OnPropertyChanged(propertyName, notifyChanges, dirtyHandlerOn, callers); if (!notifyChanges) return; // Push the notification to related objects if (GetGroupRoleItems(false) != null) { foreach (var item in GetGroupRoleItems(false)) { item.NotifyPropertyChanged(String.Concat("Group.", propertyName), callers); } } if (GetUserGroupItems(false) != null) { foreach (var item in GetUserGroupItems(false)) { item.NotifyPropertyChanged(String.Concat("Group.", propertyName), callers); } } }
protected override void OnPropertyChanged(string propertyName, bool notifyChanges, bool dirtyHandlerOn, SeenObjectCollection callers) { // This is to avoid infinite loops: in case a caller receives back a property changed notification it has initially sent if (callers.GetSeenObject(this) != null) { return; } base.OnPropertyChanged(propertyName, notifyChanges, dirtyHandlerOn, callers); if (!notifyChanges) { return; } // Push the notification to related objects }