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.
 
 
 
 

103 lines
2.7 KiB

//
// RegisterViewController.swift
// GMERemittance
//
// Created by gme_2 on 10/09/2018.
//Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
//
import UIKit
class RegisterViewController: UIViewController {
// MARK: IBOutlets
@IBOutlet weak var emailTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var confirmPasswordTextfield: UITextField!
@IBOutlet weak var dobTextField: UITextField!
// MARK: Properties
let datePicker = UIDatePicker()
var presenter: RegisterModuleInterface?
// MARK: VC's Life cycle
override func viewDidLoad() {
super.viewDidLoad()
self.setup()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.setupPicturedNavBar()
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.navigationItem.title = ""
}
// MARK: IBActions
@IBAction func login(_ sender: UIButton) {
self.presenter?.login()
}
private func setupDatePicker() {
self.datePicker.datePickerMode = .date
self.dobTextField.inputView = datePicker
datePicker.maximumDate = Date()
self.datePicker.addTarget(self, action: #selector(handleDatePicker(sender:)), for: .valueChanged)
}
@objc private func handleDatePicker(sender: UIDatePicker) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
self.dobTextField.text = dateFormatter.string(from: sender.date)
}
@IBAction func register(_ sender: UIButton) {
let email = self.emailTextField.text!
let password = self.passwordTextField.text!
let dob = self.dobTextField.text!
let confirmPassword = self.confirmPasswordTextfield.text!
let model = RegisterRequestModel()
model.username = email
model.password = password
model.confirmPassword = confirmPassword
model.dob = dob
self.presenter?.register(model: model)
}
// MARK: Other Functions
private func setup() {
// all setup should be done here
self.setupPicturedNavBar()
self.setupDatePicker()
}
}
// MARK: RegisterViewInterface
extension RegisterViewController: RegisterViewInterface {
func showLoading() {
self.showProgressHud()
}
func hideLoading() {
self.hideProgressHud()
}
func show(error: String) {
self.alert(message: error)
}
func show(message: String) {
self.alertWithOk(message: message, title: "Success", okTitle: "Ok") {
self.presenter?.login()
}
}
}