Example #1
0
        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));
        }
Example #2
0
        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));
        }