예제 #1
0
        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"));
        }
예제 #2
0
        // 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());
        }