// // DetailOrderViewController.swift // GME Remit // // Created by InKwon Devik Kim on 15/05/2019. //Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. // import UIKit class DetailOrderViewController: UIViewController { // MARK: Properties var presenter: DetailOrderModuleInterface? // MARK: Computed Properties private var order: Order? { didSet { guard let order = order, let statusCode = order.orderStatus, let status = OrderCell.Status(rawValue: statusCode) else { return } receiverNameLabel.text = order.recvName mobileNumberLabel.text = order.recvPhoneNumber pickupBranchLabel.text = order.branchName productNameLabel.text = order.productName productPointLabel.text = order.usePoint?.likeCommaMoney() orderStatusLabel.text = status.message orderDateLabel.text = order.createdDate orderIDNumberLabel.text = order.orderID orderTypeLabel.text = order.orderType == "9" ? "canceled_text".localized() : "pickup_from_branch_text".localized() switch order.orderStatus { case "9" : orderStatusDateLabel.text = order.modifiedDate orderStatusDateTitleLabel.text = "order_canceled_date_text".localized() default : orderStatusDateLabel.text = order.recvDate orderStatusDateTitleLabel.text = "order_receive_date_text".localized() } } } // MARK: IBOutlets - value Label @IBOutlet weak var orderStatusLabel: UILabel! @IBOutlet weak var orderDetailContentView: UIView! @IBOutlet weak var receiverNameLabel: UILabel! @IBOutlet weak var pickupBranchLabel: UILabel! @IBOutlet weak var mobileNumberLabel: UILabel! @IBOutlet weak var productNameLabel: UILabel! @IBOutlet weak var productPointLabel: UILabel! @IBOutlet weak var orderDateLabel: UILabel! @IBOutlet weak var orderStatusDateLabel: UILabel! @IBOutlet weak var orderIDNumberLabel: UILabel! @IBOutlet weak var orderTypeLabel: UILabel! // MARK: IBOutlets - Title Label @IBOutlet weak var receiverNameTitleLabel: UILabel! @IBOutlet weak var pickupBranchTitleLabel: UILabel! @IBOutlet weak var mobileNumberTitleLabel: UILabel! @IBOutlet weak var productNameTitleLabel: UILabel! @IBOutlet weak var productPointTitleLabel: UILabel! @IBOutlet weak var orderDateTitleLabel: UILabel! @IBOutlet weak var orderStatusDateTitleLabel: UILabel! @IBOutlet weak var orderIDNumberTitleLabel: UILabel! @IBOutlet weak var orderTypeTitleLabel: UILabel! @IBOutlet weak var summaryView: UIView! // MARK: VC's Life cycle override func viewDidLoad() { super.viewDidLoad() setup() setMultiLanguage() } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) title = "detail_order_title_text".localized() } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) title = "" } // MARK: IBActions } // MARK: DetailOrderViewInterface extension DetailOrderViewController: DetailOrderViewInterface { func setOrder(_ order: Order?) { self.order = order } } // MARK: Other Functions extension DetailOrderViewController { private func setup() { // all setup should be done here presenter?.fetchOrder() summaryView.layer.cornerRadius = 5 navigationController?.interactivePopGestureRecognizer?.delegate = self navigationController?.interactivePopGestureRecognizer?.isEnabled = true } private func setMultiLanguage() { receiverNameTitleLabel.text = "receiver_text".localized() mobileNumberTitleLabel.text = "mobile_number_text".localized() pickupBranchTitleLabel.text = "pickup_banch_text".localized() productNameTitleLabel.text = "product_name_text".localized() productPointTitleLabel.text = "product_point_text".localized() orderIDNumberTitleLabel.text = "order_no_text".localized() orderDateTitleLabel.text = "order_date_text".localized() orderTypeTitleLabel.text = "order_type_text".localized() } } // MARK: - UIGestureRecognizerDelegate extension DetailOrderViewController: UIGestureRecognizerDelegate { func gestureRecognizer( _ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer ) -> Bool { return true } }