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