using GestionIntegral.Api.Models.Suscripciones; using System.Data; namespace GestionIntegral.Api.Data.Repositories.Suscripciones { public interface IFacturaRepository { Task GetByIdAsync(int idFactura); Task> GetByPeriodoAsync(string periodo); Task GetBySuscripcionYPeriodoAsync(int idSuscripcion, string periodo, IDbTransaction transaction); Task CreateAsync(Factura nuevaFactura, IDbTransaction transaction); Task UpdateEstadoAsync(int idFactura, string nuevoEstado, IDbTransaction transaction); Task UpdateNumeroFacturaAsync(int idFactura, string numeroFactura, IDbTransaction transaction); Task UpdateLoteDebitoAsync(IEnumerable idsFacturas, int idLoteDebito, IDbTransaction transaction); Task> GetByPeriodoEnrichedAsync(string periodo); Task UpdateEstadoYMotivoAsync(int idFactura, string nuevoEstado, string? motivoRechazo, IDbTransaction transaction); } }