/// <summary> /// Updates return date of given rental /// </summary> /// <param name="rentalId">Rental id</param> /// <param name="request">Update request with date to set</param> /// <returns>True if successful</returns> public async Task <bool> UpdateReturnDate(Guid rentalId, RentalUpdateDateRequest request) { var rental = await RentalRepo .GetAll() .FirstOrDefaultAsync(r => r.Id == rentalId); var cartridgeCopy = await CartridgeCopyRepo .GetAll() .FirstOrDefaultAsync(cc => cc.Id == rental.CartridgeCopyId); if (rental == null) { return(false); } rental.Returned = request.Date; if (request.Date == null) { cartridgeCopy.Avaible = false; } else { cartridgeCopy.Avaible = true; } CartridgeCopyRepo.Update(cartridgeCopy); await CartridgeCopyRepo.SaveChangesAsync(); await RentalRepo.SaveChangesAsync(); return(true); }