Ejemplo n.º 1
0
        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);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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);
                        }
                    }
                }
            }
        }