public async Task <IActionResult> Create([Bind("CarroId,Nome,Marca,Foto,PrecoDiaria")] Carro carro, IFormFile arquivo)
        {
            if (ModelState.IsValid)
            {
                if (arquivo != null)
                {
                    _logger.LogInformation("Criando link da pasta");
                    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;
                    }
                }
                _logger.LogInformation("Salvando novo carro");

                await _carroRepositorio.Inserir(carro);

                return(RedirectToAction(nameof(Index)));
            }
            _logger.LogError("Informações inválidas");
            return(View(carro));
        }
Esempio n. 2
0
        public async Task <IActionResult> Create([Bind("CarroId,Nome,Marca,Foto,PrecoDiaria")] Carro carro, IFormFile arquivo)
        {
            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;
                    }
                }

                await _carroRepositorio.Inserir(carro);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(carro));
        }