You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// // CouponCell.swift // GME Remit // // Created by InKwon Devik Kim on 30/05/2019. // Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. //
import UIKit
class CouponCell: UITableViewCell { @IBOutlet private weak var couponCellBackgroundView: UIView! @IBOutlet private weak var checkImageView: UIImageView! @IBOutlet private weak var couponNameLabel: UILabel! @IBOutlet private weak var discountLabel: UILabel!
@IBOutlet private weak var remindDayLabel: UILabel! @IBOutlet private weak var expireDateLabel: UILabel! var isSelectedCoupon: Bool = false { didSet { if isSelectedCoupon { checkImageView.image = UIImage(named: "right") couponCellBackgroundView.layer.cornerRadius = 5 couponCellBackgroundView.layer.borderWidth = 1 couponCellBackgroundView.layer.borderColor = UIColor.themeRed.cgColor } else { checkImageView.image = nil couponCellBackgroundView.layer.borderColor = UIColor.white.cgColor } } } override func awakeFromNib() { super.awakeFromNib() couponCellBackgroundView.layer.cornerRadius = 5 }
func setModel(_ model: Coupon?) { couponNameLabel.text = model?.couponName?.uppercased() let discount = model?.discountType == "1" ? "\(model?.discountPercent ?? "0")%" : "\(model?.discountValue ?? "0") KRW" discountLabel.text = "(\(discount))" guard let remindDay = calculateRemindDay(expireDate: model?.expireDate) else { remindDayLabel.text = "N/A" return } switch remindDay { case 0: remindDayLabel.text = "Today" remindDayLabel.textColor = .themeRed case remindDay where remindDay > 0: remindDayLabel.text = "\(remindDay) day" default: remindDayLabel.text = "N/A" } expireDateLabel.text = "(\(model?.expireDate ?? "N/A"))" } private func calculateRemindDay(expireDate: String?) -> Int? { let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd" guard let expireDate = expireDate, let expireDay = dateFormatter.date(from: expireDate) else { return nil } let calendar = Calendar.current let date1 = calendar.startOfDay(for: Date()) let date2 = calendar.startOfDay(for: expireDay) return calendar.dateComponents([.day], from: date1, to: date2).day } }
|