Files
Distribution_GL/Interfaces/Services/IBankService.cs
T

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);
}
}