00001
00002
00003
00004
00005
00006
00007
00008
00009 #import "CourseDetailResultViewController.h"
00010 #import "WIRemoting.h"
00011 #import "Moodle.h"
00012
00013 @implementation CourseDetailResultViewController
00014
00015 @synthesize courseId;
00016 @synthesize selector;
00017 @synthesize arrayType;
00018 @synthesize titleField;
00019 @synthesize descriptionField;
00020
00021 - (void) execute
00022 {
00023 if ([moodle respondsToSelector:selector]) {
00024 [moodle performSelector:selector
00025 withObject:courseId
00026 withObject:self];
00027 }
00028 }
00029
00030 - (void) finished:(RMResponse*) response
00031 {
00032 NSDictionary *r = [[response responseString] JSONValue];
00033
00034 if ([[r valueForKey:@"error"] boolValue]) {
00035
00036 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
00037 message:[[r valueForKey:@"message"] valueForKey:@"string"]
00038 delegate:self
00039 cancelButtonTitle:@"OK"
00040 otherButtonTitles:nil];
00041 [alert show];
00042 [alert release];
00043 }
00044
00045
00046 [views removeAllObjects];
00047
00048 NSArray *objects = [r valueForKey:arrayType];
00049
00050 for (NSDictionary *obj in objects) {
00051
00052 if (![[obj valueForKey:@"error"] isEqual:@""]) {
00053
00054 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
00055 message:[obj valueForKey:@"error"]
00056 delegate:self
00057 cancelButtonTitle:@"OK"
00058 otherButtonTitles:nil];
00059 [alert show];
00060 [alert release];
00061 break;
00062 }
00063
00064
00065 [views addObject:[NSDictionary dictionaryWithObjectsAndKeys:
00066 [obj valueForKey:titleField], @"title",
00067 [obj valueForKey:descriptionField], @"description",
00068 nil]];
00069 }
00070
00071
00072 [self.view reloadData];
00073 [self.view setNeedsDisplay];
00074
00075 }
00076
00077
00078 @end
00079