cboddeposit-10-opening.spp
cboddeposit/account/cboddeposit-10-opening.spp
Download original file · Bank deposit source contents
1domain cboddeposit;23Contract AccountOpeningAgreement {4String openingNumber;5DepositAccount account;6AccountEligibility eligibility;7CashSettlementAccount settlement;8}910atomic calculate prepareAccountOpening(11BankAccount,12DepositAccount,13AccountEligibility,14CashSettlementAccount,15DepositAccrualState,16AccountOpeningAgreement17) {18DepositAccount.accountNumber = BankAccount.accountNumber;19AccountEligibility.accountNumber = BankAccount.accountNumber;20DepositAccrualState.accountNumber = BankAccount.accountNumber;21DepositAccrualState.lastProductDate = AccountEligibility.openedOn;22DepositAccount.loanState = LoanState.NORMAL;23if (AccountEligibility.temporary == null) {24AccountEligibility.temporary = false;25}26if (AccountEligibility.temporaryOpen == null) {27AccountEligibility.temporaryOpen = false;28}29if (AccountEligibility.expiresOn == null) {30AccountEligibility.expiresOn = 0;31}32AccountEligibility.status = AccountStatus.ACTIVE;33AccountEligibility.detailCount = 0;34AccountEligibility.lastTransactionDate = AccountEligibility.openedOn;35AccountEligibility.cashDepositedToday = 0;36AccountEligibility.transferredToday = 0;37AccountEligibility.accountBalance = 0;38DepositAccrualState.normalProduct = 0;39DepositAccrualState.overdraftProduct = 0;40DepositAccrualState.overdraftInterestProduct = 0;41DepositAccrualState.actualProduct = 0;42DepositAccrualState.agreementProduct = 0;43DepositAccrualState.overdraftDays = 0;44DepositAccrualState.overdraftInterestDays = 0;45AccountOpeningAgreement.account = DepositAccount;46AccountOpeningAgreement.eligibility = AccountEligibility;47AccountOpeningAgreement.settlement = CashSettlementAccount;48}