diff --git a/Controller/ApiController.php b/Controller/ApiController.php index ed71f3c..f21ee3d 100644 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -33,6 +33,7 @@ use Modules\Media\Models\ReferenceMapper; use phpOMS\Localization\BaseStringL11n; use phpOMS\Localization\BaseStringL11nType; use phpOMS\Localization\ISO639x1Enum; +use phpOMS\Localization\NullBaseStringL11nType; use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Message\NotificationLevel; use phpOMS\Message\RequestAbstract; @@ -99,11 +100,11 @@ final class ApiController extends Controller $investment->name = $request->getDataString('name') ?? ''; $investment->description = $request->getDataString('description') ?? ''; $investment->status = $request->getDataInt('status') ?? InvestmentStatus::DRAFT; - //$investment->type = new NullBaseStringL11nType((int) ($request->getDataInt('type') ?? 0)); $investment->description = $request->getDataString('description') ?? ''; $investment->unit = $request->getDataInt('unit') ?? $this->app->unitId; $investment->createdBy = new NullAccount($request->header->account); $investment->performanceDate = $request->getDataDateTime('performance') ?? new \DateTime($investment->createdAt->format('Y-m-d H:i:s')); + //$investment->type = new NullBaseStringL11nType((int) ($request->getDataInt('type') ?? 0)); return $investment; } @@ -390,7 +391,7 @@ final class ApiController extends Controller /** * Create media directory path * - * @param Investment $investment Investment + * @param InvestmentObject $investment Investment * * @return string * @@ -470,25 +471,26 @@ final class ApiController extends Controller */ public function createInvestmentOptionFromRequest(RequestAbstract $request) : InvestmentObject { - $investment = new InvestmentObject(); - $investment->name = $request->getDataString('name') ?? ''; - $investment->description = $request->getDataString('description') ?? ''; - $investment->link = $request->getDataString('link') ?? ''; - $investment->investment = (int) $request->getData('investment'); - $investment->parent = $request->getDataInt('parent'); - $investment->supplier = $request->getDataInt('supplier'); - $investment->supplierName = $request->getDataString('supplierName') ?? ''; - $investment->item = $request->getDataInt('item'); + $investment = new InvestmentObject(); + $investment->name = $request->getDataString('name') ?? ''; + $investment->description = $request->getDataString('description') ?? ''; + $investment->link = $request->getDataString('link') ?? ''; + $investment->investment = (int) $request->getData('investment'); + $investment->parent = $request->getDataInt('parent'); + $investment->supplier = $request->getDataInt('supplier'); + $investment->supplierName = $request->getDataString('supplierName') ?? ''; + $investment->item = $request->getDataInt('item'); // @todo: reconsider the following lines. This seems rather complicated. if ($request->hasData('amount')) { + /** @var BaseStringL11nType[] $types */ $types = AmountTypeMapper::getAll()->execute(); foreach ($types as $type) { if ($type->title = 'costs') { $defaultGroup = new AmountGroup(); $defaultGroup->name = 'Purchase Price'; // @todo: replace with api l11n - $defaultGroup->type = $type->id; + $defaultGroup->type = new NullBaseStringL11nType($type->id); $amount = new Amount(); $amount->amount = new FloatInt((int) $request->getDataInt('amount')); @@ -499,7 +501,7 @@ final class ApiController extends Controller } elseif ($type->title === 'cashflow') { $defaultGroup = new AmountGroup(); $defaultGroup->name = 'Cashflow'; // @todo: replace with api l11n - $defaultGroup->type = $type->id; + $defaultGroup->type = new NullBaseStringL11nType($type->id); // @todo: calculate date based on performance date + offer conditions / 30 days $amount = new Amount(); @@ -511,7 +513,7 @@ final class ApiController extends Controller } elseif ($type->title === 'depreciation') { $defaultGroup = new AmountGroup(); $defaultGroup->name = 'Depreciation'; // @todo: replace with api l11n - $defaultGroup->type = $type->id; + $defaultGroup->type = new NullBaseStringL11nType($type->id); // @todo: calculate automatic depreciation; $amount = new Amount(); diff --git a/Models/AmountGroup.php b/Models/AmountGroup.php index 669371c..a93a436 100644 --- a/Models/AmountGroup.php +++ b/Models/AmountGroup.php @@ -14,6 +14,8 @@ declare(strict_types=1); namespace Modules\InvestmentManagement\Models; +use phpOMS\Localization\BaseStringL11nType; + /** * Costs/Earnings. * diff --git a/Models/AmountGroupMapper.php b/Models/AmountGroupMapper.php index e59615a..a8209fe 100644 --- a/Models/AmountGroupMapper.php +++ b/Models/AmountGroupMapper.php @@ -24,7 +24,7 @@ use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; * @link https://jingga.app * @since 1.0.0 * - * @template T of Task + * @template T of AmountGroup * @extends DataMapperFactory */ final class AmountGroupMapper extends DataMapperFactory diff --git a/Models/AmountMapper.php b/Models/AmountMapper.php index 0b689d5..e1f27ef 100644 --- a/Models/AmountMapper.php +++ b/Models/AmountMapper.php @@ -24,10 +24,10 @@ use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; * @link https://jingga.app * @since 1.0.0 * - * @template T of Task + * @template T of Amount * @extends DataMapperFactory */ -final class AmountGroupMapper extends DataMapperFactory +final class AmountMapper extends DataMapperFactory { /** * Columns. diff --git a/Models/InvestmentMapper.php b/Models/InvestmentMapper.php index 79fcf28..047819f 100644 --- a/Models/InvestmentMapper.php +++ b/Models/InvestmentMapper.php @@ -27,7 +27,7 @@ use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; * @link https://jingga.app * @since 1.0.0 * - * @template T of Task + * @template T of Investment * @extends DataMapperFactory */ final class InvestmentMapper extends DataMapperFactory diff --git a/Models/InvestmentObjectMapper.php b/Models/InvestmentObjectMapper.php index 9127018..86a71ed 100644 --- a/Models/InvestmentObjectMapper.php +++ b/Models/InvestmentObjectMapper.php @@ -28,7 +28,7 @@ use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; * @link https://jingga.app * @since 1.0.0 * - * @template T of Task + * @template T of InvestmentObject * @extends DataMapperFactory */ final class InvestmentObjectMapper extends DataMapperFactory