5 // Created by Hori,Masaki on 2016/11/21.
6 // Copyright © 2016年 Hori,Masaki. All rights reserved.
9 #import "HMAirBaseCommand.h"
11 #import "HMServerDataStore.h"
13 #import "HMKCAirBase.h"
14 #import "HMKCAirBasePlaneInfo.h"
17 @implementation HMAirBaseCommand
21 return @"api_data.api_air_base";
24 - (NSArray<NSString *> *)cmpositPrimaryKeys
26 return @[@"area_id", @"rid"];
31 HMServerDataStore *serverDataStore = [HMServerDataStore oneTimeEditor];
34 NSArray *objects = [serverDataStore objectsWithEntityName:@"AirBase"
37 for(NSManagedObject *obj in objects) {
38 [serverDataStore deleteObject:obj];
40 serverDataStore = nil;
42 [self commitJSONToEntityNamed:@"AirBase"];
45 - (BOOL)handleExtraValue:(id)value forKey:(NSString *)key toObject:(NSManagedObject *)object
47 if(![key isEqualToString:@"api_plane_info"]) return NO;
49 HMKCAirBase *airbase = (HMKCAirBase *)object;
50 if(airbase.planeInfo.count == 0) {
51 NSManagedObjectContext *moc = object.managedObjectContext;
52 NSMutableOrderedSet<HMKCAirBasePlaneInfo *> *newinfo = [NSMutableOrderedSet orderedSet];
53 for(NSInteger i = 0; i < 4; i++) {
54 HMKCAirBasePlaneInfo *info = [NSEntityDescription insertNewObjectForEntityForName:@"AirBasePlaneInfo"
55 inManagedObjectContext:moc];
56 [newinfo addObject:info];
58 airbase.planeInfo = newinfo;
61 NSArray<NSDictionary *> *planeInfos = value;
62 NSOrderedSet<HMKCAirBasePlaneInfo *> *infos = airbase.planeInfo;
64 for(NSInteger i = 0; i < 4; i++) {
65 NSDictionary *planeInfo = planeInfos[i];
66 HMKCAirBasePlaneInfo *info = infos[i];
67 info.cond = planeInfo[@"api_cond"];
68 info.count = planeInfo[@"api_count"];
69 info.max_count = planeInfo[@"api_max_count"];
70 info.slotid = planeInfo[@"api_slotid"];
71 info.squadron_id = planeInfo[@"api_squadron_id"];
72 info.state = planeInfo[@"api_state"];
73 info.airBase = airbase;