public IComandResult Handle(AlterarFuncionarioCommands comand) { var _r = new List <string>(); //verificar se tem notificação no comand if (!comand.IsValid()) { return(new ComandResult(false, "Por favor corrija os campos abaixo", comand.Notifications)); } var funcionario = _repository.Existe(comand.Id); if (funcionario != null) { funcionario.Alterar(comand.Nome.ToUpper(), comand.SobreNome.ToUpper(), comand.DataNascimento, comand.Sexo, comand.Nacionalidade, comand.Natural); funcionario.SetarCelular(comand.Celular); funcionario.SetarEmail(comand.Email); funcionario.SetarRgCpf(comand.Rg, comand.Cpf); funcionario.SetarTelefoneFixo(comand.TelefoneFixo); var r = _repository.Alterar(funcionario); var dadoPessoal = _dadoPessoalRepositorio.BuscarPorId(comand.DadoPessoalId); if (dadoPessoal != null) { dadoPessoal.Alterar(comand.Rua, comand.Numero, comand.Bairro, comand.Uf, comand.Cidade, comand.Cep, comand.Complemento); _dadoPessoalRepositorio.Alterar(dadoPessoal); } var _usuario = _usuarioRepositorio.Existe(funcionario.UsuarioId); if (_usuario != null) { _usuario.SetarTipoUsuario(comand.TipoUsuario); _usuarioRepositorio.Alterar(_usuario); } } else { return(new ComandResult(false, "Funcionário não existe,tente novamente!!", new { _r })); } return(new ComandResult(true, "Dados Alterados com Sucesso!!", new { _r })); }