OSDN Git Service

Doutaku を 1.0 にアップデート
[kcd/KCD.git] / KCD / UpdateSlotItemCommand.swift
1 //
2 //  UpdateSlotItemCommand.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2017/01/10.
6 //  Copyright © 2017年 Hori,Masaki. All rights reserved.
7 //
8
9 import Cocoa
10
11 final class UpdateSlotItemCommand: JSONCommand {
12     
13     override func execute() {
14         
15         let data = json["api_data"]["api_slot_item"]
16         
17         guard let slotItemId = data["api_slotitem_id"].int else {
18             
19             return
20         }
21         
22         guard let newSlotItemId = data["api_id"].int else {
23             
24             Logger.shared.log("api_id is wrong")
25             
26             return
27         }
28         
29         let store = ServerDataStore.oneTimeEditor()
30         
31         guard let masterSlotItem = store.sync(execute: { store.masterSlotItem(by: slotItemId) }) else {
32             
33             Logger.shared.log("MasterSlotItem is not found")
34             
35             return
36         }
37         
38         guard let new = store.sync(execute: { store.createSlotItem() }) else {
39             
40             Logger.shared.log("Can not create new SlotItem")
41             
42             return
43         }
44         
45         store.sync {
46             
47             new.id = newSlotItemId
48             new.master_slotItem = masterSlotItem
49         }
50     }
51 }