/// <summary> /// /// </summary> /// <param name="arg"></param> public void OnRealTagChanged(TagChangedArg arg) { foreach (var vv in arg.AddedTags.Where(e => e.Value.StartsWith(this.Name) && !AllowTagIds.Contains(e.Key))) { AllowTagIds.Add(vv.Key); } foreach (var vv in arg.ChangedTags) { if (vv.Value.StartsWith(this.Name)) { if (!AllowTagIds.Contains(vv.Key)) { AllowTagIds.Add(vv.Key); } } else { if (AllowTagIds.Contains(vv.Key)) { AllowTagIds.Remove(vv.Key); } } } }
/// <summary> /// /// </summary> /// <param name="addTags"></param> /// <param name="changedTags"></param> public void NotifyRealTagChanged(Dictionary <int, string> addTags, Dictionary <int, string> changedTags) { TagChangedArg tca = new TagChangedArg() { AddedTags = addTags, ChangedTags = changedTags }; foreach (var vv in mDrivers) { vv.Value.OnRealTagChanged(tca); } }
/// <summary> /// /// </summary> /// <param name="arg"></param> public void OnRealTagChanged(TagChangedArg arg) { var tags = arg.AddedTags.Where(e => e.Value.StartsWith("Sim")); foreach (var vv in tags) { var vtag = mTagService.GetTagById(vv.Key); if (mTagIdCach.ContainsKey(vv.Value)) { mTagIdCach[vv.Value].Add(vtag); } else { mTagIdCach.Add(vv.Value, new List <Tagbase>() { vtag }); } } var cgtags = arg.ChangedTags; foreach (var vvt in mTagIdCach) { vvt.Value.RemoveAll((tag) => { return(cgtags.ContainsKey(tag.Id)); }); } tags = arg.ChangedTags.Where(e => e.Value.StartsWith("Sim")); foreach (var vv in tags) { var vtag = mTagService.GetTagById(vv.Key); if (mTagIdCach.ContainsKey(vv.Value)) { mTagIdCach[vv.Value].Add(vtag); } else { mTagIdCach.Add(vv.Value, new List <Tagbase>() { vtag }); } } mCosNeedReload = true; mSinNeedReload = true; mStepPointNeedReload = true; mStepNeedReload = true; mSquareNeedReload = true; mDatetimeReload = true; }