diff --git a/library/src/calculator_functions.cpp b/library/src/calculator_functions.cpp index fb096d3..bbfe323 100644 --- a/library/src/calculator_functions.cpp +++ b/library/src/calculator_functions.cpp @@ -444,6 +444,35 @@ bool Calculator::checkDurationMinutes(bool overtime, return true; } +int Calculator::findWorkTimeRange(QDateTime const &dt, + QScopedArrayPointer const &worktime, + size_t size) { + for (size_t w = 0; w < size; ++w) { + QTime const &worktime_from = worktime[w].getTimeFrom(); + QTime const &worktime_to = worktime[w].getTimeUntil(); + + if ((dt.time() >= worktime_from) && (dt.time() < worktime_to)) { + return w; + } + } + return -1; +} + +int Calculator::findNextWorkTimeRange(QDateTime const &dt, + QScopedArrayPointer const &worktime, + size_t size) { + int nextWorkTimeRange = -1; + for (size_t w = 0; w < size; ++w) { + QTime const &worktime_from = worktime[w].getTimeFrom(); + + if (dt.time() < worktime_from) { + nextWorkTimeRange = w; + continue; + } + } + return nextWorkTimeRange; +} + using namespace Utilities; uint32_t Calculator::private_GetCostFromDuration(Configuration const* cfg,