using System; using System.Threading.Tasks; namespace GestionIntegral.Api.Services.Contables { // Resultado del chequeo de período cerrado. // Si EstaCerrado=true, IdCierre y FechaCorte tienen el cierre que bloquea la operación. public record PeriodoCerradoResult(bool EstaCerrado, int? IdCierre, DateTime? FechaCorte); public interface IPeriodoCerradoValidator { Task EstaCerradoAsync(string destino, int idDestino, int idEmpresa, DateTime fechaOperacion); // Invalida la entrada de cache para el par (Distribuidor + Empresa). Llamar después de Crear o Anular cierre. void InvalidarCache(int idDistribuidor, int idEmpresa); } }