public void Seu_Email_Deve_Ser_Unico() { var emailJaExistente = "*****@*****.**"; var gerenteUsuarios = new GerenteUsuarios(ctx); try { var usuariaParaEditar = ctx.Usuarios.Single(u => u.Id == 2); usuariaParaEditar.Email = emailJaExistente; gerenteUsuarios.ValidarAlterarUsuario(usuariaParaEditar); Assert.Fail("Deveria ter falhado"); } catch (RegrasDeNegocioException rne) { var msg = rne.Erros.Where(x => x.Mensagem.Contains("já existe")).FirstOrDefault(); Assert.IsNotNull(msg); } }
public ActionResult Editar(UsuarioVM vm) { using (IVIADbContext contexto = new IVIADbContext()) { GerenteUsuarios gerente = new GerenteUsuarios(contexto); Usuario usuario = new Usuario(); usuario.Id = vm.Id; usuario.Nome = vm.Nome; usuario.Email = vm.Email; usuario.Senha = vm.Senha; try { gerente.ValidarAlterarUsuario(usuario); contexto.Entry<Usuario>(usuario).State = System.Data.EntityState.Modified; contexto.SaveChanges(); RedirectToAction("Index"); } catch (RegrasDeNegocioException ex) { ex.CopiarPara(ModelState); vm.Mensagem = "Erro"; } return View(vm); } }