コード例 #1
0
        public LiveRelevantDataDO UpdateData()
        {
            LiveRelevantDataDO liveRelevantData = persistenceFacade.GetUpdateData();

            currentState                        = (MachineState)liveRelevantData.CurrentState;
            liveRelevantData.BatchID            = batchManager.CurrentBatch == null ? (ushort)0 : batchManager.CurrentBatch.BatchReportID;
            liveRelevantData.BatchSize          = batchManager.CurrentBatch == null ? (ushort)0 : batchManager.CurrentBatch.BatchSize;
            liveRelevantData.AcceptableProducts = (liveRelevantData.ProducedProducts - liveRelevantData.DefectProducts);
            if (productionRunning)
            {
                Task task = Task.Run(() =>
                {
                    TimeSpan timeSpan = DateTime.Now.Subtract(startTime);
                    liveRelevantData.StateDictionary[(int)currentState] += timeSpan;
                    startTime = DateTime.Now;

                    persistenceFacade.UpdateBatchReport(liveRelevantData);
                });
            }
            return(liveRelevantData);
        }