From 8e8dec7049cb284d72c1707135cd9fe907ecff40 Mon Sep 17 00:00:00 2001 From: Alan Maynard Date: Wed, 17 Apr 2019 17:43:25 -0400 Subject: [PATCH] SWF-17 fix logical error leading to bad utilization score --- .../WellnessInterfaceController.swift | 40 ++++++------------- 1 file changed, 12 insertions(+), 28 deletions(-) diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/WellnessInterfaceController.swift b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/WellnessInterfaceController.swift index 017be6d..9d4b776 100644 --- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/WellnessInterfaceController.swift +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/WellnessInterfaceController.swift @@ -20,10 +20,10 @@ class WellnessInterfaceController: WKInterfaceController { var paymentScore: Int = 0 @IBOutlet weak var image: WKInterfaceImage! - + override func awake(withContext context: Any?) { super.awake(withContext: context) - + if let context = context as? [String: [Account]], let accts = context["accts"] { accounts = accts } @@ -36,14 +36,13 @@ class WellnessInterfaceController: WKInterfaceController { self.transactionDict.updateValue(self.transactions, forKey: "transactions") } }*/ - + calculateUtilization() countAccounts() calculateWellness() image.setImageNamed("scores") image.startAnimatingWithImages(in: NSRange(location: 1, length: wellnessScore ?? 0), duration: 1.5, repeatCount: 1) - } override func willActivate() { @@ -55,41 +54,26 @@ class WellnessInterfaceController: WKInterfaceController { // This method is called when watch view controller is no longer visible super.didDeactivate() } - + private func calculateUtilization() { var totalBalance: Double = 0 var totalCredit: Double = 0 accounts.forEach { - totalCredit += $0.availCredit + totalCredit += $0.creditLimit totalBalance += $0.curBalance } - - let util = round(((totalBalance)/(totalCredit)) * 100) - - switch util { - case 0...10: - utilizationScore = 100 - case 11...20: - utilizationScore = Int(round((100 - util) * 0.9)) - case 21...30: - utilizationScore = Int(round((100 - util) * 0.85)) - case 31...60: - utilizationScore = Int(round((100 - util) * 0.725)) - case 61...90: - utilizationScore = Int(round((100 - util) * 0.6)) - default: - utilizationScore = 1 - } + + utilizationScore = Int((totalBalance / totalCredit) * 100) } - + private func countAccounts() { var count: Int = 0 - + for _ in 0..