using General_Ledger_Service.DTOs.Reports; using General_Ledger_Service.Models; namespace General_Ledger_Service.Interfaces.Repositories { public interface IJournalEntryRepository { Task GetJournalEntryByJournalNoAsync(string journalNo); Task GetJournalEntryBySourceReferenceAsync(string sourceModule, string reference); Task CountJournalEntriesForYearAsync(int year); Task AddJournalEntryAsync(JournalEntry entry); Task AddJournalEntryLinesAsync(IEnumerable lines); Task> GetGeneralLedgerLinesAsync(long accountId, DateOnly periodStart, DateOnly periodEnd); Task> GetGeneralLedgerLinesForAllAccountsAsync(DateOnly periodStart, DateOnly periodEnd); Task AddJournalCorrectionAsync(JournalCorrection correction); } }