You are on page 1of 2

//

// ReportAnIssueVC.swift
// matrimonyy
//
// Created by Sagar Upadhyay on 11/04/21.
// Copyright © 2021 iOS Developer. All rights reserved.
//

import UIKit

class ReportAnIssueVC: UIViewController {


@IBOutlet weak var ansTextView: UITextView!
@IBOutlet weak var issueTopicLabel: UILabel!
let objIssuesListParameters = IssuesParameters()
var issuesTypeId = 0
override func viewDidLoad() {
super.viewDidLoad()
navigationBarColor()
setBackButton(false)
setNavigationBarTitle("Report An Issue", isblackcolor: true)
ListPopupVC.instance.setListener(listener: self)
}

@IBAction func suggestionOptionButtonAction(_ sender: Any) {


getIssuesType()
}

@IBAction func submitButtonAction(_ sender: Any) {


if ansTextView.text == "" || issueTopicLabel.text == "" {
showToast(message: AlertIdentifier.fillAllData)
}else{
callReportIssueAPI()
}
}

//MARK:- Api Calls


extension ReportAnIssueVC{

func getIssuesType(){
let token = Util.userDefault.string(forKey: UserDefaultIdentifier.token) ??
""
let url = MySingleton.sharedInstance.baseURL + ApiConstant.GetIssueType
let parameters = ["":""]
print(url)

requestGETURL(url, VC: self, params:parameters as [String : AnyObject],


isShowProgressBar: true, token: token ,success:{ (data)in
print(data)
let list = data.arrayObject
if list?.count != 0{
self.objIssuesListParameters.IssueList.removeAll()
self.objIssuesListParameters.getResponse(list! as NSArray)
let vc = UIStoryboard.init(name: "Main", bundle:
Bundle.main).instantiateViewController(withIdentifier:
StoryboardIdentifier.ListPopupVC) as? ListPopupVC
vc?.vcTitle = PopupIdentifier.selectAnIssues
vc?.list = self.objIssuesListParameters.IssueList.map { ($0.name ??
"") }
self.navigationController?.present(vc!, animated: true, completion:
nil)
}
}) { (error) in
print(error)
}
}

func callReportIssueAPI(){
let ans = ansTextView.text!.addingPercentEncoding(withAllowedCharacters:
.urlQueryAllowed) ?? ""
let memberID = Util.userDefault.integer(forKey:
UserDefaultIdentifier.memberid)
let token = Util.userDefault.string(forKey: UserDefaultIdentifier.token) ??
""
let url = MySingleton.sharedInstance.baseURL + ApiConstant.ReportIssue +
"/\(memberID)?IssueType=\(issuesTypeId)&Description=\(ans)"
let parameters = ["":""]
print(url)

requestPOSTURL(url, VC: self, params:parameters as [String : AnyObject],


isShowProgressBar: true, token: token ,success:{ (data)in
print(data)
let vc = UIStoryboard.init(name: "Main", bundle:
Bundle.main).instantiateViewController(withIdentifier:
StoryboardIdentifier.ReportedIssueListVC) as? ReportedIssueListVC
self.navigationController?.pushViewController(vc!, animated: true)
}) { (error) in
print(error)
}
}
}

// popup value
extension ReportAnIssueVC:ListPopupVCDelegate{
func selectedRow(_ Index: String) {
if Index != ""{
// let list = self.objIssuesListParameters.IssueList.map { ($0.name ??
"") }
issueTopicLabel.text = objIssuesListParameters.IssueList[Int(Index) ??
0].name
issuesTypeId = objIssuesListParameters.IssueList[Int(Index) ??
0].code ?? 0
}
}

You might also like