namespace SIGCM2.Domain.Exceptions;

/// <summary>
/// Thrown when a TipoDeIva with the same Codigo already exists for the same VigenciaDesde.
/// Maps to SQL unique constraint UQ_TipoDeIva_Codigo_Vigencia (SqlException 2627/2601).
/// </summary>
public sealed class DuplicateCodigoException : DomainException
{
    public string Codigo { get; }

    public DuplicateCodigoException(string codigo)
        : base($"Ya existe un TipoDeIva con Codigo '{codigo}' en la misma vigencia.")
    {
        Codigo = codigo;
    }
}
