protected override async Task ManageRepositoryAsync(IDeleteContactCommand command, IRefreshableToken token) { NullGuard.NotNull(command, nameof(command)) .NotNull(token, nameof(token)); string externalIdentifier = command.ExternalIdentifier; if (string.IsNullOrWhiteSpace(externalIdentifier)) { return; } IContact existingContact = await command.GetExistingContactAsync(MicrosoftGraphRepository, ContactRepository); if (existingContact == null) { return; } string existingExternalIdentifier = existingContact.ExternalIdentifier; if (string.IsNullOrWhiteSpace(existingExternalIdentifier)) { return; } await ContactRepository.DeleteContactSupplementAsync(existingContact); await MicrosoftGraphRepository.DeleteContactAsync(token, existingExternalIdentifier); }