public async Task DeleteItemAsync(int id) { VerifyManagementPermission(); if (await _avatarItemRepository.IsLastInRequiredLayer(id)) { throw new GraException("Required layer needs an available item."); } await _avatarItemRepository.RemoveUserItemAsync(id); _avatarItemRepository.RemoveUserUnlockedItem(id); _avatarElementRepository.RemoveByItemIdAsync(id); _avatarBundleRepository.RemoveItemFromBundles(id); await _avatarItemRepository.RemoveAsync(GetClaimId(ClaimType.UserId), id); await _avatarItemRepository.SaveAsync(); }