summaryrefslogtreecommitdiffstats
path: root/Classes/Source.m
diff options
context:
space:
mode:
Diffstat (limited to 'Classes/Source.m')
-rw-r--r--Classes/Source.m74
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