+ (void)loadTasks: (NSString *)userID
{
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@%@", HOST, @"/tasks/", userID]];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
{
if (error)
{
//TODO: перейти на экран неработающего сервера
NSLog(@"Error: %@", [error localizedDescription]);
}
else
{
//[LuckyStrikeServer outputJSON: data];
//[LuckyStrikeServer outputCountOfEntities: @"DoneTask"];
//[LuckyStrikeServer outputCountOfEntities: @"NewTask"];
//NSLog(@"Loading tasks to CoreData...");
//TODO: проверить JSON на валидность
NSDictionary * jsonDictionary = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:Nil];
// Сохранить новые задачи в CoreData.
NSArray *newTasks = [jsonDictionary objectForKey:@"newTasks"];
[LuckyStrikeServer loadNewTasks:newTasks];
// Сохранить старые задачи в CoreData.
NSArray *doneTasks = [jsonDictionary objectForKey:@"doneTasks"];
[LuckyStrikeServer loadDoneTasks:doneTasks];
//[LuckyStrikeServer outputCountOfEntities: @"DoneTask"];
//[LuckyStrikeServer outputCountOfEntities: @"NewTask"];
}
}];
}