-
Notifications
You must be signed in to change notification settings - Fork 4
/
Event.m
87 lines (73 loc) · 2.89 KB
/
Event.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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
//
// Book.m
// XML
//
// Created by iPhone SDK Articles on 11/23/08.
// Copyright 2008 www.iPhoneSDKArticles.com.
//
#import "Event.h"
@implementation Event
@synthesize title, room, abstract, description, eventID, subtitle, start, duration,date,language,track,startDate,realDate,reminderSet,speaker;
- (void)encodeWithCoder:(NSCoder *)coder;
{
[coder encodeObject:title forKey:@"title"];
[coder encodeObject:room forKey:@"room"];
[coder encodeObject:abstract forKey:@"abstract"];
[coder encodeObject:description forKey:@"description"];
[coder encodeInteger:eventID forKey:@"eventID"];
[coder encodeObject:subtitle forKey:@"subtitle"];
[coder encodeObject:start forKey:@"start"];
[coder encodeObject:duration forKey:@"duration"];
[coder encodeObject:date forKey:@"date"];
[coder encodeObject:language forKey:@"language"];
[coder encodeObject:track forKey:@"track"];
[coder encodeObject:startDate forKey:@"startDate"];
[coder encodeObject:speaker forKey:@"speaker"];
[coder encodeObject:realDate forKey:@"realDate"];
[coder encodeBool:reminderSet forKey:@"reminderSet"];
}
- (id)initWithCoder:(NSCoder *)coder;
{
if (self = [super init])
{
self.title = [coder decodeObjectForKey:@"title"];
self.room = [coder decodeObjectForKey:@"room"];
self.abstract = [coder decodeObjectForKey:@"abstract"];
self.description = [coder decodeObjectForKey:@"description"];
self.subtitle = [coder decodeObjectForKey:@"subtitle"];
self.start = [coder decodeObjectForKey:@"start"];
self.duration = [coder decodeObjectForKey:@"duration"];
self.date = [coder decodeObjectForKey:@"date"];
self.language = [coder decodeObjectForKey:@"language"];
self.track = [coder decodeObjectForKey:@"track"];
self.startDate = [coder decodeObjectForKey:@"startDate"];
self.realDate = [coder decodeObjectForKey:@"realDate"];
self.speaker = [coder decodeObjectForKey:@"speaker"];
self.reminderSet = [coder decodeBoolForKey:@"reminderSet"];
self.eventID = [coder decodeIntegerForKey:@"eventID"];
}
return self;
}
- (BOOL)isAtDate:(NSDate *)_date {
NSArray *durationArray = [self.duration componentsSeparatedByString:@":"];
double hours = [[durationArray objectAtIndex:0] doubleValue] * 60 * 60;
double minutes = [[durationArray objectAtIndex:1] doubleValue] * 60;
NSDate * endDate = [NSDate dateWithTimeInterval:hours+minutes sinceDate:self.startDate];
return [_date compare:self.startDate] == NSOrderedDescending && [_date compare:endDate] == NSOrderedAscending;
}
- (void) dealloc {
[abstract release];
[description release];
[subtitle release];
[start release];
[duration release];
[room release];
[title release];
[date release];
[language release];
[track release];
[startDate release];
[realDate release];
[super dealloc];
}
@end