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.

85 lines
2.4 KiB

  1. //
  2. // RecipientCell.swift
  3. // GME Remit
  4. //
  5. // Created by InKwon James Kim on 08/08/2019.
  6. // Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved.
  7. //
  8. import UIKit
  9. protocol RecipientCellDelegate: class {
  10. func edit(didSelect model: Recipient?)
  11. func delete(didSelect model: Recipient?)
  12. }
  13. class RecipientCell: UITableViewCell {
  14. @IBOutlet private weak var bgView: UIView!
  15. @IBOutlet private weak var countryFlagImageView: UIImageView!
  16. @IBOutlet private weak var labelRecipientName: UILabel!
  17. @IBOutlet private weak var paymentMethodNameLabel: UILabel!
  18. @IBOutlet private weak var agentNameLabel: UILabel!
  19. @IBOutlet private weak var branchNameLabel: UILabel!
  20. @IBOutlet private weak var agentAccountLabel: UILabel!
  21. @IBOutlet private weak var mobileLabel: UILabel!
  22. weak var delegate: RecipientCellDelegate?
  23. private var model: Recipient?
  24. func setModel(with model: Recipient?) {
  25. hero.id = model?.receiverID
  26. paymentMethodNameLabel.isHidden = false
  27. agentNameLabel.isHidden = false
  28. branchNameLabel.isHidden = false
  29. agentAccountLabel.isHidden = false
  30. mobileLabel.isHidden = false
  31. let country = CountryEnum(rawValue: model?.countryCode?.lowercased() ?? "")
  32. countryFlagImageView.image = country?.flag
  33. labelRecipientName.text = model?.fullName?.uppercased()
  34. paymentMethodNameLabel.text = model?.paymentMethod?.name?.uppercased()
  35. if let agentName = model?.agent?.name {
  36. agentNameLabel.isHidden = false
  37. agentNameLabel.text = agentName.uppercased()
  38. } else {
  39. agentNameLabel.isHidden = true
  40. }
  41. if let branchName = model?.agent?.branch?.name {
  42. branchNameLabel.isHidden = false
  43. branchNameLabel.text = branchName.uppercased()
  44. } else {
  45. branchNameLabel.isHidden = true
  46. }
  47. if let accountNumber = model?.agent?.accountNumber {
  48. agentAccountLabel.isHidden = false
  49. agentAccountLabel.text = accountNumber.uppercased()
  50. } else {
  51. agentAccountLabel.isHidden = true
  52. }
  53. if let mobile = model?.mobile {
  54. mobileLabel.isHidden = false
  55. mobileLabel.text = mobile
  56. } else {
  57. mobileLabel.isHidden = true
  58. }
  59. self.model = model
  60. }
  61. @IBAction func touchEdit(_ sender: UIButton) {
  62. delegate?.edit(didSelect: model)
  63. }
  64. @IBAction func touchDelete(_ sender: UIButton) {
  65. delegate?.delete(didSelect: model)
  66. }
  67. }