// // EarnedViewController.swift // GMERemittance // // Created by FMI-12 on 3/1/18. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. // import UIKit class EarnedViewController: UIViewController { @IBOutlet weak var tableViewPending: UITableView! @IBOutlet weak var tableViewEarned: UITableView! @IBOutlet weak var segmentedControl: UISegmentedControl! private var activeInviteeCount = 0 public var bonusStatus: Bool? private var tableViewSelected: UITableView! public var inviteeArray = [InviteeModel]() private var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView() override func viewDidLoad() { super.viewDidLoad() setUpNavBar(id: 201, title: "Invite") self.tableViewPending.estimatedRowHeight = 119 self.tableViewPending.rowHeight = UITableViewAutomaticDimension self.tableViewEarned.estimatedRowHeight = 119 self.tableViewEarned.rowHeight = UITableViewAutomaticDimension /* if bonusStatus is true opens Pending table view else opens Earned table view */ if bonusStatus!{ tableViewEarned.isHidden = true tableViewPending.isHidden = false segmentedControl.selectedSegmentIndex = 0 } else { tableViewPending.isHidden = true tableViewEarned.isHidden = false segmentedControl.selectedSegmentIndex = 1 } segmentedControl.addTarget(self, action: #selector(inviteStatus(_:)), for: .valueChanged) if self.inviteeArray.count > 0{ for i in inviteeArray[0.. UIColor{ //Generate between 0 to 1 let red: CGFloat = CGFloat(drand48()) let green: CGFloat = CGFloat(drand48()) let blue: CGFloat = CGFloat(drand48()) return UIColor(red:red, green: green, blue: blue, alpha: 1.0) } /** Dialog to display detail information of invitee - Parameter initialLetter : Initial letter of a invitee name - Parameter inviteeName : Name of a invitee - Parameter inviteeNumber : Contact number of invitee - Parameter inviteeEmail : Email address of invitee */ func inviteeDetail(initialLetter: String, inviteeName: String, inviteeNumber: String, inviteeEmail: String){ guard let navController = self.navigationController else { return } let popUpViewController = UIStoryboard(name: "Invite", bundle: nil).instantiateViewController(withIdentifier: "PopUpInviteeDetail") as! PopUpInviteeDetail popUpViewController.initial = initialLetter popUpViewController.inviteeName = inviteeName popUpViewController.mobileNo = inviteeNumber popUpViewController.email = inviteeEmail navController.addChildViewController(popUpViewController) popUpViewController.view.frame = navController.view.bounds navController.view.addSubview(popUpViewController.view) popUpViewController.didMove(toParentViewController: navController) } } extension EarnedViewController: UITableViewDelegate, UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if tableView == tableViewPending{ return inviteeArray.count } else{ return activeInviteeCount } } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { if tableView == tableViewPending { let cell = tableView.dequeueReusableCell(withIdentifier: "pendingList", for: indexPath) as! PendingTableViewCell cell.labelInitial.layer.cornerRadius = cell.labelInitial.frame.size.width/2 cell.labelInitial.backgroundColor = getRandomColor() cell.layer.borderColor = UIColor(red:0.91, green:0.93, blue:0.95, alpha:1.0).cgColor cell.layer.borderWidth = 1 cell.layer.cornerRadius = 10 cell.clipsToBounds = true if (inviteeArray[indexPath.row].name) != nil{ cell.labelInitial.text = inviteeArray[indexPath.row].name.prefix(1).uppercased() } if let inviteeName = inviteeArray[indexPath.row].name{ cell.labelInviteeName.text = inviteeName } return cell } else { let cellEarned = tableView.dequeueReusableCell(withIdentifier: "earnedList", for: indexPath) as! EarnedTableViewCell cellEarned.layer.borderColor = UIColor(red:0.91, green:0.93, blue:0.95, alpha:1.0).cgColor cellEarned.layer.borderWidth = 1 cellEarned.layer.cornerRadius = 10 cellEarned.clipsToBounds = true if inviteeArray[indexPath.row].status == "active" { if let inviteeStatus = inviteeArray[indexPath.row].status{ cellEarned.labelStatus.text = inviteeStatus } if (inviteeArray[indexPath.row].name) != nil{ cellEarned.labelName.text = inviteeArray[indexPath.row].name } if let inviteeMobileNumber = inviteeArray[indexPath.row].mobileNumber{ cellEarned.labelMobileNo.text = inviteeMobileNumber } } return cellEarned } } /** // MARK: empty variable condition is handle in PopUpInviteeDetail */ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { if tableView == tableViewPending { let initalLetter = inviteeArray[indexPath.row].name.prefix(1).uppercased() let inviteeName = inviteeArray[indexPath.row].name let inviteeNumber = inviteeArray[indexPath.row].mobileNumber let inviteeEmail = inviteeArray[indexPath.row].email inviteeDetail(initialLetter: initalLetter, inviteeName: inviteeName!, inviteeNumber: inviteeNumber!, inviteeEmail: inviteeEmail!) } } }