hugh-h
10/18/2017 - 8:52 PM

UserDataService

Alamofire, DataService

class UserDataService {
    let dataService: DataService

    init(dataService:DataService) {
        self.dataService = dataService
    }
    
    static let sharedService = UserDataService(dataService: AppDataService.sharedService)
    
    func refresh() {
        DispatchQueue.global(qos: .utility).async { [unowned self] in
            let parameters: Parameters = ["results": "20"]
            Alamofire.request("https://randomuser.me/api/", parameters: parameters).responseJSON(queue: self.dataService.processQueue ){ [unowned self]  response in
                
                switch response.result {
                case .success(let value):
                    if let json = value as? [String:Any] {
                        let dataProcess = UserDataProcess(coreDataService: self.dataService.coreDataService)
                        dataProcess.updateUserList(payload: json)
                    }
                case .failure(let error):
                    print(error)
                }
            }
        }
    }
}