// // RecommendProductExt.swift // Bhagyashree // // Created by SunarcMAC on 09/07/18. // Copyright © 2018 Sunarc. All rights reserved. // import Foundation extension RecommendProduct { func getProducts(success: @escaping () -> Void, failuer: @escaping (_ message: String) -> Void) { self.currentPage = 1 self.products = [RecommendProduct]() self.productsForPage(success: success, failure: failuer) } func nextPage(success: @escaping () -> Void, failuer: @escaping (_ message: String) -> Void) { if self.currentPage >= self.maxPage { failuer("No more records") return } self.currentPage = self.currentPage + 1 self.productsForPage(success: success, failure: failuer) } private func productsForPage(success: @escaping () -> Void, failure: @escaping (_ errorMessage: String) -> Void) { let paramenters: [String: Any] = ["merchantId": User.customerId, "searchterm": searchterm, "storeId": UserDefaults.standard.value(forKey: "storeId") as! String ] HTTP().connectionWithRequestObject(api: API.RECOMEND_PRODUCTS + "\(currentPage)", parameters: paramenters, method: .post, indicator: false, success: { (response) in if let arrayData = response as? [[String: Any]] { if arrayData.count > 0 { if let products = arrayData[0]["data"] as? [[String: Any]] { for productJSON in products { let product = RecommendProduct() product.initWithJSON(json: productJSON) self.products.append(product) } } if let pagingInfo = arrayData[0]["paging"] as? [String: Any] { if let total_page = pagingInfo["total_page"] as? Int { self.maxPage = total_page } } } } success() }, failure: { (errorMessage) in failure(errorMessage) }) } }