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.
 
 
 
 

142 lines
5.6 KiB

//
// 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()
}
}