|
|
|
|
@ -36,15 +36,15 @@ extension NSManagedObjectContext { |
|
|
|
|
|
|
|
|
|
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Record") |
|
|
|
|
|
|
|
|
|
let basePredicate = NSPredicate(format: "start != nil") |
|
|
|
|
|
|
|
|
|
let basePredicate = NSPredicate(format: "start != nil AND activity = %@", activity) |
|
|
|
|
var predicates: [NSPredicate] = [] |
|
|
|
|
predicates.append(basePredicate) |
|
|
|
|
predicates.append(NSPredicate(format: "activity = %@", activity)) |
|
|
|
|
if let filter { |
|
|
|
|
predicates.append(filter.predicate) |
|
|
|
|
} |
|
|
|
|
fetchRequest.predicate = NSCompoundPredicate.init(andPredicateWithSubpredicates: predicates) |
|
|
|
|
let finalPredicate = NSCompoundPredicate(andPredicateWithSubpredicates: predicates) |
|
|
|
|
|
|
|
|
|
fetchRequest.predicate = finalPredicate |
|
|
|
|
fetchRequest.propertiesToFetch = expressions |
|
|
|
|
fetchRequest.resultType = NSFetchRequestResultType.dictionaryResultType |
|
|
|
|
|
|
|
|
|
@ -77,10 +77,9 @@ extension NSManagedObjectContext { |
|
|
|
|
|
|
|
|
|
if let value { |
|
|
|
|
let request = Record.fetchRequest() |
|
|
|
|
if let filter { |
|
|
|
|
request.predicate = NSCompoundPredicate(andPredicateWithSubpredicates: [basePredicate, filter.predicate]) |
|
|
|
|
request.sortDescriptors = [NSSortDescriptor(key: "start", ascending: true)] |
|
|
|
|
} |
|
|
|
|
request.predicate = finalPredicate |
|
|
|
|
request.sortDescriptors = [NSSortDescriptor(key: "start", ascending: true)] |
|
|
|
|
|
|
|
|
|
let records: [Record] = try self.fetch(request) |
|
|
|
|
|
|
|
|
|
let points: [Point] = records.compactMap { $0.point(stat:stat) } |
|
|
|
|
|