Skip to content

Instantly share code, notes, and snippets.

@cristibaluta
Created April 23, 2017 10:13
Show Gist options
  • Save cristibaluta/cd96513cfe0f9df83a5e41ba45fa5c2f to your computer and use it in GitHub Desktop.
Save cristibaluta/cd96513cfe0f9df83a5e41ba45fa5c2f to your computer and use it in GitHub Desktop.
func deleteTask (_ task: Task, forceDelete: Bool, completion: @escaping ((_ success: Bool) -> Void)) {
cktaskOfTask(task) { (record) in
if let cktask = record {
self.privateDB.delete(withRecordID: cktask.recordID, completionHandler: { (recordID, error) in
completion(error != nil)
})
} else {
completion(false)
}
}
}
func saveTask (_ task: Task, completion: @escaping ((_ task: Task) -> Void)) {
// Query for the task from server if exists
cktaskOfTask(task) { (record) in
var cktask: CKRecord? = record
if record == nil {
cktask = CKRecord(recordType: "Task", recordID: CKRecordID(recordName: task.objectId, zoneID: self.customZone.zoneID))
}
cktask?["startDate"] = task.startDate as CKRecordValue?
cktask?["endDate"] = task.endDate as CKRecordValue
cktask?["notes"] = task.notes as CKRecordValue?
cktask?["taskNumber"] = task.taskNumber as CKRecordValue?
cktask?["taskTitle"] = task.taskTitle as CKRecordValue?
cktask?["taskType"] = task.taskType.rawValue as CKRecordValue
cktask?["objectId"] = task.objectId as CKRecordValue
self.privateDB.save(cktask!, completionHandler: { savedRecord, error in
if let record = savedRecord {
let uploadedTask = self.taskFromCKTask(record)
completion(uploadedTask)
}
})
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment