Skip to content

Commit

Permalink
SWF-13 able to choose bank that user would like to pay for. No passin…
Browse files Browse the repository at this point in the history
…g of account info, just able to display chosen bank name
  • Loading branch information
rrk12005 committed Apr 6, 2019
1 parent 18c29c8 commit 0b6fb67
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@
<objects>
<controller id="t8d-XB-ngB" customClass="PaymentDetailInterfaceController" customModule="SynchronyFinancial_WatchKit_App" customModuleProvider="target">
<items>
<imageView alignment="left" hidden="YES" id="fzG-LV-j7G"/>
<label width="1" alignment="center" text="Pay From:" textAlignment="center" id="xE5-Zl-U7d"/>
<button width="1" height="40" alignment="left" title="Select Bank" id="SZD-0B-PrF" userLabel="detailButton">
<fontDescription key="font" type="system" pointSize="15"/>
Expand All @@ -221,9 +222,12 @@
</button>
</items>
<connections>
<outlet property="activityIndicator" destination="fzG-LV-j7G" id="zqA-Vd-Kjv"/>
<outlet property="amount" destination="mT0-3D-JGP" id="rff-wG-B82"/>
<outlet property="detailButton" destination="SZD-0B-PrF" id="xEw-gE-yIP"/>
<outlet property="payFrom" destination="xE5-Zl-U7d" id="62t-6n-KSD"/>
<outlet property="paymentButton" destination="FgU-iZ-2XU" id="yZe-dZ-nBV"/>
<outlet property="separate" destination="et0-Sq-Qxm" id="JfK-S7-H9d"/>
</connections>
</controller>
</objects>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,33 +16,36 @@ class PaymentDetailInterfaceController: WKInterfaceController {
var paymentButtonArmed: Bool = false
var paymentAmount: Double = 0.0
var dictForBankAcct: [String:[BankAcct]] = [:]

@IBOutlet var activityIndicator: WKInterfaceImage!
@IBOutlet weak var detailButton: WKInterfaceButton!
@IBOutlet weak var amount: WKInterfaceLabel!
@IBOutlet weak var paymentButton: WKInterfaceButton!
@IBOutlet weak var payFrom: WKInterfaceLabel!
@IBOutlet weak var separate: WKInterfaceSeparator!

override func awake(withContext context: Any?) {
configureInterfaceObjects(true)
activityIndicator.configureForActivityIndicator()
super.awake(withContext: context)
guard let data = context as? [String: Any], let acct = data["acct"] as? Account, let amount = data["payment_amount"] as? Double else {
NSLog("Error getting account object and payment amount")
return
}

FetchData.getBankInfo{ accts, error in guard error == nil else {
NSLog("Error retrieving payment methods for account in paymentDetailInterfaceController.")
return
}

self.dictForBankAcct.updateValue(accts, forKey: "paymentOptions")

self.configureInterfaceObjects(false)
//self.detailButton.setTitle("Hello")
self.activityIndicator.stopAnimatingAsIndicator()
}
self.paymentAmount = amount
self.selectedAccount = acct
paymentButton.setTitle(String(format: "Pay $%.2f", amount))
if let p1 = self.dictForBankAcct["paymentOptions"] {
UserDefaults.standard.set(p1[0], forKey: "default_bank_acct")
print("yes")
self.detailButton.setTitle(p1[0].bankName)
}


}

@IBAction func paymentAction() {
Expand All @@ -66,14 +69,31 @@ class PaymentDetailInterfaceController: WKInterfaceController {
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
if let bankacct = UserDefaults.standard.value(forKey: "default_bank_acct") as? BankAcct {
detailButton.setTitle(bankacct.bankName)
if let bankacct = UserDefaults.standard.string(forKey: "default_bank_acct"){
detailButton.setTitle(bankacct)
}
print("hots here")
}

override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}

private func configureInterfaceObjects(_ hide: Bool) {
detailButton.setHidden(hide)
amount.setHidden(hide)
paymentButton.setHidden(hide)
payFrom.setHidden(hide)
separate.setHidden(hide)
/*if(!hide){
if let p1 = self.dictForBankAcct["paymentOptions"] {
let x = p1[0]
UserDefaults.standard.set(x, forKey: "default_bank_acct")
print("yes")
detailButton.setTitle(p1[0].bankName)
}
}*/
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ class PaymentOptionsInterfaceController: WKInterfaceController {
bankAccts = accts
print(bankAccts.count)
configureRows()

}
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
Expand All @@ -42,4 +43,10 @@ class PaymentOptionsInterfaceController: WKInterfaceController {
}
}
}

override func table(_ table: WKInterfaceTable, didSelectRowAt rowIndex: Int) {
let acct = bankAccts[rowIndex]
UserDefaults.standard.set(acct.bankName, forKey: "default_bank_acct")
pop()
}
}

0 comments on commit 0b6fb67

Please sign in to comment.