OSDN Git Service

新しく追加したコアデータエンティティクラスを使用するように変更
[kcd/KCD.git] / KCD / HMUpdateSlotItemCommand.m
1 //
2 //  HMUpdateSlotItemCommand.m
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2014/04/29.
6 //  Copyright (c) 2014年 Hori,Masaki. All rights reserved.
7 //
8
9 #import "HMUpdateSlotItemCommand.h"
10
11 #import "HMServerDataStore.h"
12 #import "HMKCMasterSlotItemObject.h"
13 #import "HMKCSlotItemObject+Extensions.h"
14
15 @implementation HMUpdateSlotItemCommand
16 - (NSString *)dataKey
17 {
18         return @"api_data.api_slot_item";
19 }
20 - (void)execute
21 {
22         NSDictionary *data = [self.json valueForKeyPath:self.dataKey];
23         if(!data || [data isKindOfClass:[NSNull class]]) return;
24         
25         HMServerDataStore *store = [HMServerDataStore oneTimeEditor];
26         NSManagedObjectContext *moc = store.managedObjectContext;
27         
28         NSError *error = nil;
29         NSArray<HMKCMasterSlotItemObject *> *masterSlotItems = [store objectsWithEntityName:@"MasterSlotItem"
30                                                                                                                                                                   error:&error
31                                                                                                                                                 predicateFormat:@"id = %@", data[@"api_slotitem_id"]];
32         if(masterSlotItems.count == 0) {
33                 NSLog(@"MasterSlotItem is invalid");
34                 return;
35         }
36         
37         HMKCSlotItemObject *newSlotItem = [NSEntityDescription insertNewObjectForEntityForName:@"SlotItem"
38                                                                                                                                         inManagedObjectContext:moc];
39         newSlotItem.id =  data[@"api_id"];
40         newSlotItem.master_slotItem = masterSlotItems[0];
41 }
42
43 @end