private void UpdateCycleData(EventData data) { if (data.Data01 != null && data.Data02 != null) { var cycleDatas = (List <Cycles.CycleData>)data.Data02; if (cycleDatas != null) { lock (_lock) { var cycleInfos = new List <Data.CycleInfo>(); foreach (var cycleData in cycleDatas) { if (cycleData.Completed && cycleData.Duration > TimeSpan.Zero) { var cycleInfo = new Data.CycleInfo(); cycleInfo.CycleId = cycleData.CycleId; cycleInfo.CycleInstanceId = cycleData.InstanceId; cycleInfo.CycleName = cycleData.Name; cycleInfo.CycleEvent = cycleData.Event; cycleInfo.ProductionType = cycleData.ProductionType.ToString(); cycleInfo.Start = cycleData.Start; cycleInfo.Stop = cycleData.Stop; cycleInfo.Duration = cycleData.Duration.TotalSeconds; if (previousCycleInfo == null || cycleInfo.CycleId != previousCycleInfo.CycleId || cycleInfo.CycleInstanceId != previousCycleInfo.CycleInstanceId) { cycleInfos.Add(cycleInfo); } previousCycleInfo = cycleInfo; } } if (cycleInfos.Count > 0) { deviceInfo.AddClass("cycles", cycleInfos); queue.Add(deviceInfo); } } } } }
private void UpdateCycleData(EventData data) { if (data.Data01 != null && data.Data02 != null) { var cycleDatas = (List<Cycles.CycleData>)data.Data02; if (cycleDatas != null) { lock(_lock) { var cycleInfos = new List<Data.CycleInfo>(); foreach (var cycleData in cycleDatas) { if (cycleData.Completed && cycleData.Duration > TimeSpan.Zero) { var cycleInfo = new Data.CycleInfo(); cycleInfo.CycleId = cycleData.CycleId; cycleInfo.CycleInstanceId = cycleData.InstanceId; cycleInfo.CycleName = cycleData.Name; cycleInfo.CycleEvent = cycleData.Event; cycleInfo.ProductionType = cycleData.ProductionType.ToString(); cycleInfo.Start = cycleData.Start; cycleInfo.Stop = cycleData.Stop; cycleInfo.Duration = cycleData.Duration.TotalSeconds; if (previousCycleInfo == null || cycleInfo.CycleId != previousCycleInfo.CycleId || cycleInfo.CycleInstanceId != previousCycleInfo.CycleInstanceId) { cycleInfos.Add(cycleInfo); } previousCycleInfo = cycleInfo; } } if (cycleInfos.Count > 0) { deviceInfo.AddClass("cycles", cycleInfos); queue.Add(deviceInfo); } } } } }