public async Task <IActionResult> Edit(FabricantesViewModel fabricanteViewModel) { var fabricante = new Fabricante { Nome = fabricanteViewModel.Nome, CNPJ = fabricanteViewModel.CNPJ, Endereco = fabricanteViewModel.Endereco, Id = fabricanteViewModel.Id }; var fabricanteValidator = new FabricanteValidator(); if (!fabricanteValidator.IsCnpj(fabricanteViewModel.CNPJ)) { ModelState.AddModelError("CNPJ", "O CNPJ é inválido."); } var(exists, errorExists) = await fabricanteRepository.ExistsAsync(fabricante); if (exists) { foreach (var error in errorExists) { ModelState.AddModelError(error.Key, error.Value); } } if (ModelState.IsValid) { try { await fabricanteRepository.UpdateFabricanteAsync(fabricante); } catch (DbUpdateConcurrencyException) { if (!await fabricanteRepository.FabricanteExists(fabricanteViewModel.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(fabricanteViewModel)); }