private async void deleteTextToSpeechEntry(VocalizedViewModel vmToRemove) { var result = false; if (vmToRemove.TextToSpeech.Id != 0) { result = await textToSpeechRepository.Delete(vmToRemove.TextToSpeech.Id); } else { result = await textToSpeechRepository.DeleteByAudioFile(vmToRemove.TextToSpeech.AudioFile); } if (result) { var remaining = VocalizedViewModels.Where(viewModel => viewModel != vmToRemove); VocalizedViewModels.Clear(); VocalizedViewModels.AddRange(remaining); vmToRemove.Dispose(); fileManagementService.Delete(vmToRemove.TextToSpeech.AudioFile); } }