From 8c36988da916b0556c3764ea1c3a0f7311ba4088 Mon Sep 17 00:00:00 2001 From: Elias Projahn Date: Sun, 22 Mar 2020 16:46:28 +0100 Subject: [PATCH] Move PerformanceModel to database --- lib/database.dart | 23 ++++++++++++++++++++--- lib/selectors/performer.dart | 10 ---------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/lib/database.dart b/lib/database.dart index 084104d..0661ec8 100644 --- a/lib/database.dart +++ b/lib/database.dart @@ -17,6 +17,18 @@ class WorkModel { }); } +class PerformanceModel { + final Person person; + final Ensemble ensemble; + final Role role; + + PerformanceModel({ + this.person, + this.ensemble, + this.role, + }); +} + @UseMoor( include: { 'database.moor', @@ -75,14 +87,19 @@ class Database extends _$Database { } Future updateRecording( - Recording recording, List perfs) async { + Recording recording, List models) async { await transaction(() async { await (delete(performances) ..where((p) => p.recording.equals(recording.id))) .go(); await into(recordings).insert(recording, orReplace: true); - for (final perf in perfs) { - await into(performances).insert(perf); + for (final model in models) { + await into(performances).insert(Performance( + recording: recording.id, + person: model.person.id, + ensemble: model.ensemble.id, + role: model.role.id, + )); } }); } diff --git a/lib/selectors/performer.dart b/lib/selectors/performer.dart index 8c8a872..86cec2f 100644 --- a/lib/selectors/performer.dart +++ b/lib/selectors/performer.dart @@ -5,16 +5,6 @@ import '../database.dart'; import '../editors/person.dart'; import '../selectors/role.dart'; -class PerformanceModel { - final Person person; - final Role role; - - PerformanceModel({ - this.person, - this.role, - }); -} - // TODO: Allow selecting and adding ensembles. // TODO: Allow selecting instruments as roles. class PerformerSelector extends StatefulWidget {