feat(domain): Rubro entity + domain exceptions (CAT-001)

This commit is contained in:
2026-04-18 19:17:33 -03:00
parent 4a88cb4319
commit 4c9b7eabaf
10 changed files with 620 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
namespace SIGCM2.Domain.Exceptions;
/// <summary>
/// Thrown when moving a Rubro to one of its own descendants would create a cycle. → HTTP 400
/// </summary>
public sealed class RubroCycleDetectedException : DomainException
{
public int RubroId { get; }
public int NuevoParentId { get; }
public RubroCycleDetectedException(int rubroId, int nuevoParentId)
: base($"Mover el rubro '{rubroId}' al padre '{nuevoParentId}' crearía un ciclo en el árbol.")
{
RubroId = rubroId;
NuevoParentId = nuevoParentId;
}
}