using SIGCM2.Domain.Fiscal;

namespace SIGCM2.Domain.Exceptions;

/// <summary>
/// Thrown when an IngresosBrutos entry for the same Provincia already exists for the same VigenciaDesde.
/// Maps to SQL unique constraint UQ_IIBB_Provincia_Vigencia (SqlException 2627/2601).
/// </summary>
public sealed class DuplicateProvinciaException : DomainException
{
    public ProvinciaArgentina Provincia { get; }

    public DuplicateProvinciaException(ProvinciaArgentina provincia)
        : base($"Ya existe una entrada de IIBB para '{provincia}' en la misma vigencia.")
    {
        Provincia = provincia;
    }
}
