diff options
Diffstat (limited to 'Classes/Source.m')
-rw-r--r-- | Classes/Source.m | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/Classes/Source.m b/Classes/Source.m new file mode 100644 index 0000000..bd3037c --- /dev/null +++ b/Classes/Source.m @@ -0,0 +1,74 @@ +// +// Source.m +// PicCast +// +// Created by Matthew Handler on 4/25/11. +// Copyright 2011 Earl Industries. All rights reserved. +// + +#import "Source.h" +#import "FMDatabase.h" +#import "FMResultSet.h" + +@implementation Source + +@synthesize title, foreignId, subscribed, category; + +//+ (Topic *) initFromDatabaseRow:(FMResultSet *)result { +// NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; +// [dateFormatter setDateStyle:NSDateFormatterLongStyle]; +// [dateFormatter setTimeStyle:NSDateFormatterNoStyle]; +// [dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"US"] autorelease]]; +// +// Topic *topic = [[[Topic alloc] init] autorelease]; +// +// topic.guid = [result stringForColumn:@"link"]; +// topic.title = [result stringForColumn:@"title"]; +// topic.iconUrl = [result stringForColumn:@"iconUrl"]; +// topic.description = [result stringForColumn:@"description"]; +// topic.releaseDate = [Topic stringToDate:[result stringForColumn:@"releaseDate"]]; +// topic.category = [result stringForColumn:@"category"]; +// topic.picCount = [result intForColumn:@"picCount"]; +// +// return topic; +//} + ++ (Source *) initFromDatabaseRow:(FMResultSet *)result { + + Source *source = [[[Source alloc] init] autorelease]; + + source.title = [result stringForColumn:@"title"]; + source.foreignId = [result intForColumn:@"foreignId"]; + source.subscribed = [result intForColumn:@"subscribed"] == 0 ? false : true; + source.category = [result stringForColumn:@"category"]; + + return source; +} + ++ (Source *) initWithJsonObject:(NSDictionary *)obj { + + Source *source = [[[Source alloc] init] autorelease]; + + NSDictionary *info = [obj objectForKey:@"fields"]; + + source.title = [info objectForKey:@"title"]; + source.foreignId = [obj objectForKey:@"pk"]; + source.subscribed = false; + source.category = @"Potpourri"; + + return source; +} + +- (void) serializeToDb:(FMDatabase *)db { + [db retain]; + + [db executeUpdate:@"INSERT INTO subscribedSources \ + (foreignId, title, subscribed, category) \ + VALUES \ + (?, ?, ?, ?);", + foreignId, title,[NSNumber numberWithInt:(subscribed ? 1 : 0)], category]; + + [db release]; +} + +@end |