Platform SDK: Transaction Server |
Perform Method, Step5 (Visual Basic)
[This product will work only on Windows NT 4.0 versions and earlier. For Windows 2000 and later, see COM+ (Component Services).]
Public Function Perform(ByVal lngPrimeAccount As Long,_ ByVal lngSecondAccount As Long, ByVal lngAmount _ As Long, ByVal lngTranType As Long) As String Dim strResult As String On Error GoTo ErrorHandler ' create the account object using our context Dim objAccount As Bank.Account Set objAccount = _ GetObjectContext.CreateInstance("Bank.Account") If objAccount Is Nothing Then Err.Raise ERROR_NUMBER, _ Description:="Could not create account object" End If ' call the post function based on the ' transaction type Select Case lngTranType Case 1 strResult = objAccount.Post(lngPrimeAccount, 0 - lngAmount) If strResult = "" Then Err.Raise ERROR_NUMBER, _ Description:=strResult End If Case 2 strResult = objAccount.Post(lngPrimeAccount, lngAmount) If strResult = "" Then Err.Raise ERROR_NUMBER, _ Description:=strResult End If Case 3 Dim strResult1 As String, strResult2 As String ' do the credit strResult1 = objAccount.Post(lngSecondAccount, lngAmount) If strResult1 = "" Then Err.Raise ERROR_NUMBER, _ Description:=strResult1 Else ' then do the debit strResult2 = objAccount.Post(lngPrimeAccount, 0 - lngAmount) If strResult2 = "" Then ' debit failed Err.Raise ERROR_NUMBER, _ Description:=strResult2 Else strResult = strResult1 + " " + strResult2 End If End If Case Else Err.Raise ERROR_NUMBER, _ Description:="Invalid Transaction Type" End Select ' Get Receipt Number for the transaction Dim objReceiptNo As Bank.GetReceipt Dim lngReceiptNo As Long Set objReceiptNo = GetObjectContext.CreateInstance("Bank.GetReceipt") lngReceiptNo = objReceiptNo.GetNextReceipt If lngReceiptNo > 0 Then strResult = strResult & "; Receipt No: " _ & Str$(lngReceiptNo) End If ' we are finished and happy GetObjectContext.SetComplete Perform = strResult Exit Function ErrorHandler: GetObjectContext.SetAbort ' we are unhappy Perform = "" ' indicate that an error occured Err.Raise Err.Number, "Bank.MoveMoney.Perform", _ Err.Description End Function