clsBankAccount¶
clsBankAccount is the concrete bank-account business object in SAIF.Business.Payment.EFT. It implements both IBankAccount (from SAIF.Business.Payment) and IBusinessCriteria (the BOF persistence interface), providing full CRUD lifecycle management for bank account records stored in the BANK_ACCOUNT Oracle table.
Purpose¶
- Persist and retrieve bank account records including routing number, account number, account type, owner name, and status.
- Expose masked bank account number display (
MaskedBankAccountNumber). - Classify accounts by type (checking, savings, business, consumer) and status.
- Perform soft-delete by updating
BANK_ACCOUNT_STATUS_CODEtoDELETEDrather than removing the row.
Context¶
- Namespace:
SAIF.Business.Payment.EFT - Assembly/package:
SAIF.BOF.Business.Payment.EFT(NuGet) - Implements:
IBankAccount(SAIF.Business.Payment),IBusinessCriteria - Inherits:
clsBusinessBase(SAIF.BOF.Framework)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
BankAccountID |
Property BankAccountID As Decimal |
Sequence number primary key (BANK_ACCOUNT_SEQ_NUM). |
BankAccountNum |
Property BankAccountNum As String |
Encrypted/stored bank account number (BANK_ACCOUNT_NUM).* |
BankRoutingNum |
Property BankRoutingNum As String |
Bank routing number (BANK_ROUTING_NUM).* |
BankAccountTypeCode |
Property BankAccountTypeCode As String |
Account type code (BANK_ACCOUNT_TYPE_CODE). |
BankAccountStatusCode |
Property BankAccountStatusCode As String |
Account status code (BANK_ACCOUNT_STATUS_CODE). |
BankAccountDataSourceCode |
Property BankAccountDataSourceCode As String |
Data source code (BANK_ACCOUNT_DATA_SOURCE_CODE). |
BankAccountOwnerName |
Property BankAccountOwnerName As String |
Owner name on the account (BANK_ACCOUNT_OWNER_NAME). |
BankAccountHolderName |
Property BankAccountHolderName As String |
Holder name on the account (BANK_ACCOUNT_HOLDER_NAME). |
BankAccountNickName |
Property BankAccountNickName As String |
Nickname for the account (BANK_ACCOUNT_NICK_NAME). |
BankName |
Property BankName As String |
Name of the bank (BANK_NAME). |
BusinessConsumerCode |
Property BusinessConsumerCode As String |
Business or consumer classification (BUSINESS_CONSUMER_CODE). |
HistoricalAuthorizationFlag |
Property HistoricalAuthorizationFlag As String |
Indicates historical authorization (HISTORICAL_AUTHORIZATION_FLAG). |
PaymentReturnReasonCode |
Property PaymentReturnReasonCode As String |
Last return reason code on file (PAYMENT_RETURN_REASON_CODE). |
MaskedBankAccountNumber |
ReadOnly Property MaskedBankAccountNumber As String |
Returns a masked display version of the bank account number.* |
CreateDate |
Property CreateDate As Date |
Record creation date. |
CreateUser |
Property CreateUser As String |
User who created the record. |
UpdateDate |
Property UpdateDate As Date |
Last update date. |
UpdateUser |
Property UpdateUser As String |
User who last updated the record. |
Behavioral notes¶
DeleteSQLissues anUPDATEthat setsBANK_ACCOUNT_STATUS_CODEtoclsBankAccountStatusCode.DELETED, not a physical row delete. TheBANK_ACCOUNTrow is retained for historical linkage.*CreateSQLcallsSELECT BANK_ACCOUNT_SEQ.NEXTVAL FROM DUALbeforeInsertSQLto generate the sequence value.*- All insert and update operations enforce
RowsAffected = 1; a different count adds an error message to the business object.* - The
Libs\SAIFEncrypt.dllbinary reference in the project suggests bank account/routing number encryption may be applied before persistence, but no confirmed call site was found.**
Constraints and usage notes¶
- Requires
IBankAccountcontract fromSAIF.BOF.Business.Payment. - Sequence generation (
CreateSQL) must complete successfully beforeInsertSQLcan proceed.* - Soft-delete semantics: consumers must filter by
BANK_ACCOUNT_STATUS_CODE <> 'DELETED'if inactive accounts should be excluded.*
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
Business\SAIF.Business.Payment.EFT\clsBankAccount.vbBusiness\SAIF.Business.Payment.EFT\clsBankAccountCollection.vb