Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Swift by Mohan_C ( 8 years ago )
/
func saveInCoreDataCentersWith(array: [[String: AnyObject]], saveWithCompletionHandler: @escaping (Bool,String) -> ()) {
self.clearResponsibilityCentersData()
CoreDataManager.sharedManager.persistentContainer.viewContext.perform{
_ = array.map{
self.createResponsibilityCentersEntityFrom(dictionary: $0, completionHandler: { (isCompleted, isErrorMgs) in
})
}
do {
try CoreDataManager.sharedManager.persistentContainer.viewContext.save()
saveWithCompletionHandler(true,"All the data saved")
} catch let error {
saveWithCompletionHandler(false,error.localizedDescription)
}
}
}
// Clear all Data from DB
private func clearData() {
do {
let context = CoreDataManager.sharedManager.persistentContainer.viewContext
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: String(describing: ResponsibilityCenters.self))
do {
let objects = try context.fetch(fetchRequest) as? [NSManagedObject]
_ = objects.map{$0.map{context.delete($0)}}
CoreDataManager.sharedManager.saveContext()
} catch let error {
print("ERROR DELETING : \(error)")
}
}
}
// Insert data to LOcalDB
private func createResponsibilityCentersEntityFrom(dictionary: [String: AnyObject],completionHandler: @escaping (Bool,String)->()) -> NSManagedObject? {
let context = CoreDataManager.sharedManager.persistentContainer.viewContext
if let CentersEntity = NSEntityDescription.insertNewObject(forEntityName: "ResponsibilityCenters", into: context) as? ResponsibilityCenters {
CentersEntity.center = dictionary["Center"] as? String
CentersEntity.companyID = (dictionary["CompanyID"] as? Int16)!
CentersEntity.createdBy = dictionary["CreatedBy"] as? String
CentersEntity.createdDate = dictionary["CreatedDate"] as? String
CentersEntity.iD = (dictionary["ID"] as? Int16)!
CentersEntity.inspections = dictionary["Inspections"] as? NSData
CentersEntity.updateDate = dictionary["UpdateDate"] as? String
CentersEntity.updatedBy = dictionary["UpdatedBy"] as? String
return CentersEntity
}
completionHandler(false,"failed")
return nil
}
Revise this Paste