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); OnPropertyChanged("WebIdLink", true, dirtyHandlerOn); } // Push the notification to related objects var gOUser = GetGOUser(false); if (gOUser != null && this.IsDirty) { gOUser.NotifyPropertyChanged("UserProfile." + propertyName, callers); } if (GetVisitedPlaceItems(false) != null) { foreach (var item in GetVisitedPlaceItems(false)) { item.NotifyPropertyChanged(String.Concat("UserProfile.", 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 }
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 (GetPlaceToLocationItems(false) != null) { foreach (var item in GetPlaceToLocationItems(false)) { item.NotifyPropertyChanged(String.Concat("Location.", propertyName), callers); } } }