Normalized database access methods + made workout tables even more pretty!

Commit
5fd0b71db4c88769d6240bf5f131da13241eeea7
Author
Marius Peter <marius.peter@tutanota.com>
Author date
Committer
Marius Peter <marius.peter@tutanota.com>
Committer date
Changed files
src/MyFitnessTracker/MFTExercise.class.st
index 927b68c5..6460ef13 100644..100644
@@ -277,6 +277,13 @@
277 277 ]
278 278
279 279 { #category : #accessing }
280 Added: MFTExercise >> primaryMuscleGroup [
281 Added:
282 Added: ^ MFTSQLite3Database allMuscleGroups detect: [ :group |
283 Added: group id = primaryMuscleGroupId ]
284 Added: ]
285 Added:
286 Added: { #category : #accessing }
280 287 MFTExercise >> primaryMuscleGroupId [
281 288
282 289 ^ primaryMuscleGroupId
src/MyFitnessTracker/MFTSQLite3Database.class.st
index 2604eb46..d8b8ad63 100644..100644
@@ -270,11 +270,8 @@
270 270 MFTSQLite3Database >> deleteWeight: aMFTWeight [
271 271
272 272 connection
273 Removed: execute: 'DELETE
274 Removed: FROM Weights
275 Removed: WHERE user_id = ?
276 Removed: AND date = ?
277 Removed: AND value = ?'
273 Added: execute:
274 Added: 'DELETE FROM Weights WHERE user_id = ? AND date = ? AND value = ?'
278 275 with: {
279 276 user id.
280 277 aMFTWeight date yyyymmdd.
@@ -286,10 +283,7 @@
286 283
287 284 self deleteSets: aMFTWorkout sets.
288 285 connection
289 Removed: execute: 'DELETE
290 Removed: FROM Workouts
291 Removed: WHERE user_id = ?
292 Removed: AND date = ?'
286 Added: execute: 'DELETE FROM Workouts WHERE user_id = ? AND date = ?'
293 287 with: {
294 288 user id.
295 289 aMFTWorkout date yyyymmdd }
@@ -326,14 +320,14 @@
326 320 ]
327 321
328 322 { #category : #'as yet unclassified' }
329 Removed: MFTSQLite3Database >> insertSet: aMFTSet forWorkoutId: workoutId [
323 Added: MFTSQLite3Database >> insertSet: aMFTSet forWorkout: aMFTWorkout [
330 324
331 325 connection
332 326 execute:
333 327 'INSERT INTO Sets ("workout_id","exercise_id", "set_group", "set_number", "reps", "load", "rpe", "rest_after")
334 Removed: VALUES(?, ?, ?, ?, ?, ?, ?, ?)'
328 Added: VALUES(?, ?, ?, ?, ?, ?, ?, ?)'
335 329 with: {
336 Removed: workoutId.
330 Added: aMFTWorkout id.
337 331 aMFTSet exerciseId.
338 332 aMFTSet number.
339 333 aMFTSet group.
@@ -344,10 +338,10 @@
344 338 ]
345 339
346 340 { #category : #'as yet unclassified' }
347 Removed: MFTSQLite3Database >> insertSets: aMFTSetCollection forWorkoutId: workoutId [
341 Added: MFTSQLite3Database >> insertSets: aMFTSetCollection forWorkout: aMFTWorkout [
348 342
349 343 aMFTSetCollection do: [ :set |
350 Removed: self insertSet: set forWorkoutId: workoutId ]
344 Added: self insertSet: set forWorkout: aMFTWorkout ]
351 345 ]
352 346
353 347 { #category : #'as yet unclassified' }
@@ -384,7 +378,7 @@
384 378 user id.
385 379 aMFTWorkout date yyyymmdd.
386 380 aMFTWorkout primaryMuscleGroupId }) onlyValue.
387 Removed: self insertSets: aMFTWorkout sets forWorkoutId: workoutId.
381 Added: self insertSets: aMFTWorkout sets forWorkout: aMFTWorkout.
388 382 connection commitTransaction
389 383 ]
390 384
src/MyFitnessTracker/MFTSetGroup.class.st
index 0ea69df7..cf43792a 100644..100644
@@ -71,12 +71,15 @@
71 71
72 72 self isSuperset ifTrue: [
73 73 | ex1 ex2 |
74 Removed: ex1 := sets first exercise primaryMuscleGroupId.
75 Removed: ex2 := sets second exercise primaryMuscleGroupId.
76 Removed: ex1 = ex2 ifTrue: [ ^ 'agonist superset' ].
74 Added: ex1 := sets first exercise.
75 Added: ex2 := sets second exercise.
76 Added: ex1 primaryMuscleGroupId = ex2 primaryMuscleGroupId ifTrue: [
77 Added: ^ 'agonist superset ({1})' format:
78 Added: { ex1 primaryMuscleGroup englishName } ].
77 79 (MFTMuscleGroup antagonistIds includes: {
78 Removed: ex1.
79 Removed: ex2 } asSet) ifTrue: [ ^ 'antagonist superset' ].
80 Added: ex1 primaryMuscleGroupId.
81 Added: ex2 primaryMuscleGroupId } asSet) ifTrue: [
82 Added: ^ 'antagonist superset' ].
80 83 ^ 'superset' ].
81 84 self isTriset ifTrue: [ ^ 'tri-set' ].
82 85 self isGiantset ifTrue: [ ^ 'giant set' ].
src/MyFitnessTracker/MFTSetsDialog.class.st
index 74c10240..cd4eaae6 100644..100644
@@ -17,7 +17,7 @@
17 17 ]
18 18
19 19 { #category : #adding }
20 Removed: MFTSetsDialog >> addSet [
20 Added: MFTSetsDialog >> addSets: anInteger [
21 21
22 22 | set setsSize |
23 23 setsSize := sets size + 1.
@@ -52,13 +52,18 @@
52 52 html outlineButton
53 53 bePrimary;
54 54 beSmall;
55 Removed: callback: [ self addSet ];
55 Added: callback: [ self addSets: 1 ];
56 56 with: 'Add set'.
57 57 html outlineButton
58 58 beSecondary;
59 59 beSmall;
60 Removed: callback: [ self addSuperset ];
61 Removed: with: 'Add superset' ]
60 Added: callback: [ self addSets: 2 ];
61 Added: with: 'Add superset'.
62 Added: html outlineButton
63 Added: beSecondary;
64 Added: beSmall;
65 Added: callback: [ self addSets: 3 ];
66 Added: with: 'Add tri-set' ]
62 67 ]
63 68
64 69 { #category : #rendering }
src/MyFitnessTracker/MFTWorkout.class.st
index 58720336..fcfe089a 100644..100644
@@ -198,7 +198,7 @@
198 198 html tableHeading
199 199 attributeAt: 'rowspan' put: group sets size + 1;
200 200 style: 'vertical-align: middle';
201 Removed: with: group type capitalized ].
201 Added: with: [ html text: group type capitalized ] ].
202 202 group sets do: [ :set |
203 203 html tableRow: [
204 204 html tableData: set exercise englishName capitalized.