Skip to content

Instantly share code, notes, and snippets.

@alexfaber2011
Created August 11, 2015 16:44
Show Gist options
  • Save alexfaber2011/2a4848ae5c55b83b0681 to your computer and use it in GitHub Desktop.
Save alexfaber2011/2a4848ae5c55b83b0681 to your computer and use it in GitHub Desktop.
[weak self]
func startLoad() {
ReachabilityManager.performOperationOnceReachable("SelfServiceViewController", onConnectionBlock: {
let rkObjectManager = RKObjectManager.sharedManager()
let dndFetchOperation = AFJSONRequestOperation(request: rkObjectManager.HTTPClient.requestWithMethod("GET", path: "users/\(AppPreferences.userId())/extensions/b77bb090-2fde-11e5-80c4-56847afe9799", parameters: nil))
let devicesFetchOperation = rkObjectManager.appropriateObjectRequestOperationWithObject(nil, method: .GET, path: "users/\(AppPreferences.userId())/devices", parameters: ["limit": 1000]) as! RKObjectRequestOperation
rkObjectManager.enqueueBatchOfObjectRequestOperations([devicesFetchOperation, dndFetchOperation], progress: nil, completion: { [weak self] operations -> Void in
let hasError = devicesFetchOperation.error != nil || dndFetchOperation.error != nil
if hasError {
if !devicesFetchOperation.cancelled && !dndFetchOperation.cancelled {
return
}
self?.showFetchErrorMessage()
} else {
let dndJSON = dndFetchOperation.responseJSON as? [String: AnyObject]
if let config = dndJSON?["config"] as? [String: AnyObject] {
if let simple = config["simple"] as? [String: AnyObject] {
let start = simple["start"] as? String
let end = simple["end"] as? String
self?.beginCellView.textField.text = UTCHelper.UTCToLocal(start)
self?.endCellView.textField.text = UTCHelper.UTCToLocal(end)
self?.serverStartDNDTime = start
self?.serverEndDNDTime = end
self?.dndEnabled = self?.serverStartDNDTime != nil && self?.serverEndDNDTime != nil
self?.toggleDoNotDisturbView((self?.toggleDndButton)!)
}
}
self?.userDevices = devicesFetchOperation.mappingResult.array() as? [UserDevice]
self?.setInitialValues()
UIView.animateWithDuration(0.3, animations: {
if self?.loadingView != nil {
self?.loadingView.alpha = 0.0
self?.mainScrollView.alpha = 1.0
}
}, completion: {
finished in
if self?.loadingView != nil {
self?.loadingView.removeFromSuperview()
}
self?.mainScrollView.hidden = false
})
}
})
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment