public async Task Remove(RemoveRoleCommand command) { command.Validate(); if (AddNotifications(command)) { return; } LedgerIdentityRole role = await GetByName(command.RoleName); if (NotifyNullRole(role)) { return; } bool canDelete = await CanDeleteRole(role); if (!canDelete) { AddNotification("Falha ao remover", "Não é possível remover essa role enquanto ouver usuários nela."); return; } IdentityResult result = await _roleManager.DeleteAsync(role); if (result.Succeeded) { await Publish(new RoleRemovedIntegrationEvent(role.Name)); } else { AddNotifications(result); } }