espagram/Espagram/TestResult+Create.m
2013-01-08 15:02:31 -02:00

49 lines
1.4 KiB
Objective-C

//
// TestResult+Create.m
// Espagram
//
// Created by Abel Fokkinga on 1/7/13.
// Copyright (c) 2013 Abel Fokkinga. All rights reserved.
//
#import "TestResult+Create.h"
#import "Lesson.h"
@implementation TestResult (Create)
+ (void) addTestableVerbResult:(TestableVerb *)verb withTestType:(NSString *)testType
{
// Check first if this verb already contains a result
for ( TestResult * tr in verb.verb.testResults) {
if ( [tr.conjugatedPerson isEqualToString:verb.person] &&
[tr.testType isEqualToString:testType] ) {
if ( !verb.failed ) {
tr.passedCounter = [NSNumber numberWithInt:[tr.passedCounter intValue] + 1];
} else {
tr.failedCounter = [NSNumber numberWithInt:[tr.failedCounter intValue] +1];
}
[[verb.verb.lesson managedObjectContext] save:nil];
return;
}
}
// No result yet exists
TestResult * result = [NSEntityDescription insertNewObjectForEntityForName:@"TestResult" inManagedObjectContext:verb.verb.lesson.managedObjectContext];
result.conjugatedPerson = verb.person;
result.testType = testType;
if ( !verb.failed ) {
result.passedCounter = [NSNumber numberWithInt:1];
} else {
result.failedCounter = [NSNumber numberWithInt:1];
}
[verb.verb addTestResultsObject:result];
[[verb.verb.lesson managedObjectContext] save:nil];
}
@end