Showing
1 changed file
with
41 additions
and
6 deletions
... | @@ -29,6 +29,7 @@ import UIKit | ... | @@ -29,6 +29,7 @@ import UIKit |
29 | @IBOutlet weak var activeCodeImage: UIImageView! | 29 | @IBOutlet weak var activeCodeImage: UIImageView! |
30 | 30 | ||
31 | public var coupons:Array<swiftApi.CouponItemModel> = [] | 31 | public var coupons:Array<swiftApi.CouponItemModel> = [] |
32 | + public var dfyCoupons:Array<swiftApi.ActiveDFYCouponModel> = swiftApi().getActiveDFYCoupons() | ||
32 | 33 | ||
33 | public override func viewDidLoad() { | 34 | public override func viewDidLoad() { |
34 | super.viewDidLoad() | 35 | super.viewDidLoad() |
... | @@ -84,9 +85,12 @@ import UIKit | ... | @@ -84,9 +85,12 @@ import UIKit |
84 | dfyEarnView.layer.shadowOpacity = 1.0 | 85 | dfyEarnView.layer.shadowOpacity = 1.0 |
85 | dfyEarnView.layer.shadowRadius = 3.0 | 86 | dfyEarnView.layer.shadowRadius = 3.0 |
86 | 87 | ||
87 | - // TODO: dynamic | 88 | + var totalCouponValue = self.dfyCoupons.reduce(0) { $0 + (Float($1._value) ?? 0) } |
88 | - dfyEarnLabel.text = "Μέχρι τώρα έχεις κερδίσει 18,00€ με το DEALS for YOU!" | 89 | + totalCouponValue = Float(round(100 * totalCouponValue) / 100) |
89 | - dfyEarnAmountLabel.text = "18,00€" | 90 | + let totalCouponValueString = String(format: "%.2f", totalCouponValue).replacingOccurrences(of: ".", with: ",", options: .literal, range: nil) |
91 | + | ||
92 | + dfyEarnLabel.text = "Μέχρι τώρα έχεις κερδίσει " + totalCouponValueString + "€ με το DEALS for YOU!" | ||
93 | + dfyEarnAmountLabel.text = totalCouponValueString + "€" | ||
90 | 94 | ||
91 | couponEarnView.layer.cornerRadius = 5.0 | 95 | couponEarnView.layer.cornerRadius = 5.0 |
92 | couponEarnView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor | 96 | couponEarnView.layer.shadowColor = UIColor(red: 0.00, green: 0.00, blue: 0.00, alpha: 0.16).cgColor |
... | @@ -104,9 +108,40 @@ import UIKit | ... | @@ -104,9 +108,40 @@ import UIKit |
104 | activeCodeView.layer.shadowOpacity = 1.0 | 108 | activeCodeView.layer.shadowOpacity = 1.0 |
105 | activeCodeView.layer.shadowRadius = 6.0 | 109 | activeCodeView.layer.shadowRadius = 6.0 |
106 | 110 | ||
107 | - // TODO: dynamic | 111 | + if (dfyCoupons.count > 0) { |
108 | - activeCodeLabel.text = "961544809" | 112 | + let dateFormatter = DateFormatter() |
109 | - activeCodeExpirationLabel.text = "Λήγει σε 4 ημέρες" | 113 | + dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss" |
114 | + | ||
115 | + // sort dfyCoupons by date | ||
116 | + dfyCoupons.sort(by: { | ||
117 | + let date1 = dateFormatter.date(from: $0._date) | ||
118 | + let date2 = dateFormatter.date(from: $1._date) | ||
119 | + | ||
120 | + if ((date1 != nil) && (date2 != nil)) { | ||
121 | + return date1!.compare(date2!) == .orderedAscending | ||
122 | + } else { | ||
123 | + return false | ||
124 | + } | ||
125 | + | ||
126 | + }) | ||
127 | + | ||
128 | + // Get days from now of the most recet coupon | ||
129 | + var daysFromNow = "" | ||
130 | + let calendar = Calendar.current | ||
131 | + | ||
132 | + // Replace the hour (time) of both dates with 00:00 | ||
133 | + let date1 = calendar.startOfDay(for: Date()) | ||
134 | + if let date2 = dateFormatter.date(from: dfyCoupons[0]._date) { | ||
135 | + let components = calendar.dateComponents([.day], from: date1, to: date2) | ||
136 | + daysFromNow = (components.day) != nil ? String(components.day ?? 0) : "" | ||
137 | + } | ||
138 | + | ||
139 | + activeCodeLabel.text = dfyCoupons[0]._code | ||
140 | + activeCodeExpirationLabel.text = "Λήγει σε " + daysFromNow + " ημέρες" | ||
141 | + } else { | ||
142 | + activeCodeLabel.text = "-" | ||
143 | + activeCodeExpirationLabel.text = "" | ||
144 | + } | ||
110 | } | 145 | } |
111 | 146 | ||
112 | // MARK: - API Functions | 147 | // MARK: - API Functions | ... | ... |
-
Please register or login to post a comment