Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

40 rindas
1.3KB

  1. <?php
  2. namespace common\logic\Order\OrderStatusHistory;
  3. use common\logic\BaseService;
  4. use common\logic\BuilderInterface;
  5. use common\logic\Order\Order\Order;
  6. use common\logic\User\User\User;
  7. use common\logic\User\User\UserSolver;
  8. class OrderStatusHistoryBuilder extends BaseService implements BuilderInterface
  9. {
  10. protected UserSolver $userSolver;
  11. public function __construct()
  12. {
  13. $this->userSolver = $this->loadService(UserSolver::class);
  14. }
  15. public function instanciate(Order $order, User $user, string $status, string $origin): OrderStatusHistory
  16. {
  17. $orderStatusHistory = new OrderStatusHistory();
  18. $orderStatusHistory->id_order = $order->id;
  19. $orderStatusHistory->populateRelation('order', $order);
  20. $orderStatusHistory->id_user = $user->id;
  21. $orderStatusHistory->populateRelation('user', $user);
  22. $orderStatusHistory->status = $status;
  23. $orderStatusHistory->origin = $origin;
  24. $orderStatusHistory->date = date('Y-m-d H:i:s');
  25. return $orderStatusHistory;
  26. }
  27. public function create(Order $order, User $user, string $status, string $origin): OrderStatusHistory
  28. {
  29. $orderStatusHistory = $this->instanciate($order, $user, $status, $origin);
  30. $orderStatusHistory->save();
  31. }
  32. }