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.
216 lines
7.5 KiB
216 lines
7.5 KiB
//
|
|
// WalletSuccessViewController.swift
|
|
// GMERemittance
|
|
//
|
|
// Created by Sujal on 3/1/18.
|
|
// Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class WalletSuccessViewController: UIViewController {
|
|
|
|
|
|
|
|
@IBOutlet weak var buttonTopConstraint: NSLayoutConstraint!
|
|
@IBOutlet weak var viewDetailsHeightConstraint: NSLayoutConstraint!
|
|
@IBOutlet weak var viewDetailsTopConstraint: NSLayoutConstraint!
|
|
@IBOutlet weak var labelSuccessHeading: UILabel!
|
|
@IBOutlet weak var labelSuccessDescription: UILabel!
|
|
@IBOutlet weak var labelUserID: UILabel!
|
|
@IBOutlet weak var labelUserName: UILabel!
|
|
@IBOutlet weak var labelSuccessAmount: UILabel!
|
|
@IBOutlet weak var labelTransactionDate: UILabel!
|
|
@IBOutlet weak var labelTransactionNumber: UILabel!
|
|
@IBOutlet weak var viewDetails: UIView!
|
|
@IBOutlet weak var buttonSave: UIButton!
|
|
|
|
private var webView: UIWebView
|
|
private var pdfComposer: PdfComposer!
|
|
private var HTMLContent: String!
|
|
public var walletviewmodel: WalletViewModel?
|
|
public var transaction: Transaction?
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
|
|
|
|
guard transaction == nil else {
|
|
setupTransactionStatementDetails()
|
|
return
|
|
}
|
|
|
|
setUpNavBar(id: 203, title: "Wallet to Wallet Transfer")
|
|
|
|
guard walletviewmodel != nil else {
|
|
self.popUpMessageInfo(value: 16, title: "No data", message: "Data not received")
|
|
return
|
|
}
|
|
|
|
if walletviewmodel?.getModeIndex() == 1 {
|
|
viewDetails.isHidden = true
|
|
buttonTopConstraint.constant = buttonTopConstraint.constant - viewDetailsHeightConstraint.constant - viewDetailsTopConstraint.constant
|
|
}
|
|
|
|
let numberFormatter = NumberFormatter()
|
|
numberFormatter.numberStyle = NumberFormatter.Style.decimal
|
|
|
|
if let amount = walletviewmodel?.getAmount(){
|
|
let amountNumber = Float(amount)! as NSNumber
|
|
if let mode = walletviewmodel?.getModeIndex(){
|
|
switch mode {
|
|
case 0:
|
|
setTransferMessage(amountNumber: amountNumber,numberFormatter: numberFormatter)
|
|
case 1:
|
|
setRequestMessage(amountNumber: amountNumber,numberFormatter: numberFormatter)
|
|
default:
|
|
return
|
|
|
|
}
|
|
}
|
|
}
|
|
if let date = walletviewmodel?.getTransactionResult().date{
|
|
labelTransactionDate.text = unixTimeStampToDate(unixTimeStamp: date)
|
|
}
|
|
if let transactionId = walletviewmodel?.getTransactionResult().transactionId{
|
|
labelTransactionNumber.text = transactionId
|
|
}
|
|
|
|
|
|
}
|
|
|
|
/**
|
|
Request loan layout
|
|
- parameter amountNumber: amount asked for a loan
|
|
- parameter numberFormatter: object of NumberFormatter
|
|
*/
|
|
func setRequestMessage(amountNumber: NSNumber, numberFormatter: NumberFormatter){
|
|
labelSuccessHeading.text = "Request Successful"
|
|
labelSuccessDescription.text = "Your request for loan has been successfully sent to"
|
|
if let gmeId = walletviewmodel?.getGMEID(){
|
|
labelUserID.text = gmeId
|
|
}
|
|
if let fullName = walletviewmodel?.getFullName(){
|
|
labelUserName.text = "(" + fullName + ")"
|
|
}
|
|
labelSuccessAmount.text = "Total Amount: " + numberFormatter.string(from: amountNumber)! + " KRW"
|
|
}
|
|
|
|
/**
|
|
Transfer money layout'
|
|
- parameter amountNumber: amount transferred to others account
|
|
- parameter numberFormatter: object of NumberFormatter
|
|
*/
|
|
func setTransferMessage(amountNumber: NSNumber,numberFormatter: NumberFormatter){
|
|
labelSuccessHeading.text = "Transfer Successful"
|
|
labelSuccessDescription.text = "You have successfully transferred your money to"
|
|
if let gmeId = walletviewmodel?.getGMEID(){
|
|
labelUserID.text = gmeId
|
|
}
|
|
if let username = walletviewmodel?.getFullName(){
|
|
labelUserName.text = "(" + username + ")"
|
|
}
|
|
labelSuccessAmount.text = "Total Amount: " + numberFormatter.string(from: amountNumber)! + " KRW"
|
|
}
|
|
|
|
/**
|
|
Set transaction statement details
|
|
*/
|
|
func setupTransactionStatementDetails() {
|
|
setUpNavBar(id: 204, title: "Transaction Statement")
|
|
|
|
setUpHeaderMessage(transaction: transaction!)
|
|
|
|
if let payoutAmountOriginal = transaction?.payoutAmountOriginal{
|
|
labelSuccessAmount.text = "Total Amount: " + getCommaAddedAmountString(amountString: payoutAmountOriginal)
|
|
}
|
|
if let date = transaction?.date{
|
|
labelTransactionDate.text = unixTimeStampToDate(unixTimeStamp: date)
|
|
}
|
|
if let transactionId = transaction?.transactionId{
|
|
labelTransactionNumber.text = transactionId
|
|
}
|
|
}
|
|
|
|
/**
|
|
Set up header message
|
|
- parameter transaction: object of class name Transaction
|
|
*/
|
|
func setUpHeaderMessage(transaction: Transaction) {
|
|
switch transaction.transactionType {
|
|
|
|
case "sent":
|
|
labelSuccessHeading.text = "Transfer Successful"
|
|
labelSuccessDescription.text = "You have successfully transferred your money to"
|
|
labelUserID.text = transaction.receiverId
|
|
if let receiverName = transaction.receiverName{
|
|
labelUserName.text = receiverName
|
|
}
|
|
case "received":
|
|
labelSuccessHeading.text = "Money Transfer"
|
|
labelSuccessDescription.text = "You have received money from"
|
|
labelUserID.text = transaction.userId
|
|
if let senderName = transaction.senderName{
|
|
labelUserName.text = senderName
|
|
}
|
|
default:
|
|
return
|
|
}
|
|
}
|
|
|
|
override func didReceiveMemoryWarning() {
|
|
super.didReceiveMemoryWarning()
|
|
// Dispose of any resources that can be recreated.
|
|
}
|
|
|
|
required init?(coder aDecoder: NSCoder) {
|
|
self.webView = UIWebView(frame: CGRect.zero)
|
|
super.init(coder: aDecoder)
|
|
}
|
|
|
|
/**
|
|
Save wallet transaction view into pdf
|
|
*/
|
|
@IBAction func saveWalletTransactionPdf(_ sender: Any) {
|
|
pdfComposer = PdfComposer()
|
|
|
|
let pdfDetails: [String: String] = ["TXDATE": labelTransactionDate.text!,
|
|
"TXNUMBER": labelTransactionNumber.text!,
|
|
"AMOUNT": "50,000 KRW"]
|
|
|
|
|
|
if let pdfHTML = pdfComposer.renderPdfWallet(pdfDetails: pdfDetails) {
|
|
|
|
webView = UIWebView(frame: CGRect(x: 0, y: 0, width: 10, height: 10))
|
|
view.addSubview(webView)
|
|
webView.delegate = self
|
|
|
|
|
|
webView.alpha = 0
|
|
webView.loadHTMLString(pdfHTML, baseURL: nil)
|
|
|
|
HTMLContent = pdfHTML
|
|
}
|
|
|
|
}
|
|
|
|
@IBAction func showHomeScreen(_ sender: Any) {
|
|
goToHomeScreen()
|
|
}
|
|
|
|
}
|
|
|
|
|
|
extension WalletSuccessViewController: UIWebViewDelegate {
|
|
|
|
func webViewDidFinishLoad(_ webView: UIWebView) {
|
|
|
|
if self.pdfComposer.exportHTMLContentToPDF(HTMLContent: self.HTMLContent) {
|
|
self.popUpMessageInfo(value: 16, title: "File Saved", message: "File is in Documents folder")
|
|
} else {
|
|
self.popUpMessageInfo(value: 16, title: "Something went wrong", message: "File not saved")
|
|
}
|
|
|
|
}
|
|
}
|
|
|