Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

51 lines
1.5KB

  1. <?php
  2. namespace App\Logics\QRService;
  3. use App\Exceptions\ParamException;
  4. use App\Models\HtpmsCustomer\Existing\Parking;
  5. use App\Models\HtpmsCustomer\QRService\ServiceParkingGroup;
  6. use App\Models\HtpmsCustomer\QRService\ServiceParkingGroupRelation;
  7. class QRServiceParkingGroupLogic
  8. {
  9. public static function register(ServiceParkingGroup $group)
  10. {
  11. // 重複チェック
  12. if (ServiceParkingGroup::whereName($group->name)->exists()) {
  13. ParamException::throw(ServiceParkingGroup::COL_NAME_NAME, trans('validate.exists'));
  14. }
  15. $group->save();
  16. }
  17. public static function add(ServiceParkingGroup $group, Parking $parking)
  18. {
  19. // 重複チェック
  20. if (ServiceParkingGroupRelation::whereQrServiceParkingGroupId($group->id)
  21. ->whereParkingManagementCode($parking->park_code)
  22. ->exists()
  23. ) {
  24. ParamException::throw(ServiceParkingGroupRelation::COL_NAME_PARKING_MANAGEMENT_CODE, trans('validate.exists'));
  25. }
  26. $relation = new ServiceParkingGroupRelation();
  27. $relation->qr_service_parking_group_id = $group->id;
  28. $relation->parking_management_code = $parking->park_code;
  29. $relation->save();
  30. return $relation;
  31. }
  32. public static function remove(ServiceParkingGroup $group, Parking $parking)
  33. {
  34. $relation = ServiceParkingGroupRelation::whereQrServiceParkingGroupId($group->id)
  35. ->whereParkingManagementCode($parking->park_code)
  36. ->firstOrFail();
  37. $relation->delete();
  38. }
  39. }