-
Notifications
You must be signed in to change notification settings - Fork 6k
/
Order.m
73 lines (67 loc) · 2.35 KB
/
Order.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#import "Order.h"
@implementation Order
@synthesize _id = __id;
@synthesize petId = _petId;
@synthesize status = _status;
@synthesize quantity = _quantity;
@synthesize shipDate = _shipDate;
- (id) _id: (NSNumber*) _id
petId: (NSNumber*) petId
status: (NSString*) status
quantity: (NSNumber*) quantity
shipDate: (Date*) shipDate
{
__id = _id;
_petId = petId;
_status = status;
_quantity = quantity;
_shipDate = shipDate;
return self;
}
- (id) initWithValues: (NSDictionary*)dict
{
__id = [dict objectForKey:@"id"];
_petId = [dict objectForKey:@"petId"];
_status = [dict objectForKey:@"status"];
_quantity = [dict objectForKey:@"quantity"];
id shipDate_dict = [dict objectForKey:@"shipDate"];
if([shipDate_dict isKindOfClass:[NSArray class]]) {
if([shipDate_dict count] > 0) {
NSMutableArray * objs = [[NSMutableArray alloc] initWithCapacity:[shipDate_dict count]];
for (NSDictionary* dict in shipDate_dict) {
Date* d = [[Date alloc]initWithValues:dict];
[objs addObject:d];
}
_shipDate = [[NSArray alloc] initWithArray:objs];
}
}
else if([shipDate_dict isKindOfClass:[NSDictionary class]] && [shipDate_dict count] > 0) {
_shipDate = [[Date alloc]initWithValues:shipDate_dict];
}
else {
_shipDate = [[Date alloc]initWithValues:shipDate_dict];
}
return self;
}
-(NSDictionary*) asDictionary {
NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];
if(__id != nil) [dict setObject:__id forKey:@"id"];
if(_petId != nil) [dict setObject:_petId forKey:@"petId"];
if(_status != nil) [dict setObject:_status forKey:@"status"];
if(_quantity != nil) [dict setObject:_quantity forKey:@"quantity"];
if(_shipDate != nil){
if([_shipDate isKindOfClass:[NSArray class]]){
NSMutableArray * array = [[NSMutableArray alloc] init];
for( Date * shipDate in _shipDate) {
[array addObject:[shipDate asDictionary]];
}
[dict setObject:array forKey:@"shipDate"];
}
}
else {
if(_shipDate != nil) [dict setObject:[_shipDate asDictionary]forKey:@"shipDate"];
}
NSDictionary* output = [[dict copy] autorelease];
return output;
}
@end