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); } }
public void AddChangeMonitor(string generalKey, string usageKey, string restTail, int columnID = 0, DP_DataRepository dataToCall = null) { if (string.IsNullOrEmpty(restTail) && columnID == 0) { return; } if (dataToCall == null) { dataToCall = this; } ChangeMonitorItems.Add(new ChangeMonitor() { GeneralKey = generalKey, UsageKey = usageKey, DataToCall = dataToCall, columnID = columnID, RestTail = restTail }); if (!string.IsNullOrEmpty(restTail)) { CheckChildRelationshipInfoChangeMonitor(); } }
public bool ChangeMonitorExists(string generalKey, string usageKey) { return(ChangeMonitorItems.Any(x => x.GeneralKey == generalKey && x.UsageKey == usageKey)); }