public void RemoveChangeMonitorByGenaralKey(string key) { foreach (var item in ChangeMonitorItems.Where(x => x.GeneralKey == key).ToList()) { ChangeMonitorItems.Remove(item); foreach (var childRelationshipInfo in ChildRelationshipInfos) { childRelationshipInfo.RemoveChangeMonitorByGenaralKey(key); } if (ParantChildRelationshipInfo != null) { ParantChildRelationshipInfo.RemoveChangeMonitorByGenaralKey(key); } } }
private void Property_PropertyValueChanged(object sender, PropertyValueChangedArg e) { if (ChangeMonitorItems.Any(x => x.columnID != 0 && string.IsNullOrEmpty(x.RestTail))) { foreach (var item in ChangeMonitorItems.Where(x => x.columnID != 0 && string.IsNullOrEmpty(x.RestTail))) { if (e.ColumnID == item.columnID) { item.DataToCall.OnRelatedDataOrColumnChanged(item); } } } if (PropertyValueChanged != null) { e.DataItem = this; PropertyValueChanged(this, e); } }