namespace GB5Shared.Attributes { /// /// Marks a BLL method that hand-rolls a BeginTransactionAsync/commit/rollback block /// instead of routing through BaseEntityAppService.ExecuteSaveAsync. Reserved for /// genuine multi-entity/composite operations with no single owning entity DTO. /// Presence of this attribute is what distinguishes a reviewed, deliberate exception /// from a silent bypass of the standard entity-save pipeline. /// [AttributeUsage(AttributeTargets.Method)] public sealed class ManualTransactionJustifiedAttribute : Attribute { public string Reason { get; } public ManualTransactionJustifiedAttribute(string reason) { Reason = reason; } } }