Beispiel #1
0
        public IComandResult Alterar([FromBody] AlterarFuncionarioCommands command)
        {
            try
            {
                var result = (ComandResult)_funcionarioHandler.Handle(command);

                this.Commit(result.Success);
                return(result);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
        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 }));
        }