private static OvertimeContainer VerifyTimeVariable(int time_variable, int max_time_value)
        {
            OvertimeContainer Result = new OvertimeContainer(time_variable, 0);

            if (max_time_value == 0)
            {
                return(Result);
            }
            if (max_time_value < 0)
            {
                max_time_value *= -1;
            }

            if (time_variable >= max_time_value)
            {
                Result.Overtime   = time_variable / max_time_value;
                Result.ProperTime = time_variable - (max_time_value * Result.Overtime);
            }
            else if (time_variable < 0)
            {
                Result.Overtime   = (time_variable / max_time_value) - 1;
                Result.ProperTime = time_variable + (max_time_value * -Result.Overtime);
            }

            return(Result);
        }
        private static StandardTime CheckForOvertime(StandardTime time, int timeValueIndex)
        {
            int max_value = StandardTimeVerifyer.GetMaximumTime((StandardTimeValues)timeValueIndex);
            OvertimeContainer overtimeContainer = VerifyTimeVariable(time.TimeValues[timeValueIndex], max_value);

            time.TimeValues[timeValueIndex] = overtimeContainer.ProperTime;
            if (timeValueIndex >= 1)
            {
                time.TimeValues[timeValueIndex - 1] += overtimeContainer.Overtime;
            }
            return(time);
        }