/// <summary> /// /// </summary> /// <param name="arg"></param> public void OnHisTagChanged(HisTagChangedArg arg) { foreach (var vv in mService) { vv.NotifyDatabaseChangd(false, true); } }
/// <summary> /// /// </summary> /// <param name="addTags"></param> /// <param name="changedTags"></param> public void NotifyHisTagChanged(IEnumerable <int> addTags, IEnumerable <int> changedTags) { HisTagChangedArg tca = new HisTagChangedArg() { AddedTags = addTags, ChangedTags = changedTags }; foreach (var vv in mDrivers) { vv.Value.OnHisTagChanged(tca); } }
/// <summary> /// /// </summary> /// <param name="arg"></param> public void OnHisTagChanged(HisTagChangedArg arg) { if (arg.ChangedTags != null && arg.ChangedTags.Count() > 0) { mManualRecordTagCach.Clear(); mTagHisValueService = ServiceLocator.Locator.Resolve <ITagHisValueProduct>(); foreach (var vv in mTagIdCach) { mManualRecordTagCach.Add(vv.Key, mTagHisValueService.GetTagRecordType(vv.Value.Select(e => e.Id).ToList()).Where(e => e.Value == RecordType.Driver).Select(e => e.Key).ToList()); } } else { var atags = arg.AddedTags.ToList(); var typ = mTagHisValueService.GetTagRecordType(arg.AddedTags.ToList()); for (int i = 0; i < atags.Count; i++) { var tid = atags[i]; var tag = mTagService.GetTagById(tid); if (typ[tid] == RecordType.Driver && tag.LinkAddress.StartsWith("Sim")) { if (mManualRecordTagCach.ContainsKey(tag.LinkAddress)) { mManualRecordTagCach[tag.LinkAddress].Add(tag.Id); } else { mManualRecordTagCach.Add(tag.LinkAddress, new List <int>() { tag.Id }); } } } } }