public ActionResult <Estado> PutAnuncio(Guid id, Anuncio anuncio)
        {
            if (id != anuncio.Id)
            {
                return(BadRequest());
            }

            try
            {
                var result = _anuncioBusiness.Update(anuncio);

                if (result.IsValid)
                {
                    _unitOfWork.Commit();

                    return(CreatedAtAction("GetAnuncio", new { id = anuncio.Id }, anuncio));
                }

                _unitOfWork.Rollback();
                return(BadRequest(result.ErrorMessage));
            }
            catch (DbUpdateConcurrencyException)
            {
                _unitOfWork.Rollback();

                if (!AnuncioExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
        }
        public IActionResult Put([FromBody] AnuncioDTO anuncio)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.Values.SelectMany(e => e.Errors)));
            }

            try
            {
                if (anuncio == null)
                {
                    return(BadRequest());
                }
                var updatedanuncio = _business.Update(anuncio);
                if (updatedanuncio == null)
                {
                    return(BadRequest());
                }
                return(new OkObjectResult(updatedanuncio));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
示例#3
0
 public IActionResult Put([FromBody] AnuncioDTO anuncio)
 {
     try
     {
         if (anuncio == null)
         {
             return(BadRequest());
         }
         var updatedAnuncio = _anuncioBusiness.Update(anuncio);
         if (updatedAnuncio == null)
         {
             return(BadRequest());
         }
         return(new OkObjectResult(updatedAnuncio));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.ToString()));
     }
 }
        public IActionResult AlterarAnuncio([FromBody] Anuncio anuncio)
        {
            if (anuncio == null)
            {
                return(BadRequest());
            }

            // Verifica se Esixte Marcas Cadastras
            var marcas = _marcaBusiness.PesquisaTodasMarcas();

            if (marcas == null || marcas.Count == 0)
            {
                return(NotFound("Marcas não Encontradas"));
            }

            if (anuncio.Marca.Trim().Length > 45)
            {
                return(NotFound("Marca não pode ter mais de 45 digitos"));
            }

            //Verica se a Marca Especifica Existe
            Marca marca = _marcaBusiness.RetornaMarca(anuncio.Marca.ToString());

            if (marca == null)
            {
                return(NotFound($"Marca {anuncio.Marca} não Encontrada!"));
            }

            //Pegando o ID da Marca Selecionada e Verifica se Existe Modelos Cadastrados
            var modelos = _modeloBusiness.PesquisaTodosModelos(marca.ID);

            if (modelos == null || modelos.Count == 0)
            {
                return(NotFound("Modelos não Encontradas"));
            }

            // Retorna o Modelo Selecionado
            Modelo modelo = _modeloBusiness.RetornaModelo(marca.ID, anuncio.Modelo);

            if (modelo == null)
            {
                return(NotFound($"Modelo {anuncio.Modelo} não Encontrado!"));
            }

            if (anuncio.Modelo.Trim().Length > 45)
            {
                return(NotFound("Modelo não pode ter mais de 45 digitos"));
            }

            //Pesquisa Versões de Veiculos
            var versoes = _versaoBusiness.PesquisaTodoasVersoes(modelo.ID);

            if (versoes == null || versoes.Count == 0)
            {
                return(NotFound("Versões não Encontradas"));
            }

            Versao versao = _versaoBusiness.RetornaVersao(modelo.ID, anuncio.Versao);

            if (versao == null)
            {
                return(NotFound($"Versão {anuncio.Versao} não Encontrada!"));
            }

            if (anuncio.Versao.Trim().Length > 45)
            {
                return(NotFound("Versão não pode ter mais de 45 digitos"));
            }

            return(new ObjectResult(_anuncioBusiness.Update(anuncio)));
        }