// // LoadBalanceViewController.swift // GMERemittance // // Created by Fm-user on 3/14/18. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. // import UIKit class LoadBalanceViewController: PopUpSavingViewController { private final let secondInfoMessage = "You can transfer money to your GME Wallet from any nearest ATM or your Internet Banking." @IBOutlet weak var firstInfoInRedBG: UILabel! @IBOutlet weak var secondInfoInWhiteBG: UILabel! @IBOutlet weak var userNameLabelOutlet: UILabel! @IBOutlet weak var profileImageOutlet: UIImageView! override func viewDidLoad() { super.viewDidLoad() let walletNumber = UserDefaults.standard.string(forKey: "com.gmeremit.walletNumber") let bankName = UserDefaults.standard.string(forKey: "com.gmeremit.bankName") let fullName = UserDefaults.standard.string(forKey: "com.gmeremit.fullName")! if let dpUrl = UserDefaults.standard.string(forKey: "com.gmeremit.dpUrl"){ if dpUrl != ""{ userNameLabelOutlet.isHidden = true profileImageOutlet.isHidden = false profileImageOutlet.contentMode = .scaleAspectFit downloadImage(url: Foundation.URL(string: dpUrl)!) }else{ userNameLabelOutlet.isHidden = false profileImageOutlet.isHidden = true userNameLabelOutlet.layer.backgroundColor = UIColor(hex: 0x2e3192).cgColor userNameLabelOutlet.layer.cornerRadius = userNameLabelOutlet.frame.height / 2 userNameLabelOutlet.textAlignment = NSTextAlignment.center userNameLabelOutlet.textColor = UIColor.white userNameLabelOutlet.font = UIFont(name: "SanFranciscoText-Bold", size: 24) if let fullName = UserDefaults.standard.string(forKey: "com.gmeremit.fullName"){ self.userNameLabelOutlet.text = fullName.prefix(1).uppercased() } } } firstInfoMessage(sender: "\(String(describing: walletNumber!)) (\(String(describing: bankName!)))",userName: fullName) secondInfoInWhiteBG.text = self.secondInfoMessage } @IBAction func gotItAction(_ sender: Any) { self.dismissDialog() self.removeFromParentViewController() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } func dismissDialog() { self.navigationController?.navigationBar.isHidden = false self.tabBarController?.tabBar.isHidden = false UIView.animate(withDuration: 0.0, animations: { self.view.transform = CGAffineTransform(scaleX: 1.3, y: 1.3) self.view.alpha = 0.0; }, completion:{(finished : Bool) in if (finished) { self.view.removeFromSuperview() } }); } func firstInfoMessage(sender:String,userName:String){ let message: String = String("Hello, \(userName) your GME Wallet Number is ") let mutableMessage1 = NSMutableAttributedString(string: message) let attrs = [NSAttributedStringKey.font : UIFont.boldSystemFont(ofSize: 15)] let messageInBold = NSMutableAttributedString(string:sender, attributes:attrs) let mutableMessage = NSMutableAttributedString() mutableMessage.append(mutableMessage1) mutableMessage.append(messageInBold) firstInfoInRedBG.attributedText = mutableMessage } /** Image view property */ func setImage(image: UIImage){ profileImageOutlet.layer.borderWidth = 1.0 profileImageOutlet.layer.masksToBounds = false profileImageOutlet.layer.cornerRadius = profileImageOutlet.frame.size.width / 2 profileImageOutlet.clipsToBounds = true self.profileImageOutlet.image = image } func getDataFromUrl(url: URL, completion: @escaping (Data?, URLResponse?, Error?) -> ()) { URLSession.shared.dataTask(with: url) { data, response, error in completion(data, response, error) }.resume() } /** Download image of user through url */ func downloadImage(url: URL) { getDataFromUrl(url: url) { data, response, error in guard let data = data, error == nil else { return } DispatchQueue.main.async() { let roundedImage = UIImage(data: data) self.profileImageOutlet.image = roundedImage?.circleMasked } } } } extension UIImage { var isPortrait: Bool { return size.height > size.width } var isLandscape: Bool { return size.width > size.height } var breadth: CGFloat { return min(size.width, size.height) } var breadthSize: CGSize { return CGSize(width: breadth, height: breadth) } var breadthRect: CGRect { return CGRect(origin: .zero, size: breadthSize) } var circleMasked: UIImage? { UIGraphicsBeginImageContextWithOptions(breadthSize, false, scale) defer { UIGraphicsEndImageContext() } guard let cgImage = cgImage?.cropping(to: CGRect(origin: CGPoint(x: isLandscape ? floor((size.width - size.height) / 2) : 0, y: isPortrait ? floor((size.height - size.width) / 2) : 0), size: breadthSize)) else { return nil } UIBezierPath(ovalIn: breadthRect).addClip() UIImage(cgImage: cgImage, scale: 1, orientation: imageOrientation).draw(in: breadthRect) return UIGraphicsGetImageFromCurrentImageContext() } }