Timesheet validator: prevent overbooking budgets (#2422)

This commit is contained in:
Kevin Papst
2021-03-13 14:41:29 +01:00
committed by GitHub
parent db1344573f
commit 3e9371bd6a
34 changed files with 1425 additions and 236 deletions

58
src/Timesheet/Rate.php Normal file
View File

@@ -0,0 +1,58 @@
<?php
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Timesheet;
final class Rate
{
/**
* @var float
*/
private $rate = 0.00;
/**
* @var float
*/
private $internalRate = 0.00;
/**
* @var float|null
*/
private $fixedRate = null;
/**
* @var float|null
*/
private $hourlyRate = null;
public function __construct(float $rate, float $internalRate, ?float $hourlyRate = null, ?float $fixedRate = null)
{
$this->rate = $rate;
$this->internalRate = $internalRate;
$this->fixedRate = $fixedRate;
$this->hourlyRate = $hourlyRate;
}
public function getRate(): float
{
return $this->rate;
}
public function getInternalRate(): float
{
return $this->internalRate;
}
public function getFixedRate(): ?float
{
return $this->fixedRate;
}
public function getHourlyRate(): ?float
{
return $this->hourlyRate;
}
}