// Add defect to DbContext for a given Plc (Start new defect) public void AddNewDefectForPlc(RaportareDbContext context, PlcModel plc) { context.Add(new Defect { TimpStartDefect = DateTime.Now, DefectFinalizat = false, PlcModelID = plc.PlcModelID, TimpStopDefect = DateTime.Now, IntervalStationare = new TimeSpan(), MotivStationare = "Start Defect" }); context.SaveChanges(); }
// Update last not finished Defect from given Plc to finished defect public void UpdateLastNotFinishedDefect(RaportareDbContext context, Defect defect) { // Add MotivStationare, TimpStop Defect, interval Stationare and Defect finalizat defect.TimpStopDefect = DateTime.Now; // Catch overflow error to IntervalStationare try { // Limit the Interval Stationare Max Value defect.IntervalStationare = LimitMaxTimeSpan(defect.TimpStartDefect, defect.TimpStopDefect); } catch (OverflowException ex) { defect.IntervalStationare = new TimeSpan(23, 59, 00); Console.WriteLine(String.Format("{0} <=> {1} <=> PlcaName: {2}", DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss"), ex.Message, defect.PlcModel.Name)); } defect.DefectFinalizat = true; // Update Database context.Update(defect); context.SaveChanges(); }