コード例 #1
0
 def transfer_funds(row: TRANSFERFUND, old_row: TRANSFERFUND,
                    logic_row: LogicRow):
     if logic_row.ins_upd_dlt == "ins" or True:  # logic engine fills parents for insert
         logic_row.log("Transfer from source to target")
         fromCustNum = row.FromCustNum
         toCustNum = row.ToCustNum
         acctNum = row.FromAcct
         trans_date = datetime.datetime(2020, 10, 1)
         transferAmt = row.TransferAmt
         transID = row.TransId
         # need to lookup the From Acct to see if it is checking or savings - that way we can reverse the flow
         deposit = models.SAVINGSTRANS(TransId=transID,
                                       CustNum=toCustNum,
                                       AcctNum=acctNum,
                                       DepositAmt=transferAmt,
                                       WithdrawlAmt=0,
                                       TransDate=trans_date)
         logic_row.insert("Deposit to savings", deposit)
         withdrawl = models.CHECKINGTRANS(TransId=transID,
                                          CustNum=fromCustNum,
                                          AcctNum=acctNum,
                                          DepositAmt=0,
                                          WithdrawlAmt=transferAmt,
                                          TransDate=trans_date)
         logic_row.insert("Withdraw from CHECKINGTRANS", withdrawl)
コード例 #2
0
from banking.tests import setup_db  # careful - this must follow fix-path, above
setup_db()

import banking.db.models as models  # must follow required_path fix
from logic_bank.exec_row_logic.logic_row import LogicRow
from banking.logic import session  # opens db, activates logic listener <--

pre_cust = session.query(models.CUSTOMER).filter(models.CUSTOMER.CustNum == 1).one()
session.expunge(pre_cust)

"""
    ********* Customer Account Deposit Checking Setup - Deposit $100 to CHECKINGTRANS *********
"""

trans_date = datetime(2020, 10, 1)
deposit = models.CHECKINGTRANS(TransId=1, CustNum=1, AcctNum=1,
                               DepositAmt=100, WithdrawlAmt=0, TransDate=trans_date)
print("\n\nCustomer Account Deposit Checking Setup - Deposit $100 to CHECKINGTRANS ")
session.add(deposit)
session.commit()

print("")
verify_cust = session.query(models.CUSTOMER).filter(models.CUSTOMER.CustNum == 1).one()
logic_row = LogicRow(row=verify_cust, old_row=pre_cust, ins_upd_dlt="*", nest_level=0, a_session=session, row_sets=None)
if verify_cust.TotalBalance == 100.0:
    logic_row.log("Customer Account Deposit Checking Setup OK - balance is 100")
    assert True
else:
    logic_row.log("Customer Account Deposit Checking Setup OK fails - balance not 100")
    assert False
session.expunge(verify_cust)