Advertisement
Guest User

Untitled

a guest
May 3rd, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. import RealmSwift
  2.  
  3. class Location : Object {
  4.  
  5. dynamic var ident = ""
  6. dynamic var package = ""
  7. dynamic var title = ""
  8. dynamic var is_selected = false
  9.  
  10. let contentSets = List<ContentSet>()
  11.  
  12. convenience init(ident : String, package: String, title : String, is_selected : Bool) {
  13. self.init()
  14. self.ident = ident
  15. self.package = package
  16. self.title = title
  17. self.is_selected = is_selected
  18. }
  19.  
  20. override static func primaryKey() -> String? {
  21. return "ident"
  22. }
  23.  
  24. func save() {
  25. let realm = try! Realm()
  26. try! realm.write {
  27. realm.add(self)
  28. }
  29. }
  30.  
  31. static func findAll() -> Results<Location> {
  32. return try! Realm().objects(Location)
  33. }
  34.  
  35. static func findByIdent(ident : String) -> Location?{
  36. return try! Realm().objects(Location).filter("ident == %@", ident).first as Location?
  37. }
  38.  
  39. static func getSelected() -> Location? {
  40. return try! Realm().objects(Location).filter("is_selected == true").first as Location?
  41. }
  42.  
  43. func hasContentSetByObject(contentSet : ContentSet) -> Bool {
  44. return self.hasContentSetByString(contentSet.ident)
  45. }
  46.  
  47. func addContentSet(contentSet: ContentSet) {
  48. let realm = try! Realm()
  49. try! realm.write {
  50. self.contentSets.append(contentSet)
  51. }
  52. }
  53.  
  54. func isSelected(value: Bool) {
  55. let realm = try! Realm()
  56.  
  57. let selectedLocation = Location.getSelected()
  58. selectedLocation?.isSelected(false)
  59.  
  60. try! realm.write {
  61. self.is_selected = value
  62. try! realm.commitWrite()
  63. }
  64. }
  65.  
  66. func hasContentSetByString(ident : String) -> Bool {
  67. let result = self.contentSets.filter{$0.ident == ident}.count > 0 ? true : false
  68. return result
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement