50 lines
1.1 KiB
Swift
50 lines
1.1 KiB
Swift
import Foundation
|
|
import CoreData
|
|
|
|
public struct Vehicle: Decodable {
|
|
|
|
let number: String
|
|
let currentNumber: String?
|
|
let brand: VBrand?
|
|
|
|
// TODO: Remove code duplication
|
|
public var unrecognized: Bool {
|
|
return self.brand == nil
|
|
}
|
|
|
|
public var outdated: Bool {
|
|
if let current = self.currentNumber {
|
|
return current != self.number
|
|
} else {
|
|
return false
|
|
}
|
|
}
|
|
}
|
|
|
|
extension CDVehicle {
|
|
|
|
convenience init(vehicle: Vehicle, context: NSManagedObjectContext) {
|
|
|
|
self.init(context: context)
|
|
self.number = vehicle.number
|
|
self.currentNumber = vehicle.currentNumber
|
|
|
|
if let vbrand = vehicle.brand {
|
|
self.brand = CDVBrand(vbrand: vbrand, context: context)
|
|
}
|
|
}
|
|
|
|
public var unrecognized: Bool {
|
|
return self.brand == nil
|
|
}
|
|
|
|
public var outdated: Bool {
|
|
if let current = self.currentNumber {
|
|
return current != self.number
|
|
} else {
|
|
return false
|
|
}
|
|
}
|
|
|
|
}
|