Example #1
0
        public bool UpdateBatchReport(LiveRelevantDataDO liveRelevantData)
        {
            bool success = false;

            using (DataContext context = new DataContext())
            {
                //Returns the latest Batch report saved in the database.
                BatchDO batchReport = context.BatchReports.Find(liveRelevantData.BatchID);
                //Update batchReport data
                batchReport.ProducedProducts  = liveRelevantData.ProducedProducts;
                batchReport.DefectProducts    = liveRelevantData.DefectProducts;
                batchReport.ProductionEndTime = System.DateTime.Now;

                //Create a new entry of environmental log
                EnvironmentalLogDO environmentalLog = new EnvironmentalLogDO
                {
                    BatchReportID = batchReport.BatchReportID,
                    Temperature   = liveRelevantData.Temperature,
                    Vibration     = liveRelevantData.Vibration,
                    Humidity      = liveRelevantData.Humidity,
                    Time          = System.DateTime.Now
                };
                //Save environmental log entry
                batchReport.EnvironmentalLogs.Add(environmentalLog);

                StateLogDO stateLog = context.StateLogs.FirstOrDefault(s => s.BatchReportID == batchReport.BatchReportID);
                stateLog.SetTimeInStates(liveRelevantData.StateDictionary);

                context.SaveChanges();

                success = true;
            }
            return(success);
        }
Example #2
0
        public BatchDO LoadBatchReport(int BatchID)
        {
            DataContext context = new DataContext();

            BatchDO    batchDO    = context.BatchReports.Find(BatchID);
            StateLogDO stateLogDO = context.StateLogs.FirstOrDefault(s => s.BatchReportID == BatchID);

            return(loadStateDictionaryOnBatchDO(batchDO, stateLogDO));
        }
Example #3
0
        //Returns all info of all Batch Reports in Database as a List sorted by BatchID
        public List <BatchDO> GetBatchReports()
        {
            List <BatchDO> batchList = new List <BatchDO>();
            DataContext    context   = new DataContext();

            List <BatchDO> batches = (context.BatchReports.SqlQuery("SELECT * FROM dbo.BatchReport")).ToList();

            foreach (BatchDO br in batches)
            {
                br.EnvironmentalLogs = (context.EnvironmentalLogs.SqlQuery("SELECT * FROM dbo.EnvironmentalLog WHERE BatchReportID = @id", new SqlParameter("@id", br.BatchReportID))).ToList();
                StateLogDO stateLog = context.StateLogs.Find(br.BatchReportID);
                batchList.Add(loadStateDictionaryOnBatchDO(br, stateLog));
            }

            return(batchList);
        }
Example #4
0
        public bool SaveBatchReport(BatchDO batchReport)
        {
            bool success = false;

            using (DataContext context = new DataContext())
            {
                //Create empty StateLog entry
                StateLogDO stateLog = new StateLogDO();
                stateLog.BatchReportID = batchReport.BatchReportID;
                //Save Batch Report
                context.BatchReports.Add(batchReport);
                context.StateLogs.Add(stateLog);
                context.SaveChanges();

                success = true;
            }
            return(success);
        }
Example #5
0
 private BatchDO loadStateDictionaryOnBatchDO(BatchDO batchDO, StateLogDO stateLogDO)
 {
     batchDO.StateDictionary.Add((int)MachineState.Deactivated, new TimeSpan((stateLogDO.DeactivatedState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Clearing, new TimeSpan((stateLogDO.ClearingState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Stopped, new TimeSpan((stateLogDO.StoppedState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Starting, new TimeSpan((stateLogDO.StartingState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Idle, new TimeSpan((stateLogDO.IdleState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Suspended, new TimeSpan((stateLogDO.SuspendedState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Execute, new TimeSpan((stateLogDO.ExecuteState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Stopping, new TimeSpan((stateLogDO.StoppingState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Aborting, new TimeSpan((stateLogDO.AbortingState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Aborted, new TimeSpan((stateLogDO.AbortedState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Holding, new TimeSpan((stateLogDO.HoldingState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Held, new TimeSpan((stateLogDO.HeldState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Resetting, new TimeSpan((stateLogDO.ResettingState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Completing, new TimeSpan((stateLogDO.CompletingState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Complete, new TimeSpan((stateLogDO.CompleteState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Deactivating, new TimeSpan((stateLogDO.DeactivatingState.Value)));
     batchDO.StateDictionary.Add((int)MachineState.Activating, new TimeSpan((stateLogDO.ActivatingState.Value)));
     return(batchDO);
 }
 public BatchManager(int LatestBatchReportID)
 {
     this.batchID = LatestBatchReportID;
     StateLog     = new StateLogDO();
 }