public Boolean AtualizarFuncionario(MaskedTextBox CPF, TextBox nome, MaskedTextBox contato, DateTimePicker dataNascimento,
                                            TextBox email, TextBox cargo)
        {
            bool statusAtualizacao = false;

            if (funcionarioService.ValidarCampos(CPF, nome, contato, dataNascimento, email, cargo))
            {
                Funcionario funcionario = new Funcionario();
                funcionario.CPF            = CPF.Text;
                funcionario.Nome           = nome.Text;
                funcionario.Contato        = contato.Text;
                funcionario.DataNascimento = dataNascimento.Value;
                funcionario.Email          = email.Text;
                funcionario.Cargo          = cargo.Text;

                statusAtualizacao = funcionario.AtualizarFuncionario();

                if (statusAtualizacao)
                {
                    MessageBox.Show("Funcionário atualizado com sucesso!!", "Sucesso",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            return(statusAtualizacao);
        }
        public void Handle(EditarFuncionarioCommand cmd)
        {
            Funcionario funcionario = FuncionarioExistente(cmd.Id, cmd.MessageType);

            if (funcionario != null)
            {
                funcionario.AtualizarFuncionario(cmd.Nome, cmd.Email, cmd.Telefone, cmd.Facebook, cmd.Cargo, cmd.Sexo, cmd.EquipeId);

                if (!funcionario.IsValid())
                {
                    NotificarValidacoesErro(funcionario.ValidationResult);
                    return;
                }

                _repository.AlterarFuncionario(funcionario);

                if (Commit())
                {
                    _mediator.PublicarEvento(new FuncionarioAtualizadoEvent(funcionario.Id, funcionario.Nome, funcionario.Email, funcionario.Telefone, funcionario.Facebook, funcionario.Cargo, funcionario.Sexo, funcionario.EquipeId));
                }
            }
        }