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.

102 lines
2.6 KiB

  1. //
  2. // OrderCell.swift
  3. // GME Remit
  4. //
  5. // Created by InKwon Devik Kim on 14/05/2019.
  6. // Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. class OrderCell: UITableViewCell {
  10. @IBOutlet weak var orderDateLabel: UILabel!
  11. @IBOutlet weak var orderStatusLabel: UILabel!
  12. @IBOutlet weak var branchNameLabel: UILabel!
  13. @IBOutlet weak var orderedProductNameLabel: UILabel!
  14. @IBOutlet weak var orderedProductPointLabel: UILabel!
  15. @IBOutlet weak var orderIDLabel: UILabel!
  16. @IBOutlet weak var cellContentView: UIView!
  17. enum Status: String{
  18. case orderCompleted = "1"
  19. case delivered = "2"
  20. case received = "3"
  21. case orderCanceled = "9"
  22. var color: UIColor {
  23. switch self {
  24. case .orderCanceled:
  25. return .themeRed
  26. case .delivered:
  27. return .init(hex: "#08a384")
  28. case .received:
  29. return .themeBlue
  30. case .orderCompleted:
  31. return .init(hex: "#08a384")
  32. }
  33. }
  34. var shortMessage: String {
  35. switch self {
  36. case .orderCanceled:
  37. return "canceled_text".localized()
  38. case .delivered:
  39. return "DELIVERED".localized()
  40. case .received:
  41. return "received_text".localized()
  42. case .orderCompleted:
  43. return "ordered_text".localized()
  44. }
  45. }
  46. var message: String {
  47. switch self {
  48. case .orderCanceled:
  49. return "your_order_canceled_text".localized()
  50. case .delivered:
  51. return "Delivered_text".localized()
  52. case .received:
  53. return "you_received_reward_text".localized()
  54. case .orderCompleted:
  55. return "your_order_completed_text".localized()
  56. }
  57. }
  58. }
  59. override func awakeFromNib() {
  60. super.awakeFromNib()
  61. // Initialization code
  62. }
  63. override func setSelected(_ selected: Bool, animated: Bool) {
  64. super.setSelected(selected, animated: animated)
  65. // Configure the view for the selected state
  66. }
  67. func setModel(with model: Order?) {
  68. guard
  69. let model = model,
  70. let statusCode = model.orderStatus,
  71. let status = Status(rawValue: statusCode)
  72. else {return}
  73. orderIDLabel.text = model.orderID
  74. orderDateLabel.text = model.createdDate
  75. orderStatusLabel.text = status.shortMessage
  76. branchNameLabel.text = model.branchName
  77. orderedProductNameLabel.text = model.productName
  78. orderedProductPointLabel.text = model.usePoint?.likeCommaMoney()
  79. orderStatusLabel.layer.cornerRadius = 5
  80. orderStatusLabel.backgroundColor = status.color
  81. cellContentView.layer.cornerRadius = 5
  82. }
  83. }