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);
            }
        }