public async Task <IActionResult> Edit(int id, [Bind("CarroId,Nome,Marca,Foto,PrecoDiaria")] Carro carro, IFormFile arquivo) { if (id != carro.CarroId) { return(NotFound()); } if (ModelState.IsValid) { if (arquivo != null) { var linkUpload = Path.Combine(_hostingEnv.WebRootPath, "Imagens"); using (FileStream fileStream = new FileStream(Path.Combine(linkUpload, arquivo.FileName), FileMode.Create)) { _logger.LogInformation("Tentando criar o arquivo para foto..."); await arquivo.CopyToAsync(fileStream); carro.Foto = "~/Imagens/" + arquivo.FileName; } return(RedirectToAction("Index")); } else { carro.Foto = TempData["FotoCarro"].ToString(); } await _carroRepositorio.Atualizar(carro); return(RedirectToAction("Index")); } return(View(carro)); }
public async Task <IActionResult> Edit(int id, [Bind("CarroId,Nome,Marca,Foto,Diaria")] Carro carro, IFormFile arquivo) { if (id != carro.CarroId) { _logger.LogError("Carro não encontrado"); return(NotFound()); } if (ModelState.IsValid) { if (arquivo != null) { _logger.LogInformation("Criando link para imagem"); var linkUpload = Path.Combine(_hostingEnvironment.WebRootPath, "Imagens"); using (FileStream fileStream = new FileStream(Path.Combine(linkUpload, arquivo.FileName), FileMode.Create)) { _logger.LogInformation("copiando arquivo para pasta"); await arquivo.CopyToAsync(fileStream); _logger.LogInformation("arquivo copiado"); carro.Foto = $"~/Imagens/{arquivo.FileName}"; } } else { carro.Foto = TempData["FotoCarro"].ToString(); } _logger.LogInformation("Atualizando carro"); await _carroRepositorio.Atualizar(carro); return(RedirectToAction(nameof(Index))); } return(View(carro)); }