|
- <?php
-
- namespace common\logic\Order\OrderStatusHistory;
-
- use common\logic\BaseService;
- use common\logic\BuilderInterface;
- use common\logic\Order\Order\Order;
- use common\logic\User\User\User;
- use common\logic\User\User\UserSolver;
-
- class OrderStatusHistoryBuilder extends BaseService implements BuilderInterface
- {
- protected UserSolver $userSolver;
-
- public function __construct()
- {
- $this->userSolver = $this->loadService(UserSolver::class);
- }
-
- public function instanciate(Order $order, User $user, string $status, string $origin): OrderStatusHistory
- {
- $orderStatusHistory = new OrderStatusHistory();
-
- $orderStatusHistory->id_order = $order->id;
- $orderStatusHistory->populateRelation('order', $order);
- $orderStatusHistory->id_user = $user->id;
- $orderStatusHistory->populateRelation('user', $user);
- $orderStatusHistory->status = $status;
- $orderStatusHistory->origin = $origin;
- $orderStatusHistory->date = date('Y-m-d H:i:s');
-
- return $orderStatusHistory;
- }
-
- public function create(Order $order, User $user, string $status, string $origin): OrderStatusHistory
- {
- $orderStatusHistory = $this->instanciate($order, $user, $status, $origin);
- $orderStatusHistory->save();
- }
- }
|