Files
Woka_Native_iOS/WOKA/Cart/ViewModel/AddressListVM.swift
BilalKhanWDI 357b683650 - Made address list view controller
- Made address cell
- Added address Get api.
- Completed create order api.
- updated to get the link url.
- Updated end points.
2024-07-25 20:06:58 +05:30

81 lines
2.8 KiB
Swift

//
// AddressListVM.swift
// WOKA
//
// Created by MacBook Pro on 25/07/24.
//
import UIKit
import Alamofire
class AddressListVM{
weak var vc : AddressListVC!
var addressData = [AddressListDM]()
func initView(){
vc.innerView.addBorderView(width: 1, color: .darkGray)
self.vc.title = "ADDRESS DETAILS".localized(loc: AuthFunc.shareInstance.languageSelected.rawValue)
addGradient()
setupCell()
getAddressListing()
}
func addGradient(){
self.vc.title = "PAYMENT OPTIONS".localized(loc: AuthFunc.shareInstance.languageSelected.rawValue)
let color1 = #colorLiteral(red: 0.6745098039, green: 0.6235294118, blue: 0.1725490196, alpha: 1)
let color2 = #colorLiteral(red: 0.5450980392, green: 0.6745098039, blue: 0.1725490196, alpha: 1)
vc.view.applyGradient(colors: [color2, color1], startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0.8, y: 0))
}
func setupCell(){
vc.tableView.register(UINib(nibName: K.CellIdentifier.Cart.addressCell, bundle: nil), forCellReuseIdentifier: K.CellIdentifier.Cart.addressCell)
vc.tableView.delegate = vc.self
vc.tableView.dataSource = vc.self
}
// MARK: - Get Address list
func getAddressListing(){
let headers : HTTPHeaders = ["access-token" : AuthFunc.shareInstance.getAccessToken()]
NetworkManager.shareInstance.apiRequest(url: APIEndPoints.Cart.parent_address_listing, method: .get,headers: headers) { [weak self](result : Result<BaseResponseModel<[AddressListDM]>, NetworkManager.APIError>) in
switch result{
case .success(let data):
guard let self else{
Utilities.dismissProgressHUD()
return
}
switch data.success{
case 0:
/*
Error
*/
Utilities.dismissProgressHUD()
case 1:
Utilities.dismissProgressHUD()
guard let data = data.data else{return}
self.addressData = data
self.vc.tableView.reloadData()
print(data)
default:
Utilities.dismissProgressHUD()
break
}
case .failure(let error):
guard let self else{
Utilities.dismissProgressHUD()
return
}
Utilities.dismissProgressHUD()
Utilities.alertWithBtnCompletion(title: "Error", msgBody: error.localizedDescription, okBtnStr: "Retry?", vc: self.vc) { isDone in
if isDone{
self.getAddressListing()
}
}
}
}
}
}