Return a ticket from private_GetCostFromDuration().

Add helpers findWorkTimeRange() and findNextWorkTimeRange().
This commit is contained in:
Gerhard Hoffmann 2023-11-27 16:15:18 +01:00
parent 6a3d183129
commit 9ca45e613f

View File

@ -1,7 +1,14 @@
#pragma once
#ifndef CALCULATOR_FUNCTIONS_H_INCLUDED
#define CALCULATOR_FUNCTIONS_H_INCLUDED
#include <iostream>
#include <optional>
#include "configuration.h"
#include "payment_method.h"
#include "ticket.h"
#include "tariff_time_range.h"
#include <QDateTime>
using namespace std;
@ -49,13 +56,13 @@ private:
int getMinimalParkingTime(Configuration const *cfg, PaymentMethod methodId);
int getMaximalParkingTime(Configuration const *cfg, PaymentMethod methodId);
uint32_t private_GetCostFromDuration(Configuration const* cfg,
QDateTime const &start,
QDateTime &end,
int durationMinutes,
bool nextDay = false,
bool prepaid = false,
bool overtime = false);
Ticket private_GetCostFromDuration(Configuration const* cfg,
QDateTime const &start,
QDateTime &end,
int &durationMinutes,
bool nextDay = false,
bool prepaid = false,
bool overtime = false);
bool checkDurationMinutes(bool overTime,
int minParkingTime, int maxParkingTime,
@ -64,4 +71,13 @@ private:
//
uint32_t GetPriceForTimeStep(Configuration *cfg, int timeStep) const;
uint32_t GetDurationForPrice(Configuration *cfg, int price) const;
int findWorkTimeRange(QDateTime const &dt,
QScopedArrayPointer<TariffTimeRange> const &worktime,
size_t size);
int findNextWorkTimeRange(QDateTime const &dt,
QScopedArrayPointer<TariffTimeRange> const &worktime,
size_t size);
};
#endif // CALCULATOR_FUNCTIONS_H_INCLUDED