// // PengisianSurveyPresenter.swift // Sirani // // Created by Anhar Solehudin on 14/04/19. // Copyright © 2019 Anhar Solehudin. All rights reserved. // import Foundation import SwiftyJSON class PengisianSurveyPresenter { private let siraniApiServices: SiraniApiServices weak private var view: PengisianSurveyViewDelegate? init(siraniApiServices: SiraniApiServices) { self.siraniApiServices = siraniApiServices } func attachView(view: PengisianSurveyViewDelegate?) { self.view = view } func detachView() { self.view = nil } func loadPertanyaan() { self.view?.showLoading() siraniApiServices.postToGetPertanyaanSurvey(cursor: 0, prev: 0, search: "").responseJSON { response in if response.error == nil { guard let data = response.data else { return } if let json = try? JSON(data: data) { let pertanyaan = json["pertanyaan_pg"].stringValue self.view?.hideLoading() self.view?.setPertanyaan(pertanyaan: pertanyaan) } } } } func loadListJawaban() { self.view?.showLoading() var dataList = [SurveyList]() siraniApiServices.postToGetListJawabanSurvey(cursor: 0, prev: 0, search: "").responseJSON { response in if response.error == nil { guard let data = response.data else { return } if let json = try? JSON(data: data) { if let data = json["data"].array { if data.count > 0 { for item in data { let data = SurveyList( id_jawaban: item["id_jawaban"].intValue, survey_id: item["survey_id"].intValue, nama_survey: item["nama_survey"].stringValue, nama_jawaban: item["nama_jawaban"].stringValue ) dataList.append(data) } self.view?.hideLoading() self.view?.setJawabanList(jawabanList: dataList) } } } } } } func saveAnswer(survey_id: Int, jawaban: Int) { self.view?.showLoading() // TODO : Get Id from User Sessions var custId = 0 var userId = 0 let savedCustId = UserState.instance.getCustId() if savedCustId > 0 { custId = savedCustId } let savedUserId = UserState.instance.getUserId() if savedUserId > 0 { userId = savedUserId } siraniApiServices.postJawabanSurvey(user_id: userId, cust_id: custId, survey_id: survey_id, jawaban: jawaban).responseJSON { response in if response.error == nil { guard let data = response.data else { return } if let json = try? JSON(data: data) { let msgbox = json["msgbox"].stringValue self.view?.hideLoading() self.view?.onSaveSuccess(msg: msgbox) } } else { self.view?.hideLoading() self.view?.onSaveFailed() } } } }