22using CommunityToolkit . Mvvm . Input ;
33using Desktop . Common ;
44using Task = Desktop . Domain . Task ;
5+ using SystemTask = System . Threading . Tasks . Task ;
56
67namespace Desktop . Tasks ;
78
@@ -21,21 +22,17 @@ public TaskEditingViewModel(
2122 var originalDescription = taskBeingEdited . Description ;
2223 taskBeingEdited . Description = description ;
2324
24- var anySucceeded = false ;
25- foreach ( var repository in taskRepositories )
26- {
27- var editingResult = await repository . Save ( taskBeingEdited ) ;
28-
29- if ( editingResult . Succeeded )
30- anySucceeded = true ;
31- else
32- messageNotifier . Notify (
33- "Task editing has failed due to " +
34- "an internal error. The modifications will be reverted. " +
35- "Please, try again later." ) ;
36- }
37-
38- if ( ! anySucceeded )
25+ var editsTasks = taskRepositories
26+ . Select ( x => x . Save ( taskBeingEdited ) ) ;
27+ var results = await SystemTask . WhenAll ( editsTasks ) ;
28+
29+ if ( results . Any ( x => ! x . Succeeded ) )
30+ messageNotifier . Notify (
31+ "Task editing has failed due to " +
32+ "an internal error. The modifications will be reverted. " +
33+ "Please, try again later." ) ;
34+
35+ if ( results . All ( x => ! x . Succeeded ) )
3936 RevertEdit ( taskBeingEdited , originalName , originalDescription ) ;
4037 } ) ;
4138 }
0 commit comments