Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // ModuleSummaryViewController.m
- // StudentRecordApp
- //
- // Created by Reece Squires on 14/05/2013.
- // Copyright (c) 2013 __MyCompanyName__. All rights reserved.
- //
- #import "ModuleSummaryViewController.h"
- @implementation ModuleSummaryViewController
- @synthesize viewControllerArray;
- @synthesize masterViewController;
- //@synthesize moduleSummaryView = _moduleSummaryView;
- @synthesize split;
- //@synthesize modules;
- @synthesize moduleAssessments;
- @synthesize saveIndex;
- @synthesize currentModule;
- @synthesize moduleTitle;
- @synthesize moduleCode;
- @synthesize assessmentWeighting1;
- @synthesize assessmentWeighting2;
- @synthesize assessmentWeighting3;
- @synthesize assessmentGrade1;
- @synthesize assessmentGrade2;
- @synthesize assessmentGrade3;
- @synthesize creditValue;
- @synthesize overallGrade;
- @synthesize assessmentName1;
- @synthesize assessmentName2;
- @synthesize assessmentName3;
- @synthesize Asskey;
- @synthesize key;
- - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
- {
- self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
- if (self) {
- // Custom initialization
- }
- return self;
- }
- - (void)didReceiveMemoryWarning
- {
- // Releases the view if it doesn't have a superview.
- [super didReceiveMemoryWarning];
- // Release any cached data, images, etc that aren't in use.
- }
- #pragma mark - View lifecycle
- - (void)saveModule:(Module *)module {
- NSData *encodedModule = [NSKeyedArchiver archivedDataWithRootObject:module];
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- //NSString *TempString = @"encodedModule";
- //TempString = [TempString stringByAppendingFormat:@"%.0f",saveIndex];
- [defaults setObject:encodedModule forKey:key];
- //saveIndex = saveIndex + 1;
- //NSString *temp = [NSString stringWithFormat:@"%.0f",saveIndex];
- //[defaults setObject: temp forKey:@"saveIndex"];
- [defaults synchronize];
- }
- - (Module *)loadModuleWithKey:(NSString *)mkey {
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- NSData *encodedModule = [defaults objectForKey:mkey];
- Module *module = (Module *)[NSKeyedUnarchiver unarchiveObjectWithData: encodedModule];
- [defaults synchronize];
- return module;
- }
- - (Assessment *) loadAssessmentWithKey: (NSString *)akey{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- NSData *encodedAssessment = [defaults objectForKey:akey];
- Assessment *assessment = (Assessment *)[NSKeyedUnarchiver unarchiveObjectWithData:encodedAssessment];
- [defaults synchronize];
- return assessment;
- }
- - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
- NSString *TargetLevel;
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- switch (item.tag ) {
- case 0:
- TargetLevel = @"4";
- [defaults setObject:TargetLevel forKey:@"CurrentLevel"];
- [defaults synchronize];
- [[NSNotificationCenter defaultCenter] postNotificationName:@"TableContentUpdate" object:nil];
- [[NSNotificationCenter defaultCenter] postNotificationName:@"viewChange" object:nil];
- break;
- case 1:
- [defaults setObject:@"5" forKey:@"CurrentLevel"];
- [defaults synchronize];
- [[NSNotificationCenter defaultCenter] postNotificationName:@"TableContentUpdate" object:nil];
- [[NSNotificationCenter defaultCenter] postNotificationName:@"viewChange" object:nil];
- break;
- case 2:
- [defaults setObject:@"6" forKey:@"CurrentLevel"];
- [defaults synchronize];
- [[NSNotificationCenter defaultCenter] postNotificationName:@"TableContentUpdate" object:nil];
- [[NSNotificationCenter defaultCenter] postNotificationName:@"viewChange" object:nil];
- break;
- case 3:
- break;
- case 4:
- [[NSNotificationCenter defaultCenter] postNotificationName:@"courseView" object:nil];
- break;
- default:
- break;
- }
- }
- - (void)keyboardDidDismiss:(NSNotification *)note
- {
- /*
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- //[defaults setObject:TargetLevel forKey:@"CurrentLevel"];
- Module *tempModule = [self loadModuleWithKey:key];
- [defaults synchronize];
- Assessment *tempAssessment = [[Assessment alloc]init];
- tempAssessment = [moduleAssessments objectAtIndex:0];
- tempAssessment.grade = assessmentGrade1.text;
- [moduleAssessments replaceObjectAtIndex:0 withObject:tempAssessment];
- [tempAssessment release];
- tempAssessment = [[Assessment alloc]init];
- tempAssessment = [moduleAssessments objectAtIndex:1];
- tempAssessment.grade = assessmentGrade2.text;
- [moduleAssessments replaceObjectAtIndex:1 withObject:tempAssessment];
- [tempAssessment release];
- tempAssessment = [[Assessment alloc]init];
- tempAssessment = [moduleAssessments objectAtIndex:2];
- tempAssessment.grade = assessmentGrade3.text;
- [moduleAssessments replaceObjectAtIndex:2 withObject:tempAssessment];
- [tempAssessment release];
- for(int i = 0; i < [moduleAssessments count]; i++)
- {
- if(i == 0)
- {
- Asskey = [key stringByAppendingString:@"A"];
- tempAssessment = [moduleAssessments objectAtIndex:0];
- NSData *encodedAssessment = [NSKeyedArchiver archivedDataWithRootObject:tempAssessment];
- [defaults setObject:encodedAssessment forKey:Asskey];
- }
- else
- {
- Asskey = [key stringByAppendingFormat:@"A%i",i];
- tempAssessment = [moduleAssessments objectAtIndex:i];
- NSData *encodedAssessment = [NSKeyedArchiver archivedDataWithRootObject:tempAssessment];
- [defaults setObject:encodedAssessment forKey:Asskey];
- }
- }
- //double ass1, ass2, ass3;
- //if(currentModule.grade)
- //{
- tempModule.grade = (([assessmentWeighting1.text doubleValue] * [assessmentGrade1.text doubleValue]) + ([assessmentWeighting2.text doubleValue] * [assessmentGrade2.text doubleValue]) + ([assessmentWeighting3.text doubleValue] * [assessmentGrade3.text doubleValue])) / 100;
- //ass1 = ([assessmentWeighting1.text doubleValue] * [assessmentGrade1.text doubleValue]);
- //ass2 = ([assessmentWeighting2.text doubleValue] * [assessmentGrade2.text doubleValue]);
- //ass3 = ([assessmentWeighting3.text doubleValue] * [assessmentGrade3.text doubleValue]);
- //tempModule.grade = (ass1 + ass2 + ass3) / 100;
- overallGrade.text = @"";
- overallGrade.text = [overallGrade.text stringByAppendingFormat:@"%.2f", tempModule.grade];
- //}
- [self saveModule:tempModule];
- //[tempAssessment release];
- //[tempModule release];
- */
- }
- /*
- // Implement loadView to create a view hierarchy programmatically, without using a nib.
- - (void)loadView
- {
- }
- */
- // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidDismiss:) name:UIKeyboardDidHideNotification object:nil];
- NSString *targetTitle;
- NSString *saveIndexString;
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- @try {
- //currentModule = [[Module alloc] init];
- split = [self splitViewController];
- masterViewController = [[split viewControllers] objectAtIndex:0];
- moduleAssessments = [[NSMutableArray alloc]init];
- saveIndexString = [defaults objectForKey:@"saveIndex"];
- saveIndex = [saveIndexString doubleValue];
- targetTitle = [defaults objectForKey:@"cellTitle"];
- [defaults synchronize];
- }
- @catch (NSException *e) {
- NSLog(@"NULL DATA");
- }
- @finally {
- }
- for (int i=0; i < saveIndex; i++)
- {
- Module *tempModule;
- if(i == 0)
- {
- key = @"encodedModule";
- tempModule = [self loadModuleWithKey:key];
- }
- else
- {
- key = [@"encodedModule" stringByAppendingFormat:@"%i",i];
- tempModule = [self loadModuleWithKey:key];
- }
- if([tempModule.name isEqualToString:targetTitle])
- {
- currentModule = tempModule;
- break;
- }
- }
- [defaults synchronize];
- for(int i = 0; i < [currentModule.assessments count]; i++)
- {
- NSString *AssessmentKey = key;
- if (i == 0)
- {
- AssessmentKey = [key stringByAppendingString:@"A"];
- }
- else
- {
- AssessmentKey = [key stringByAppendingFormat:@"A%i", i];
- }
- Assessment *newAssessment = [self loadAssessmentWithKey: AssessmentKey];
- [moduleAssessments addObject:newAssessment];
- }
- moduleTitle.text = currentModule.name;
- moduleCode.text = currentModule.code;
- creditValue.text = currentModule.creditValue;
- Assessment *currentAssessment = [[Assessment alloc] init];
- @try {
- if([moduleAssessments objectAtIndex:0])
- {
- currentAssessment = [moduleAssessments objectAtIndex:0];
- assessmentName1.text = currentAssessment.Name;
- assessmentWeighting1.text = currentAssessment.weighting;
- assessmentGrade1.text = currentAssessment.grade;
- }
- if([moduleAssessments objectAtIndex:1])
- {
- currentAssessment = [moduleAssessments objectAtIndex:1];
- assessmentName2.text = currentAssessment.Name;
- assessmentWeighting2.text = currentAssessment.weighting;
- assessmentGrade2.text = currentAssessment.grade;
- }
- if([moduleAssessments objectAtIndex:2])
- {
- currentAssessment = [moduleAssessments objectAtIndex:2];
- assessmentName3.text = currentAssessment.Name;
- assessmentWeighting3.text = currentAssessment.weighting;
- assessmentGrade3.text = currentAssessment.grade;
- }
- }
- @catch (NSException *exception) {
- NSLog(@"First Run");
- }
- @finally {
- }
- //double Temp = currentModule.grade;
- //if(currentModule.grade)
- //{
- currentModule.grade = (([assessmentWeighting1.text doubleValue] * [assessmentGrade1.text doubleValue]) + ([assessmentWeighting2.text doubleValue] * [assessmentGrade2.text doubleValue]) + ([assessmentWeighting3.text doubleValue] * [assessmentGrade3.text doubleValue])) / 100;
- overallGrade.text = [overallGrade.text stringByAppendingFormat:@"%.2f", currentModule.grade];
- //}
- CGRect myTab =CGRectMake(0,699,703,49);
- UITabBar *tabBar = [[[UITabBar alloc] initWithFrame:myTab] autorelease];
- NSMutableArray *items = [[[NSMutableArray alloc] init] autorelease];
- // Add a 'contacts' item
- [items addObject:[[[UITabBarItem alloc] initWithTitle:@"Level 4" image:nil tag:0] autorelease] ];
- // Add a 'More' item
- [items addObject:[[[UITabBarItem alloc] initWithTitle:@"Level 5" image:nil tag:1] autorelease] ];
- // Add a 'contacts' item
- [items addObject:[[[UITabBarItem alloc] initWithTitle:@"Level 6" image:nil tag:2] autorelease] ];
- // Add a 'More' item
- [items addObject:[[[UITabBarItem alloc] initWithTitle:@"Dates" image:nil tag:3] autorelease] ];
- // Add a 'contacts' item
- [items addObject:[[[UITabBarItem alloc] initWithTitle:@"Summary" image:nil tag:4] autorelease] ];
- // Put the items in the tab bar
- tabBar.items = items;
- // Setup this object to respond to tab changes
- tabBar.delegate = self;
- [self.view addSubview:tabBar];
- [currentAssessment release];
- }
- - (void)viewDidUnload
- {
- [self setModuleTitle:nil];
- [self setModuleCode:nil];
- [self setAssessmentWeighting1:nil];
- [self setAssessmentWeighting2:nil];
- [self setAssessmentWeighting3:nil];
- [self setAssessmentGrade1:nil];
- [self setAssessmentGrade2:nil];
- [self setAssessmentGrade3:nil];
- [self setCreditValue:nil];
- [self setOverallGrade:nil];
- [self setAssessmentName1:nil];
- [self setAssessmentName2:nil];
- [self setAssessmentName3:nil];
- [self setAssessmentGrade1:nil];
- [self setAssessmentGrade2:nil];
- [self setAssessmentGrade3:nil];
- //[self setModuleAssessments:nil];
- [super viewDidUnload];
- // Release any retained subviews of the main view.
- // e.g. self.myOutlet = nil;
- }
- - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
- {
- // Return YES for supported orientations
- return YES;
- }
- - (void)dealloc {
- [moduleTitle release];
- [moduleCode release];
- [assessmentWeighting1 release];
- [assessmentWeighting2 release];
- [assessmentWeighting3 release];
- [assessmentGrade1 release];
- [assessmentGrade2 release];
- [assessmentGrade3 release];
- [creditValue release];
- [overallGrade release];
- [assessmentName1 release];
- [assessmentName2 release];
- [assessmentName3 release];
- //[moduleAssessments release];
- [super dealloc];
- }
- @end
Advertisement
Add Comment
Please, Sign In to add comment