// // PickAddressViewModel.m // FirstLink // // Created by jack on 15/7/8. // Copyright (c) 2015年 FirstLink. All rights reserved. // #import "PickAddressViewModel.h" #import "ShipAddress.h" @implementation PickAddressViewModel - (instancetype)init { if (self = [super init]) { _dataArray = [NSMutableArray array]; } return self; } - (void)requestNewDataWithSuccess:(void (^)(MSGHeader *))success failure:(void (^)(MSGHeader *, NSError *))failure { NSString *URLString = [NSString stringWithFormat:@"%@/link-site/api/user_address_info/find_user_address_infos.json", [[FKServerUtil sharedInstance] apiServer]]; NSString *itemJson = [FLRequestHelper JSONStringWithKeys:@[@"is_self_pickup"] values:@[@"1"]]; NSMutableDictionary *para = [NSMutableDictionary dictionaryWithDictionary:[FLRequestHelper commonParamater]]; [para setValue:itemJson forKey:@"user_address_info_json"]; WeakSelf(weakSelf); [[FLDataCenter sharedDataCenter] POST:URLString parameters:para success:^(MSGHeader *header, id responseObject) { if ([header.code intValue] == RESPONSE_MSG_NORMAL) { [weakSelf parserRawDataWithDict:responseObject]; } success(header); } failure:^(MSGHeader *header, NSError *error) { failure(header, error); }]; } - (void)parserRawDataWithDict:(NSDictionary *)rawDict { if ([rawDict[@"data"][@"list"] isKindOfClass:[NSArray class]]) { NSArray *array = rawDict[@"data"][@"list"]; if (array.count == 0) return; [self.dataArray removeAllObjects]; for (NSDictionary *dict in array) { ShipAddress *address = [[ShipAddress alloc]init]; [address mts_setValuesForKeysWithDictionary:dict]; [self.dataArray addObject:address]; } } } - (BOOL)isEmptySelfPickAtIndex:(NSInteger)index { if (index >= 0 && index < self.dataArray.count) { ShipAddress *address = self.dataArray[index]; BOOL isSelfTake = NO; if ([address.isSelfTake isKindOfClass:[NSString class]] && address.isSelfTake.boolValue) isSelfTake = YES; if (isSelfTake && !address.receiver.length && !address.receiverPhone.length) return YES; } return NO; } @end