public async Task <IActionResult> Delete(Car car) { try { if (await _context.Cars.AnyAsync(c => c.Id == car.Id)) { var imagesDirectory = $"{_appEnvironment.WebRootPath}/img/cars/{car.Id}"; if (Directory.Exists(imagesDirectory)) { DirectoryInfo dirInfo = new(imagesDirectory); dirInfo.Delete(true); var carImages = await _context.CarImages.Where(ci => ci.CarId == car.Id).ToListAsync(); if (carImages.Count > 0) { _context.RemoveRange(carImages); } } _context.Cars.Remove(car); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } catch (Exception) { return(RedirectToAction(nameof(Delete), new { id = car.Id, linkedEntitiesError = true })); } //var car = await _context.Cars.FindAsync(id); //var imagesDirectory = $"{_appEnvironment.WebRootPath}/img/cars/{id}"; //if (Directory.Exists(imagesDirectory)) { // DirectoryInfo dirInfo = new(imagesDirectory); // dirInfo.Delete(true); // var carImages = await _context.CarImages.Where(ci => ci.CarId == id).ToListAsync(); // if (carImages.Count > 0) { // _context.RemoveRange(carImages); // } //} //_context.Cars.Remove(car); //await _context.SaveChangesAsync(); //return RedirectToAction(nameof(Index)); }