private async Task <string> SalveArquivoAsync(LeilaoImagemRequest model)
        {
            var extensao = model.Imagem.FileName.Split(".");

            string novoNome          = Guid.NewGuid().ToString() + "." + extensao[1];
            string diretorio         = "/" + _configuration.GetValue <string>("DiretorioImagens");
            string novoNomeDiretorio = diretorio + novoNome;

            if (!Directory.Exists(_environment.WebRootPath + diretorio))
            {
                Directory.CreateDirectory(_environment.WebRootPath + diretorio);
            }

            if (System.IO.File.Exists(_environment.WebRootPath + novoNomeDiretorio))
            {
                throw new ArgumentException("Um arquivo com este novo já existe!");
            }

            using (FileStream filestream = System.IO.File.Create(_environment.WebRootPath + novoNomeDiretorio))
            {
                await model.Imagem.CopyToAsync(filestream);

                filestream.Flush();
            }

            return(_configuration.GetValue <string>("DiretorioImagens") + novoNome);
        }
        public async Task <IActionResult> Incluir([FromForm] LeilaoImagemRequest model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    string arquivo = await this.SalveArquivoAsync(model);

                    var usuarioAutenticado = new UsuarioAutenticado(User);

                    var leilaoImagem = await _leilaoImagemService.InsertAsync(model.ToLeilaoImagem(usuarioAutenticado.Id, arquivo));

                    return(Created(leilaoImagem.Url, new LeilaoImagemResponse(leilaoImagem, _urlHelper, usuarioAutenticado)));
                }

                return(BadRequest(ErrorResponse.FromModelState(ModelState)));
            }
            catch (Exception e)
            {
                return(BadRequest(ErrorResponse.From(e)));
            }
        }