private static void UpdateAnalogValue() { lock (OPCObjects.OPCLocker) { lock (OPCObjects.SQLLocker) { using (var context = new MyDBContext()) { foreach (var analogvalue in OPCObjects.AnalogValues) { var entitys = context.AnalogValue.Where(e => e.Path == analogvalue.Path); foreach (var entity in entitys) { entity.Value = analogvalue.Value; context.AnalogValue.Update(entity); var newlog = new AnalogLog { dateTime = DateTime.Now, Name = entity.Name, Value = analogvalue.Value }; context.AnalogLog.Add(newlog); } } context.SaveChanges(); context.Dispose(); } } } }
public async Task <LogResult> FilterAsync(AnalogLog log, IEvaluable <LogEntry> filter) { var logs = log != null ? await log.Entries.FilterAsync(filter) : Enumerable.Empty <LogEntry>(); return(await Task.Factory.StartNew(() => LogResult.Build(logs.ToList()))); }
public Task <LogResult> Filter(AnalogLog logs) { var filter = Root.Rule.GetFilter(); return(_filterEngine.FilterAsync(logs, filter)); }