Exemplo n.º 1
0
 private void SavePlantDurationToDb(PlantStateDuration stateDuration)
 {
     plantStateDurationDataAccess.Insert(stateDuration);
 }
Exemplo n.º 2
0
        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);
        }