namespace SIGCM2.Domain.Exceptions;

/// <summary>
/// Thrown when a Product with the same Nombre already exists for a given MedioId+ProductTypeId. → HTTP 409
/// </summary>
public sealed class ProductNombreDuplicadoEnMedioTipoException : DomainException
{
    public int MedioId { get; }
    public int ProductTypeId { get; }
    public string Nombre { get; }

    public ProductNombreDuplicadoEnMedioTipoException(int medioId, int productTypeId, string nombre)
        : base($"Ya existe un producto activo con nombre '{nombre}' para medioId={medioId} y productTypeId={productTypeId}.")
    {
        MedioId = medioId;
        ProductTypeId = productTypeId;
        Nombre = nombre;
    }
}
