ifnex/04_Laravel/app/Services
Kazem Alghasi 563f89495c fix(pricing): restore array-based calculate() and harden pricing API
Restore the array-based signature of PriceCalculatorService::calculate()
to fix the TypeError thrown when PricingController and CustomerOrderController
called it with an array (the previous commit had switched to 4 separate
string params without updating the callers).

- PriceCalculatorService: support multiple input formats for direction
  (export|import|Outbound|Inbound) and type (DOC_NORMAL|DOC_ECONOMY|PARCEL|
  DOCUMENT|NON DOC) for backward compatibility with admin and customer flows.
- ExchangeRateService: add convertToIrr() for explicit AED→IRR conversion
  (was missing but referenced by the calculator).
- PricingController: expand validation rules to accept new shipment types
  and a discount_code string (was 'discount' numeric). Add 3-layer exception
  handling (422 validation / 400 business / 500 server).
- PriceTestPage: compute volumetric weight from dimensions (IATA: L×W×H/5000),
  resolve destination country by direction, and show errors as Filament
  notifications instead of crashing.
2026-10-29 14:40:58 +03:30
..
CustomerCreditService.php feat(finance): implement multi-currency credit tracking and dashboard widgets 2026-10-04 01:01:20 +03:30
ExchangeRateService.php fix(pricing): restore array-based calculate() and harden pricing API 2026-10-29 14:40:58 +03:30
KavenegarSmsService.php feat(core): integrate Kavenegar SMS notifications and audit logging 2026-09-10 00:52:18 +03:30
MockZarinpalService.php feat(wallet): complete online payment with Zarinpal + mock gateway 2026-08-08 00:46:54 +03:30
OrderPaymentService.php feat(security): implement secure file storage and shipment access control 2026-10-01 03:34:28 +03:30
PdfService.php refactor(pdf): switch AWB template to landscape orientation 2026-10-03 20:33:15 +03:30
PriceCalculatorService.php fix(pricing): restore array-based calculate() and harden pricing API 2026-10-29 14:40:58 +03:30
RateImportService.php feat(api): implement 4-quadrant rate import and pricing model 2026-10-29 07:18:52 +03:30
ShipmentReviewService.php feat(notifications): customer notifications on approve/request-changes + WP tab + badge + timezone Iran 2026-10-02 19:08:41 +03:30
TrackingService.php feat(core): implement configuration-driven logic via SystemSetting 2026-09-10 02:25:21 +03:30
WalletService.php feat(wallet): complete wallet system with admin adjust, freeze/unfreeze, activity logs 2026-08-07 22:51:42 +03:30
ZarinpalService.php feat(wallet): complete online payment with Zarinpal + mock gateway 2026-08-08 00:46:54 +03:30