namespace SIGCM2.Domain.Exceptions;

/// <summary>
/// Thrown when attempting to create or move a child into a rubro that already has avisos assigned.
/// Invariante: un nodo con avisos es HOJA — no puede tener hijos. → HTTP 409
/// </summary>
public sealed class RubroPadreEsHojaConAvisosException : DomainException
{
    public int ParentId { get; }
    public int CantidadAvisos { get; }

    public RubroPadreEsHojaConAvisosException(int parentId, int cantidadAvisos)
        : base($"El rubro padre contiene {cantidadAvisos} avisos. Muévalos antes de crear sub-rubros.")
    {
        ParentId = parentId;
        CantidadAvisos = cantidadAvisos;
    }
}
