public FuncionarioBuilder WithEmpresa()
        {
            Funcionario.Empresa = new EmpresaBuilder()
                                  .WithId(1)
                                  .Build();

            Funcionario.AlterarEmpresaId(Funcionario.Empresa.Id);

            return(this);
        }
        public Funcionario Build()
        {
            var funcionario = new Funcionario(Funcionario.Id,
                                              Funcionario.Nome,
                                              Funcionario.Cpf,
                                              Funcionario.DataContratacao);

            funcionario.AlterarFuncionarioCargos(Funcionario.FuncionarioCargos);
            funcionario.AlterarEmpresaId(Funcionario.EmpresaId);
            return(funcionario);
        }
        public bool VincularEmpresa(int id, FuncionarioEmpresaDTO dto)
        {
            _funcionario = _funcionarioRepository.Get(f => f.Id == id);

            _validador.entidade = _funcionario;
            _validador.ValidarVinculacaoEmpresa(dto.EmpresaId);

            _funcionario.AlterarEmpresaId(dto.EmpresaId);

            if (notificationContext.HasNotifications)
                return false;

            _funcionarioRepository.Update(_funcionario);
            return true;
        }