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.

61 lines
1.9 KiB

5 years ago
5 years ago
5 years ago
5 years ago
  1. //
  2. // RewardItemCollectionViewCell.swift
  3. // GME Remit
  4. //
  5. // Created by InKwon Devik Kim on 11/04/2019.
  6. // Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. class RewardItemCollectionViewCell: UICollectionViewCell {
  10. @IBOutlet weak var itemImage: UIImageView!
  11. @IBOutlet weak var itemNameLabel: UILabel!
  12. @IBOutlet weak var itemPriceLabel: UILabel!
  13. @IBOutlet weak var redeemButton: UIButton!
  14. @IBOutlet weak var contentsView: UIView!
  15. private var model: RewardProduct?
  16. var delegate: RewardViewInterface?
  17. func setModel(with model: RewardProduct?, delegate: RewardViewInterface?){
  18. guard
  19. let product = model,
  20. let imageData = model?.imageData,
  21. let data: Data = Data(base64Encoded: imageData) else {return}
  22. self.itemImage.image = UIImage(data: data)
  23. self.itemNameLabel.text = product.productName
  24. self.itemPriceLabel.text = product.pointPrice
  25. self.model = product
  26. self.delegate = delegate
  27. self.setUI()
  28. }
  29. private func setUI(){
  30. self.contentsView.layer.cornerRadius = 10
  31. self.setButton()
  32. }
  33. func setButton(){
  34. self.redeemButton.rounded()
  35. self.redeemButton.addTarget(self, action: #selector(redeemButtonTouch), for: .touchUpInside)
  36. let totalPoint = UserDefaults.standard.integer(forKey: UserKeys.rewardPoint)
  37. let isEnable = totalPoint > Int(self.model?.pointPrice ?? "") ?? 0
  38. self.redeemButton.backgroundColor = isEnable ? AppConstants.themeRedColor : .lightGray
  39. self.redeemButton.isEnabled = isEnable
  40. }
  41. @objc
  42. func redeemButtonTouch() {
  43. print("touched \(self.itemNameLabel.text ?? "") redeem button")
  44. delegate?.goRedeemViewController(with: self.model)
  45. }
  46. }