//[ValidateAntiForgeryToken] public virtual async Task <ResponseViewModel <Carro> > RegistrarCarro(Carro carro) { try { if (ModelState.IsValid) { using (ClientesController clientesController = new ClientesController()) { var retornoCarro = await Cadastrar(carro); var cliente = await clientesController.Detalhes(carro.IdCliente); cliente.Data.TemCarro = true; var retornoCliente = await clientesController.Editar(cliente.Data); var response = new ResponseViewModel <Carro> { Data = retornoCarro.Data, Sucesso = true, Mensagem = "Entidade Cadastrada com sucesso." }; return(response); }; } else { var response = new ResponseViewModel <Carro> { Data = carro, Sucesso = false, Mensagem = "Erro na validação da entidade." }; return(response); } } catch (Exception e) { return(new ResponseViewModel <Carro>() { Data = null, Serializado = true, Sucesso = false, Mensagem = "Não foi possivel atender a sua solicitação: " + e.Message }); } }
//[ValidateAntiForgeryToken] public virtual async Task <ResponseViewModel <Carro> > RegistrarCarro(Carro carro) { try { if (ModelState.IsValid) { using (ClientesController clientesController = new ClientesController()) { var cliente = await clientesController.Detalhes(carro.IdCliente); if (cliente.Data.TemCarro) { var carroAtual = db.Carros.FirstOrDefault(x => x.IdCliente.Equals(carro.IdCliente)); carroAtual.IdMarca = carro.IdMarca; carroAtual.Modelo = carro.Modelo; carroAtual.Placa = carro.Placa; carroAtual.Porte = carro.Porte; var retornoCarro = await Editar(carroAtual); return(new ResponseViewModel <Carro> { Data = null, Sucesso = true, Serializado = true, Mensagem = "Car successfully updated." }); } else { cliente.Data.TemCarro = true; var retornoCarro = await Cadastrar(carro); var retornoCliente = await clientesController.Editar(cliente.Data); return(new ResponseViewModel <Carro> { Data = null, Sucesso = true, Serializado = true, Mensagem = "Car successfully registered." }); } }; } else { return(new ResponseViewModel <Carro> { Data = carro, Sucesso = false, Mensagem = "Error in entity validation." }); } } catch (Exception e) { return(new ResponseViewModel <Carro>() { Data = null, Serializado = true, Sucesso = false, Mensagem = "We were unable to fulfill your request: " + e.Message }); } }