/// <summary>
        /// Asynchrone methode voor het verwijderen van de lener bij kunstwerken waarvan de huurperiode verstreken is
        /// </summary>
        public async Task ReleaseArtPiecesAsync()
        {
            // haal alle kunstwerken op die beschikbaar zijn maar toch nog een lener hebben
            foreach (var artpiece in _dbcontext.NoviArtPieces.Include(a => a.Lessee).Where(a => a.AvailableFrom < DateTime.UtcNow && a.Lessee != null))
            {
                // verwijder de lener
                artpiece.Lessee = null;

                // logging
                _logger.LogInformation("Lessee automatically removed for artpiece with id: {0}", artpiece.Id);
            }
            // en verwerk in database
            await _dbcontext.SaveChangesAsync();
        }
        public async Task <IActionResult> DeleteArtPiece(int id)
        {
            // haal artpiece op uit database
            NoviArtPiece entity = await _dbcontext.NoviArtPieces.Include(a => a.Lesser).Where(a => a.Id == id).FirstOrDefaultAsync();

            NoviArtUser user = await _userManager.GetUserAsync(User);

            if (entity != null)
            {
                // controleer of gebruiker het object mag verwijderen
                if (user.Type != NoviUserType.Admin && user.Type != NoviUserType.Root && entity.Lesser.Id != user.Id)
                {
                    return(View("Message", new MessageViewModel {
                        Message = Localization.MSG_UNAUTHORIZED_REMOVAL, ReturnToController = "Manage", ReturnToAction = "Manage"
                    }));
                }

                // controleer of het object momenteel niet verhuurd is
                if (!entity.Available)
                {
                    return(View("Message", new MessageViewModel {
                        Message = Localization.MSG_ARTPIECE_LOCKED, ReturnToController = "Manage", ReturnToAction = "Manage"
                    }));
                }

                // verwijder item uit database
                _dbcontext.NoviArtPieces.Remove(entity);
                await _dbcontext.SaveChangesAsync();

                // logging
                _logger.LogInformation("A user deleted artpiece with id: {0}", id);
            }

            // en herlaadt pagina
            return(RedirectToAction("Manage"));
        }