2 // LocalDataStoreAccessor.swift
5 // Created by Hori,Masaki on 2017/10/25.
6 // Copyright © 2017年 Hori,Masaki. All rights reserved.
11 extension LocalDataStore {
13 func unmarkedDropShipHistories(befor days: Int) -> [DropShipHistory] {
15 let date = Date(timeIntervalSinceNow: TimeInterval(-1 * days * 24 * 60 * 60))
16 let predicate = Predicate(\DropShipHistory.date, lessThan: date)
18 Predicate(false: \DropShipHistory.mark)
19 .or(Predicate(isNil: \DropShipHistory.mark))
21 .and(Predicate(\DropShipHistory.mapArea, in: ["1", "2", "3", "4", "5", "6", "7", "8", "9"]))
23 guard let dropHistories = try? objects(of: DropShipHistory.entity, predicate: predicate) else {
31 func createDropShipHistory(from: HiddenDropShipHistory) -> DropShipHistory? {
33 guard let new = insertNewObject(for: DropShipHistory.entity) else {
35 Logger.shared.log("Can not create DropShipHistory")
40 new.shipName = from.shipName
41 new.mapArea = from.mapArea
42 new.mapAreaName = from.mapAreaName
43 new.mapInfo = from.mapInfo
44 new.mapInfoName = from.mapInfoName
45 new.mapCell = from.mapCell
46 new.winRank = from.winRank
52 func kaihatuHistories() -> [KaihatuHistory] {
54 guard let kaihatuHistories = try? objects(of: KaihatuHistory.entity) else {
59 return kaihatuHistories
62 func unmarkedKaihatuHistories(befor days: Int) -> [KaihatuHistory] {
64 let date = Date(timeIntervalSinceNow: TimeInterval(-1 * days * 24 * 60 * 60))
65 let predicate = Predicate(\KaihatuHistory.date, lessThan: date)
67 Predicate(false: \KaihatuHistory.mark)
68 .or(Predicate(isNil: \KaihatuHistory.mark))
71 guard let kaihatuHistories = try? objects(of: KaihatuHistory.entity, predicate: predicate) else {
76 return kaihatuHistories
79 func createKaihatuHistory() -> KaihatuHistory? {
81 return insertNewObject(for: KaihatuHistory.entity)
84 func kenzoMark(byDockId dockId: Int) -> KenzoMark? {
86 let predicate = Predicate(\KenzoMark.kDockId, equalTo: dockId)
88 guard let kenzoMarks = try? objects(of: KenzoMark.entity, predicate: predicate) else {
93 return kenzoMarks.first
96 func kenzoMark(docInfo: KenzoMarkCommand.KenzoDockInfo) -> KenzoMark? {
98 let predicate = Predicate(\KenzoMark.kDockId, equalTo: docInfo.dockId)
99 .and(Predicate(\KenzoMark.fuel, equalTo: docInfo.fuel))
100 .and(Predicate(\KenzoMark.bull, equalTo: docInfo.bull))
101 .and(Predicate(\KenzoMark.steel, equalTo: docInfo.bull))
102 .and(Predicate(\KenzoMark.bauxite, equalTo: docInfo.bauxite))
103 .and(Predicate(\KenzoMark.kaihatusizai, equalTo: docInfo.kaihatusizai))
104 .and(Predicate(\KenzoMark.created_ship_id, equalTo: docInfo.shipId))
106 guard let kenzoMarks = try? objects(of: KenzoMark.entity, predicate: predicate) else {
111 return kenzoMarks.first
114 func createKenzoMark() -> KenzoMark? {
116 return insertNewObject(for: KenzoMark.entity)
119 func unmarkedKenzoHistories(befor days: Int) -> [KenzoHistory] {
121 let date = Date(timeIntervalSinceNow: TimeInterval(-1 * days * 24 * 60 * 60))
122 let predicate = Predicate(\KenzoHistory.date, lessThan: date)
124 Predicate(\KenzoHistory.mark, equalTo: false)
125 .or(Predicate(isNil: \KenzoHistory.mark))
128 guard let kenzoHistories = try? objects(of: KenzoHistory.entity, predicate: predicate) else {
133 return kenzoHistories
136 func createKenzoHistory() -> KenzoHistory? {
138 return insertNewObject(for: KenzoHistory.entity)
141 func hiddenDropShipHistories() -> [HiddenDropShipHistory] {
143 guard let dropShipHistories = try? objects(of: HiddenDropShipHistory.entity) else {
148 return dropShipHistories
151 func createHiddenDropShipHistory() -> HiddenDropShipHistory? {
153 return insertNewObject(for: HiddenDropShipHistory.entity)