public static HourRowInfo GetHourInfo(SQLiteConnection connection, DataRow row)
            {
                // Get Unique Id
                string uniqueId = DataTable_Functions.GetRowValue("unique_id", row);

                if (!string.IsNullOrEmpty(uniqueId))
                {
                    var result = new HourRowInfo();
                    result.UniqueId = uniqueId;

                    var hourInfo = new Data.HourInfo();

                    hourInfo.Date = DataTable_Functions.GetRowValue("date", row);
                    hourInfo.Hour = DataTable_Functions.GetIntegerFromRow("hour", row);

                    hourInfo.PlannedProductionTime = DataTable_Functions.GetDoubleFromRow("planned_production_time", row);
                    hourInfo.OperatingTime         = DataTable_Functions.GetDoubleFromRow("operating_time", row);
                    hourInfo.IdealOperatingTime    = DataTable_Functions.GetDoubleFromRow("ideal_operating_time", row);
                    hourInfo.TotalPieces           = DataTable_Functions.GetIntegerFromRow("total_pieces", row);
                    hourInfo.GoodPieces            = DataTable_Functions.GetIntegerFromRow("good_pieces", row);

                    hourInfo.Active = DataTable_Functions.GetDoubleFromRow("active", row);
                    hourInfo.Idle   = DataTable_Functions.GetDoubleFromRow("idle", row);
                    hourInfo.Alert  = DataTable_Functions.GetDoubleFromRow("alert", row);

                    hourInfo.Production         = DataTable_Functions.GetDoubleFromRow("production", row);
                    hourInfo.Setup              = DataTable_Functions.GetDoubleFromRow("setup", row);
                    hourInfo.Teardown           = DataTable_Functions.GetDoubleFromRow("teardown", row);
                    hourInfo.Maintenance        = DataTable_Functions.GetDoubleFromRow("maintenance", row);
                    hourInfo.ProcessDevelopment = DataTable_Functions.GetDoubleFromRow("process_development", row);

                    result.HourInfo = hourInfo;

                    return(result);
                }

                return(null);
            }