public ActionResult Alterar(int id, VeiculoViewModel veiculo) { if (!ModelState.IsValid) { ViewBag.IdFabricante = MontarListaFabricantes(veiculo.IdFabricante); ViewBag.IdTipoDeVeiculo = MontarListaTiposDeVeiculo(veiculo.IdTipoDeVeiculo); return(View(veiculo)); } var veiculoAlterado = servicoVeiculos.ObterPorId(id); if (veiculoAlterado == null) { return(HttpNotFound()); } veiculoAlterado = Mapper.Map <VeiculoViewModel, Veiculo>(veiculo, veiculoAlterado); if (veiculoAlterado.Fabricante.Id != veiculo.IdFabricante) { veiculoAlterado.Fabricante = servicoFabricantes.ObterPorId(veiculo.IdFabricante); } if (veiculoAlterado.Tipo.Id != veiculo.IdTipoDeVeiculo) { veiculoAlterado.Tipo = servicoTipos.ObterPorId(veiculo.IdTipoDeVeiculo); } servicoVeiculos.Atualizar(veiculoAlterado); TempData["sucesso"] = "Alterado com sucesso!"; return(RedirectToAction("Index")); }
// PUT api/veiculos/5 public IHttpActionResult Put(int id, VeiculoModel veiculo) { if (!ModelState.IsValid) { return(BadRequest()); } var veiculoAlterado = servicoVeiculos.ObterPorId(id); if (veiculoAlterado == null) { return(NotFound()); } veiculoAlterado = Mapper.Map <VeiculoModel, Veiculo>(veiculo, veiculoAlterado); if (veiculoAlterado.Fabricante.Id != veiculo.Fabricante.id) { veiculoAlterado.Fabricante = servicoFabricantes.ObterPorId(veiculo.Fabricante.id); } if (veiculoAlterado.Tipo.Id != veiculo.Tipo.id) { veiculoAlterado.Tipo = servicoTipos.ObterPorId(veiculo.Tipo.id); } servicoVeiculos.Atualizar(veiculoAlterado); return(Ok()); }