<?php

namespace Easymailing\App\Core\Provider\Woocommerce\Exception;

class CustomerNotFoundException extends \Exception
{
	private $orderId;
	private $customerId;

	/**
	 * Constructor de la excepción personalizada para clientes eliminados.
	 *
	 * @param int $orderId ID del pedido asociado al error.
	 * @param int $customerId ID del cliente que no existe.
	 * @param string $message Mensaje de error detallado.
	 * @param int $code Código de error (opcional).
	 * @param \Throwable|null $previous Excepción previa (opcional).
	 */
	public function __construct(
		int $orderId,
		int $customerId,
		string $message = "Customer not found in WordPress",
		int $code = 0,
		\Throwable $previous = null
	) {
		$this->orderId = $orderId;
		$this->customerId = $customerId;
		parent::__construct($message, $code, $previous);
	}

	/**
	 * Devuelve el ID del pedido asociado al error.
	 *
	 * @return int
	 */
	public function getOrderId(): int
	{
		return $this->orderId;
	}

	/**
	 * Devuelve el ID del cliente asociado al error.
	 *
	 * @return int
	 */
	public function getCustomerId(): int
	{
		return $this->customerId;
	}
}
