Feature #31
geschlossenTrainingsdaten periodisch speichern statt nur am Trainingsende
100%
Beschreibung
Aktuell werden aufgezeichnete Trainingsdaten nur ein einziges Mal gespeichert: Context.SaveChanges() läuft in PrepareClose() ganz am Ende, nachdem das Trainingsfenster geschlossen wurde. RecordTrainingPoint() sammelt die TrainingPoints bis dahin nur im Speicher (FreiesTrainingWindowViewModel.cs).
Stürzt die Anwendung während eines laufenden Trainings ab (siehe #30) oder endet aus einem anderen Grund unkontrolliert (Stromausfall, OS-Absturz), gehen sämtliche bis dahin aufgezeichneten Trainingsdaten verloren – auch bei einem 30-minütigen Training.
In ErControl 2.5 gab es dafür einen Sicherheitsmechanismus: TrainingControl.cs speichert jeden TrainingPoint sofort nach dem Anlegen (alle 2 Sekunden) in einer eigenen Transaktion (DB.Instance.BeginTransaction() / Training.Save() / newTrainingPoint.Save() / DB.Instance.CommitTransaction()). Bei einem Absturz gehen dadurch höchstens die letzten paar Sekunden verloren, nicht das gesamte Training.
Vorschlag: gleiche Kadenz in ErControl3 nachbauen – Context.SaveChanges() zusätzlich in RecordTrainingPoint() nach dem Hinzufügen des neuen TrainingPoint aufrufen, nicht erst am Ende in PrepareClose().
JH Von Julius Haman vor 16 Tagen aktualisiert
- Status wurde von Neu zu In Bearbeitung geändert
- Zugewiesen an wurde auf Julius Haman gesetzt
JH Von Julius Haman vor 16 Tagen aktualisiert
- Status wurde von In Bearbeitung zu Gelöst geändert
- Zugewiesen an
Julius Hamanwurde gelöscht - % erledigt wurde von 0 zu 100 geändert
JH Von Julius Haman vor 16 Tagen aktualisiert
- Status wurde von Gelöst zu Erledigt geändert