protected override async void OnDeleteExecute() { if (await _recipientRepository.HasPaymentsAsync(Recipient.ID)) { await MessageDialogService.ShowInfoDialogAsync($"{Recipient.Name} cannot be deleted because it has corresponding payments."); return; } MessageDialogResult result = await MessageDialogService.ShowOkCancelDialogAsync( $"Do you really want to delete the recipient {Recipient.Name}?", "Question"); if (result == MessageDialogResult.Ok) { _recipientRepository.Remove(Recipient.Model); await _recipientRepository.SaveAsync(); RaiseDetailDeletedEvent(Recipient.ID); } }