private void SavePlantDurationToDb(PlantStateDuration stateDuration) { plantStateDurationDataAccess.Insert(stateDuration); }
static int GetDataFromDB(DateTime date, out int productedPieces, out int defectedPieces, out TimeSpan plannedProductionTime, out TimeSpan productionTime) { ConfigBuilder <AppConfig> _appsettings = new ConfigBuilder <AppConfig>(Utils.FileToProjectDirectory("..\\IIOT_OPCconfig.json")); AbstractDataAccess <PlantStateDuration> plantStateDurationDataAccess = new PlantStateDurationDataAccess() { ConnectionString = _appsettings.Config.ConnectionString }; AbstractDataAccess <DailyProduction> dailyProductionDataAccess = new DailyProductionDataAccess() { ConnectionString = _appsettings.Config.ConnectionString }; // retrieve items by filters PlantStateDuration stateDuration = null; DailyProduction productionObject; productedPieces = 0; defectedPieces = 0; plannedProductionTime = new TimeSpan(0); productionTime = new TimeSpan(0); #region try get duration try { stateDuration = plantStateDurationDataAccess.GetItem( new { TimeStamp = date.AddHours(23).AddMinutes(59).AddSeconds(59) }); } catch (Exception ex) { Console.WriteLine($"Errore in Program.TryGetDuration() -> {ex}"); return(-1); } #endregion #region try get production pieces try { productionObject = dailyProductionDataAccess.GetItem( new { TimeStamp = date.AddHours(23).AddMinutes(59).AddSeconds(59) }); } catch (Exception ex) { Console.WriteLine($"Errore in Program.TryGetDuration() -> {ex}"); return(-1); } #endregion if (stateDuration == null || productionObject == null) { Console.WriteLine("runningDuration o onStoppedDuration not found"); Console.WriteLine("introduce a new date to check"); return(-2); } plannedProductionTime = stateDuration.OnRunningDuration + stateDuration.OnStoppedfDuration; productionTime = stateDuration.OnRunningDuration; productedPieces = productionObject.NumPieces; defectedPieces = productionObject.NumPiecesRejected; //Console.WriteLine("db get result:"); //Console.WriteLine($" OnRunningDuration {string.Format("{0:t}", stateDuration.OnRunningDuration)}"); //Console.WriteLine($" OnStoppedfDuration {string.Format("{0:t}", stateDuration.OnStoppedfDuration)}"); //Console.WriteLine($" plannedProductionTime {string.Format("{0:t}", plannedProductionTime)}"); //Console.WriteLine($" productionTime {string.Format("{0:t}", productionTime)}"); //Console.WriteLine($" productedPieces {productedPieces}"); //Console.WriteLine($" defectedPieces {defectedPieces}"); return(0); }