Created
February 26, 2014 14:19
-
-
Save semireg/9230243 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- (IBAction)nextPerformedTrack:(UIBarButtonItem *)sender { | |
NSManagedObjectID __block *nextPerformedTrackID = nil; | |
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) { | |
PerformedTrack *currentPerformedTrack = [self currentPerformedTrack]; | |
PerformedTrack *nextPerformedTrack = [currentPerformedTrack nextPerformedTrack]; | |
if(!nextPerformedTrack) | |
{ | |
Track *nextTrack = [[Track MR_findByAttribute:@"order" | |
withValue:[currentPerformedTrack.workout numberForNextOrderedPerformedTrack] | |
inContext:localContext] firstObject]; | |
if(!nextTrack) | |
return; | |
nextPerformedTrack = [PerformedTrack MR_createInContext:localContext]; | |
nextPerformedTrack.workout = currentPerformedTrack.workout; | |
WeightSet *aWeightSet = [WeightSet MR_createInContext:localContext]; | |
aWeightSet.kg1 = [currentPerformedTrack.weightSet.kg1 copy]; | |
aWeightSet.kg2point5 = [currentPerformedTrack.weightSet.kg2point5 copy]; | |
aWeightSet.kg5 = [currentPerformedTrack.weightSet.kg5 copy]; | |
aWeightSet.kg10 = [currentPerformedTrack.weightSet.kg10 copy]; | |
aWeightSet.kg20 = [currentPerformedTrack.weightSet.kg20 copy]; | |
nextPerformedTrack.weightSet = aWeightSet; | |
nextPerformedTrack.track = nextTrack; | |
} | |
nextPerformedTrackID = nextPerformedTrack.objectID; | |
}completion:^(BOOL success, NSError *error) { | |
if(success) | |
{ | |
DDLogVerbose(@"%s - save OK", __PRETTY_FUNCTION__); | |
self.selectedObjectID = nextPerformedTrackID; | |
[self updateUI]; | |
} | |
else if(!error) | |
{ | |
DDLogVerbose(@"%s - nothing to save", __PRETTY_FUNCTION__); | |
} | |
else | |
{ | |
[NSException raise:@"Core Data Error" format:@"error:%@", error]; | |
} | |
}]; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment