File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11using CommunityToolkit . Mvvm . Input ;
22using Desktop . Common ;
33using Task = Desktop . Domain . Task ;
4+ using SystemTask = System . Threading . Tasks . Task ;
45
56namespace Desktop . Tasks ;
67
@@ -17,21 +18,17 @@ public TaskCreationViewModel(
1718
1819 CreatedTask = new Task ( taskName , taskDescription ) ;
1920
20- var anySucceeded = false ;
21- foreach ( var repository in taskRepositories )
22- {
23- var creationResult = await repository . Save ( CreatedTask ) ;
24-
25- if ( creationResult . Succeeded )
26- anySucceeded = true ;
27- else
28- messageNotifier . Notify (
29- "Task creation has failed due to " +
30- "an internal error. The Task won't be created. " +
31- "Please, try again later." ) ;
32- }
33-
34- if ( ! anySucceeded )
21+ var savingTasks = taskRepositories
22+ . Select ( x => x . Save ( CreatedTask ) ) ;
23+ var results = await SystemTask . WhenAll ( savingTasks ) ;
24+
25+ if ( results . Any ( x => ! x . Succeeded ) )
26+ messageNotifier . Notify (
27+ "Task creation has failed due to " +
28+ "an internal error. The Task won't be created. " +
29+ "Please, try again later." ) ;
30+
31+ if ( results . All ( x => ! x . Succeeded ) )
3532 CreatedTask = null ;
3633
3734 closeable ! . Close ( ) ;
You can’t perform that action at this time.
0 commit comments