25 lines
1.3 KiB
C#
25 lines
1.3 KiB
C#
using General_Ledger_Service.DTOs.Bank;
|
|
using General_Ledger_Service.DTOs.Common;
|
|
|
|
namespace General_Ledger_Service.Interfaces.Services
|
|
{
|
|
public interface IBankService
|
|
{
|
|
Task<ApiResponse> CreateBankAccountAsync(CreateBankAccountRequest request);
|
|
Task<ApiResponse> ImportStatementLinesAsync(long bankAccountId, Stream fileStream);
|
|
Task<ApiResponse> ReconcileStatementLineAsync(long stmtLineId, ReconcileStatementLineRequest request);
|
|
Task<ApiResponse> ListCashAndBankAccountsAsync(string? accountType);
|
|
Task<ApiResponse> CreateCashAccountAsync(CreateCashAccountRequest request);
|
|
Task<ApiResponse> ListCashAccountTypesAsync();
|
|
|
|
/// <summary>Renames a cash account — the only field a default cash account allows changing.</summary>
|
|
Task<ApiResponse> UpdateCashAccountAsync(long cashAccountId, UpdateCashAccountRequest request);
|
|
|
|
/// <summary>Activates/deactivates a cash account. Throws if deactivating the default one.</summary>
|
|
Task<ApiResponse> SetCashAccountStatusAsync(long cashAccountId, SetCashAccountStatusRequest request);
|
|
|
|
/// <summary>Deletes a cash account. Throws if it is the default one.</summary>
|
|
Task<ApiResponse> DeleteCashAccountAsync(long cashAccountId);
|
|
}
|
|
}
|